Package VASSAL.configure
Class ConfigureTree
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTree
VASSAL.configure.ConfigureTree
- All Implemented Interfaces:
MouseListener,MouseMotionListener,ImageObserver,MenuContainer,PropertyChangeListener,Serializable,EventListener,Accessible,TreeSelectionListener,Scrollable
- Direct Known Subclasses:
ExtensionTree
public class ConfigureTree extends JTree implements PropertyChangeListener, MouseListener, MouseMotionListener, TreeSelectionListener
This is the Configuration Tree that appears in the Configuration window
when editing a VASSAL module. Each node in the tree structure is a
Configurable object, whose child nodes are obtained
via Configurable.getConfigureComponents().- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classConfigureTree.AdditionalComponentstatic interfaceConfigureTree.MutableConfigurers that add or remove their own children directly should implement the Mutable interface so that ConfigureTree can refresh the changed node.Nested classes/interfaces inherited from class javax.swing.JTree
JTree.AccessibleJTree, JTree.DropLocation, JTree.DynamicUtilTreeNode, JTree.EmptySelectionModel, JTree.TreeModelHandler, JTree.TreeSelectionRedirectorNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
Fields inherited from class javax.swing.JTree
ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCountFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors Constructor Description ConfigureTree(Configurable root, HelpWindow helpWindow)Creates new ConfigureTreeConfigureTree(Configurable root, HelpWindow helpWindow, EditorWindow editorWindow) -
Method Summary
Modifier and Type Method Description protected voidaddAction(JPopupMenu menu, Action a)static voidaddAdditionalComponent(Class<? extends Buildable> parent, Class<? extends Buildable> child)Record additional available components to add to the popup menu.protected ActionbuildAddAction(Configurable target, Class<? extends Buildable> newConfig)protected Enumeration<Action>buildAddActions(Configurable target)Deprecated, for removal: This API element is subject to removal in a future version.protected List<Action>buildAddActionsFor(Configurable target)protected ActionbuildCloneAction(Configurable target)protected ActionbuildCopyAction(Configurable target)protected ActionbuildCutAction(Configurable target)protected ActionbuildDeleteAction(Configurable target)protected ActionbuildEditAction(Configurable target)protected ActionbuildEditPiecesAction(Configurable target)protected ActionbuildHelpAction(Configurable target)protected ActionbuildImportAction(Configurable target)protected ActionbuildMassPieceLoaderAction(Configurable target)protected ActionbuildMoveAction(Configurable target)protected ActionbuildPasteAction(Configurable target)protected JPopupMenubuildPopupMenu(Configurable target)protected VASSAL.configure.ConfigureTree.RendererbuildRenderer()protected ActionbuildSearchAction(Configurable target)protected ActionbuildTranslateAction(Configurable target)protected DefaultMutableTreeNodebuildTreeNode(Configurable c)booleancanContainGamePiece(Configurable target)protected static voidchat(String text)protected ConfigurableconvertChild(Configurable parent, Configurable child)Some components need to be converted to a new type before insertion.protected voiddoKeyAction(String action)Handle main Edit menu selections/acceleratorsvoidexternalInsert(Configurable parent, Configurable child)Build an AddAction and execute it to request a new component from the userstatic StringgetConfigureName(Class<?> c)Returns the name of the class for display purposes.static StringgetConfigureName(Configurable c)JFramegetFrame()ActiongetHelpAction()protected ConfigurablegetParent(DefaultMutableTreeNode targetNode)protected ConfigurablegetParent(Configurable target)Find the parent Configurable of a specified ConfigurableStringgetSearchCmd()protected ConfigurablegetTarget(int x, int y)DefaultMutableTreeNodegetTreeNode(Configurable target)protected booleanhasChild(Configurable parent, Class<?> childClass)protected ConfigurableimportConfigurable()protected booleaninsert(Configurable parent, Configurable child, int index)protected booleanisAllowedChildClass(Configurable parent, Class<?> childClass)protected booleanisValidParent(Configurable parent, Configurable child)protected booleanisValidPasteTarget(Configurable target)protected voidmaybePopup(MouseEvent e)voidmouseClicked(MouseEvent e)voidmouseDragged(MouseEvent evt)voidmouseEntered(MouseEvent e)voidmouseExited(MouseEvent e)voidmouseMoved(MouseEvent e)voidmousePressed(MouseEvent e)voidmouseReleased(MouseEvent e)voidnodeUpdated(Configurable target)protected voidnotifyStateChanged(boolean changed)Tell our enclosing EditorWindow that we are now clean or dirty.voidpopulateEditMenu(EditorWindow ew)voidpropertyChange(PropertyChangeEvent evt)protected booleanremove(Configurable parent, Configurable child)protected voidupdateEditMenu()voidupdateGpIds(Configurable c)Allocate new PieceSlot Id's to any PieceSlot sub-componentsvoidvalueChanged(TreeSelectionEvent e)Tree selection changed, record info about the currently selected componentMethods inherited from class javax.swing.JTree
addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setDropMode, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, updateUIMethods 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, 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, updateMethods 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, validateTreeMethods 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 Details
-
nodes
-
copyData
-
cutData
-
helpWindow
-
editorWindow
-
selected
-
selectedRow
protected int selectedRow -
searchCmd
-
moveCmd
-
deleteCmd
-
pasteCmd
-
copyCmd
-
cutCmd
-
helpCmd
-
propertiesCmd
-
translateCmd
-
cutKey
-
copyKey
-
pasteKey
-
deleteKey
-
moveKey
-
searchKey
-
helpKey
-
propertiesKey
-
translateKey
-
cutAction
-
copyAction
-
pasteAction
-
deleteAction
-
moveAction
-
searchAction
-
propertiesAction
-
translateAction
-
helpAction
-
chatter
-
POPUP_MENU_FONT
-
additionalComponents
-
-
Constructor Details
-
ConfigureTree
Creates new ConfigureTree -
ConfigureTree
-
-
Method Details
-
chat
-
getFrame
-
buildRenderer
protected VASSAL.configure.ConfigureTree.Renderer buildRenderer() -
notifyStateChanged
protected void notifyStateChanged(boolean changed)Tell our enclosing EditorWindow that we are now clean or dirty.- Parameters:
changed- true = state is not dirty
-
getTarget
-
buildTreeNode
-
addAction
-
buildPopupMenu
-
buildSearchAction
- Returns:
- Search action - runs search dialog box, then searches
-
buildMoveAction
-
buildCutAction
-
buildCopyAction
-
buildPasteAction
-
isValidPasteTarget
-
convertChild
Some components need to be converted to a new type before insertion. Currently this is used to allow cut and paste of CardSlots and PieceSlots between Decks and GamePiece Palette components.- Parameters:
parent- Parent Configurablechild- Child Configurable- Returns:
- new Child
-
isAllowedChildClass
-
updateGpIds
Allocate new PieceSlot Id's to any PieceSlot sub-components- Parameters:
c- Configurable to update
-
buildImportAction
-
buildMassPieceLoaderAction
-
hasChild
-
buildAddActionsFor
-
buildAddActions
@Deprecated(since="2020-08-06", forRemoval=true) protected Enumeration<Action> buildAddActions(Configurable target)Deprecated, for removal: This API element is subject to removal in a future version.UsebuildAddActionsFor(Configurable)instead. -
buildAddAction
-
buildHelpAction
-
buildCloneAction
-
getParent
-
buildDeleteAction
-
buildEditPiecesAction
-
buildEditAction
-
buildTranslateAction
-
canContainGamePiece
-
remove
-
insert
-
propertyChange
- Specified by:
propertyChangein interfacePropertyChangeListener
-
getConfigureName
Returns the name of the class for display purposes. Reflection is used to callgetConfigureTypeName(), which should be a static method if it exists in the given class. (This is necessary because static methods are not permitted in interfaces.)- Parameters:
c- the class whose configure name will be returned- Returns:
- the configure name of the class
-
getConfigureName
-
importConfigurable
-
maybePopup
-
mousePressed
- Specified by:
mousePressedin interfaceMouseListener
-
mouseReleased
- Specified by:
mouseReleasedin interfaceMouseListener
-
getTreeNode
-
mouseDragged
- Specified by:
mouseDraggedin interfaceMouseMotionListener
-
isValidParent
-
mouseClicked
- Specified by:
mouseClickedin interfaceMouseListener
-
mouseEntered
- Specified by:
mouseEnteredin interfaceMouseListener
-
mouseExited
- Specified by:
mouseExitedin interfaceMouseListener
-
mouseMoved
- Specified by:
mouseMovedin interfaceMouseMotionListener
-
nodeUpdated
-
externalInsert
Build an AddAction and execute it to request a new component from the user- Parameters:
parent- Target Parentchild- Type to add
-
getHelpAction
-
populateEditMenu
-
doKeyAction
Handle main Edit menu selections/accelerators- Parameters:
action- Edit command name
-
valueChanged
Tree selection changed, record info about the currently selected component- Specified by:
valueChangedin interfaceTreeSelectionListener
-
updateEditMenu
protected void updateEditMenu() -
getParent
Find the parent Configurable of a specified Configurable- Parameters:
target- target Configurable- Returns:
- parent
-
getSearchCmd
-
addAdditionalComponent
public static void addAdditionalComponent(Class<? extends Buildable> parent, Class<? extends Buildable> child)Record additional available components to add to the popup menu.- Parameters:
parent- Parent Classchild- Child Class
-
buildAddActionsFor(Configurable)instead.