org.crosswire.common.config.swing

## Class TreeConfigEditor

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - org.crosswire.common.config.swing.AbstractConfigEditor
          - - org.crosswire.common.config.swing.TreeConfigEditor

- All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, Accessible, ButtonPaneListener, ConfigEditor
  Direct Known Subclasses:
    AdvancedConfigEditor

      public class TreeConfigEditor
      extends AbstractConfigEditor

  A Configuration Editor that provides a tree for navigating to options.
  Author:
    Joe Walker
  See Also:
    `The GNU General Public License for details.`, Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `TreeConfigEditor.ConfigureTreeModel` A custom data model for the TreeConfig Tree
    `protected static class` | `TreeConfigEditor.Node` Simple Tree Node

    - ### 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static String` | `BLANK` The name of the blank tab
    `protected TreeConfigEditor.ConfigureTreeModel` | `ctm` The custom tree model for the tree
    `protected JPanel` | `deck` Contains the configuration panels
    `protected CardLayout` | `layout` Layout for the config panels
    `private static long` | `serialVersionUID` Serialization ID
    `protected JLabel` | `title` The title for the config panels
    `protected JTree` | `tree` The tree containing the Field sets

    - ### Fields inherited from class org.crosswire.common.config.swing.AbstractConfigEditor

      `al, cards, config, decks, dialog, fields, TASK_ICON_LARGE, TASK_ICON_SMALL`

    - ### 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

    Constructors
    Constructor and Description
    `TreeConfigEditor()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addChoice(org.crosswire.common.config.Choice model)` Add a Choice to our set of panels
    `protected void` | `initializeGUI()` Danger - this method is not called by the TreeConfigEditor constructor, it is called by the AbstractConfigEditor constructor so any field initializers will be called AFTER THIS METHOD EXECUTES so don't use field initializers.
    `protected void` | `removeChoice(org.crosswire.common.config.Choice model)` Add a Choice to our set of panels
    `void` | `selectCard()` Used to update the configuration panel whenever someone selects a different item form the tree on the LHS of the configuration dialog.
    `protected void` | `updateTree()` Updates to the tree that we need to do on any change

    - ### Methods inherited from class org.crosswire.common.config.swing.AbstractConfigEditor

      `applyPressed, cancelPressed, construct, hideDialog, localToScreen, okPressed, screenToLocal, showDialog`

    - ### 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### BLANK

          protected static final String BLANK

      The name of the blank tab
      See Also:
        Constant Field Values

    - #### tree

          protected JTree tree

      The tree containing the Field sets

    - #### ctm

          protected transient TreeConfigEditor.ConfigureTreeModel ctm

      The custom tree model for the tree

    - #### title

          protected JLabel title

      The title for the config panels

    - #### deck

          protected JPanel deck

      Contains the configuration panels

    - #### layout

          protected CardLayout layout

      Layout for the config panels

    - #### serialVersionUID

          private static final long serialVersionUID

      Serialization ID
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### TreeConfigEditor

          public TreeConfigEditor()

  - ### Method Detail

    - #### initializeGUI

          protected void initializeGUI()

      Danger - this method is not called by the TreeConfigEditor constructor, it is called by the AbstractConfigEditor constructor so any field initializers will be called AFTER THIS METHOD EXECUTES so don't use field initializers.
      Specified by:
        `initializeGUI` in class `AbstractConfigEditor`

    - #### updateTree

          protected void updateTree()

      Updates to the tree that we need to do on any change
      Specified by:
        `updateTree` in class `AbstractConfigEditor`

    - #### addChoice

          protected void addChoice(org.crosswire.common.config.Choice model)

      Add a Choice to our set of panels
      Overrides:
        `addChoice` in class `AbstractConfigEditor`

    - #### removeChoice

          protected void removeChoice(org.crosswire.common.config.Choice model)

      Add a Choice to our set of panels
      Overrides:
        `removeChoice` in class `AbstractConfigEditor`

    - #### selectCard

          public void selectCard()

      Used to update the configuration panel whenever someone selects a different item form the tree on the LHS of the configuration dialog.