org.crosswire.bibledesktop.book
Class PassageSelectionPane

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.crosswire.bibledesktop.book.PassageSelectionPane
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class PassageSelectionPane
extends JPanel

A JPanel (or dialog) that presents a interactive GUI way to select passages.

Author:
Joe Walker [joe at eireneh dot com]
See Also:
for license details. The copyright to this program is held by it's authors., Serialized Form

Nested Class Summary
(package private)  class PassageSelectionPane.CustomDocumentEvent
          Update the list whenever the textbox changes
(package private)  class PassageSelectionPane.CustomPassageListener
          To update the textbox when the passage changes
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  ActionFactory actions
          The ActionFactory holding the actions used by this Component.
private static String ADD
           
private static String BAD_ICON
           
protected  boolean bailout
          If escape was pressed we don't want to update the parent
private static String BIBLE_TREE
           
private  boolean changing
          Prevent us getting in an event cascade loop
private static String DELETE
           
protected  JDialog dlgMain
           
private static String DONE
           
private static String GOOD_ICON
           
private  Icon icoBad
           
private  Icon icoGood
           
protected  KeyFactory keyf
          To convert strings into Biblical keys
private  JLabel lblMessage
           
private  JList lstSel
           
private  RangeListModel model
           
private  Passage ref
          The passage we are editing
private static String SELECTED_VERSES
           
private static long serialVersionUID
          Serialization ID
private  JTree treAll
           
private  JTextField txtDisplay
           
private static String VERSES
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PassageSelectionPane()
          Constructor for PassageSelectionPane.
 
Method Summary
protected  void copyListToText()
          Called whenever the passage changes to update the text box.
protected  void copyTextToList()
          Called whenever the text box changes to update the list
private  Component createDisplayPanel()
           
private  Component createMessageLabel()
           
private  Component createScrolledList(JLabel label)
           
private  Component createScrolledTree(JLabel label)
           
 void doAddVerse()
          Add from the tree to the list
 void doDeleteVerse()
          Remove the selected items from the list
 void doDone()
          Someone clicked on OK
private  void init()
          GUI init
(package private)  void listSelected()
          List selection has changed
private  void readObject(ObjectInputStream is)
          Serialization support.
private  void setValidPassage(boolean valid)
          Update the UI when the validity of the passage changes
 String showInDialog(Component parent, String title, boolean modal, String refstr)
          Open us in a new (optionally modal) dialog window
(package private)  void treeSelected()
          The tree selection has changed
private  void updateMessage(NoSuchKeyException ex)
          Write out an error message to the message label
private  void updateMessageSummary()
          Write out an summary message to the message label
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BIBLE_TREE

private static final String BIBLE_TREE
See Also:
Constant Field Values

ADD

private static final String ADD
See Also:
Constant Field Values

DELETE

private static final String DELETE
See Also:
Constant Field Values

SELECTED_VERSES

private static final String SELECTED_VERSES
See Also:
Constant Field Values

VERSES

private static final String VERSES
See Also:
Constant Field Values

DONE

private static final String DONE
See Also:
Constant Field Values

GOOD_ICON

private static final String GOOD_ICON
See Also:
Constant Field Values

BAD_ICON

private static final String BAD_ICON
See Also:
Constant Field Values

keyf

protected transient KeyFactory keyf
To convert strings into Biblical keys


bailout

protected boolean bailout
If escape was pressed we don't want to update the parent


changing

private boolean changing
Prevent us getting in an event cascade loop


ref

private Passage ref
The passage we are editing


actions

private transient ActionFactory actions
The ActionFactory holding the actions used by this Component.


icoGood

private transient Icon icoGood

icoBad

private transient Icon icoBad

treAll

private JTree treAll

lstSel

private JList lstSel

model

private RangeListModel model

txtDisplay

private JTextField txtDisplay

lblMessage

private JLabel lblMessage

dlgMain

protected JDialog dlgMain

serialVersionUID

private static final long serialVersionUID
Serialization ID

See Also:
Constant Field Values
Constructor Detail

PassageSelectionPane

public PassageSelectionPane()
Constructor for PassageSelectionPane.

Method Detail

init

private void init()
GUI init


createScrolledTree

private Component createScrolledTree(JLabel label)

createScrolledList

private Component createScrolledList(JLabel label)

createDisplayPanel

private Component createDisplayPanel()

createMessageLabel

private Component createMessageLabel()

copyListToText

protected void copyListToText()
Called whenever the passage changes to update the text box.


copyTextToList

protected void copyTextToList()
Called whenever the text box changes to update the list


setValidPassage

private void setValidPassage(boolean valid)
Update the UI when the validity of the passage changes

Parameters:
valid -

updateMessage

private void updateMessage(NoSuchKeyException ex)
Write out an error message to the message label

Parameters:
ex -

updateMessageSummary

private void updateMessageSummary()
Write out an summary message to the message label


showInDialog

public String showInDialog(Component parent,
                           String title,
                           boolean modal,
                           String refstr)
Open us in a new (optionally modal) dialog window

Parameters:
parent - The component to which to attach the new dialog
title - The title for the new dialog
modal -

doAddVerse

public void doAddVerse()
Add from the tree to the list


doDeleteVerse

public void doDeleteVerse()
Remove the selected items from the list


doDone

public void doDone()
Someone clicked on OK


treeSelected

final void treeSelected()
The tree selection has changed


listSelected

final void listSelected()
List selection has changed


readObject

private void readObject(ObjectInputStream is)
                 throws IOException,
                        ClassNotFoundException
Serialization support.

Parameters:
is -
Throws:
IOException
ClassNotFoundException

Copyright ยจ 2003-2007