Package net.sf.freecol.client.gui.option
Class OptionGroupUI
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- net.sf.freecol.client.gui.panel.MigPanel
-
- net.sf.freecol.client.gui.option.OptionGroupUI
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.TreeSelectionListener
,OptionUpdater
public final class OptionGroupUI extends MigPanel implements OptionUpdater, javax.swing.event.TreeSelectionListener
This panel displays an OptionGroup using a JTree.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
OptionGroupUI.OptionTree
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.JPanel
detailPanel
private boolean
editable
private OptionGroup
group
private GUI
gui
private static java.util.logging.Logger
logger
private java.util.Map<java.lang.String,javax.swing.tree.TreeNode[]>
optionGroupSelectionPath
private java.util.HashMap<java.lang.String,OptionUI>
optionUIs
private java.util.List<OptionUpdater>
optionUpdaters
private javax.swing.JTree
tree
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description OptionGroupUI(GUI gui, OptionGroup group, boolean editable)
The constructor that will add the items to this panel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addOptionUI(Option option, boolean editable)
private void
buildTree(OptionGroup group, javax.swing.tree.DefaultMutableTreeNode parent)
Builds the JTree which represents the navigation menu and then returns itOptionUI
getOptionUI(java.lang.String key)
javax.swing.JTree
getTree()
void
removeKeyStroke(javax.swing.KeyStroke keyStroke)
Removes the givenKeyStroke
from all of thisOptionGroupUI
's children.void
reset()
Reset with the value from the option.void
selectOption(java.lang.String key)
void
updateOption()
Updates the value of theOption
this object keeps.void
valueChanged(javax.swing.event.TreeSelectionEvent event)
This function analyses a tree selection event and calls the right methods to take care of building the requested unit's details.-
Methods inherited from class net.sf.freecol.client.gui.panel.MigPanel
getMigLayout, getUIClassID, removeNotify
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, 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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
logger
private static final java.util.logging.Logger logger
-
optionUpdaters
private final java.util.List<OptionUpdater> optionUpdaters
-
optionUIs
private final java.util.HashMap<java.lang.String,OptionUI> optionUIs
-
optionGroupSelectionPath
private final java.util.Map<java.lang.String,javax.swing.tree.TreeNode[]> optionGroupSelectionPath
-
detailPanel
private final javax.swing.JPanel detailPanel
-
tree
private final javax.swing.JTree tree
-
gui
private final GUI gui
-
group
private final OptionGroup group
-
editable
private final boolean editable
-
-
Constructor Detail
-
OptionGroupUI
public OptionGroupUI(GUI gui, OptionGroup group, boolean editable)
The constructor that will add the items to this panel.- Parameters:
gui
- The enclosingGUI
.group
- TheOptionGroup
encapsulate.editable
- Is the group editable.
-
-
Method Detail
-
getTree
public javax.swing.JTree getTree()
-
selectOption
public void selectOption(java.lang.String key)
-
buildTree
private void buildTree(OptionGroup group, javax.swing.tree.DefaultMutableTreeNode parent)
Builds the JTree which represents the navigation menu and then returns it- Parameters:
group
- TheOptionGroup
to build from.parent
- The tree to build onto.
-
valueChanged
public void valueChanged(javax.swing.event.TreeSelectionEvent event)
This function analyses a tree selection event and calls the right methods to take care of building the requested unit's details.- Specified by:
valueChanged
in interfacejavax.swing.event.TreeSelectionListener
- Parameters:
event
- The incoming TreeSelectionEvent.
-
removeKeyStroke
public void removeKeyStroke(javax.swing.KeyStroke keyStroke)
Removes the givenKeyStroke
from all of thisOptionGroupUI
's children.- Parameters:
keyStroke
- TheKeyStroke
to be removed.
-
getOptionUI
public OptionUI getOptionUI(java.lang.String key)
-
addOptionUI
private void addOptionUI(Option option, boolean editable)
-
updateOption
public void updateOption()
Updates the value of theOption
this object keeps.- Specified by:
updateOption
in interfaceOptionUpdater
-
reset
public void reset()
Reset with the value from the option.- Specified by:
reset
in interfaceOptionUpdater
-
-