Class 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
  • Field Details

  • Constructor Details

  • Method Details

    • chat

      protected static void chat​(String text)
    • getFrame

      public JFrame 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

      protected Configurable getTarget​(int x, int y)
    • buildTreeNode

      protected DefaultMutableTreeNode buildTreeNode​(Configurable c)
    • addAction

      protected void addAction​(JPopupMenu menu, Action a)
    • buildPopupMenu

      protected JPopupMenu buildPopupMenu​(Configurable target)
    • buildSearchAction

      protected Action buildSearchAction​(Configurable target)
      Returns:
      Search action - runs search dialog box, then searches
    • buildMoveAction

      protected Action buildMoveAction​(Configurable target)
    • buildCutAction

      protected Action buildCutAction​(Configurable target)
    • buildCopyAction

      protected Action buildCopyAction​(Configurable target)
    • buildPasteAction

      protected Action buildPasteAction​(Configurable target)
    • isValidPasteTarget

      protected boolean isValidPasteTarget​(Configurable target)
    • convertChild

      protected Configurable convertChild​(Configurable parent, Configurable child)
      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 Configurable
      child - Child Configurable
      Returns:
      new Child
    • isAllowedChildClass

      protected boolean isAllowedChildClass​(Configurable parent, Class<?> childClass)
    • updateGpIds

      public void updateGpIds​(Configurable c)
      Allocate new PieceSlot Id's to any PieceSlot sub-components
      Parameters:
      c - Configurable to update
    • buildImportAction

      protected Action buildImportAction​(Configurable target)
    • buildMassPieceLoaderAction

      protected Action buildMassPieceLoaderAction​(Configurable target)
    • hasChild

      protected boolean hasChild​(Configurable parent, Class<?> childClass)
    • buildAddActionsFor

      protected List<Action> buildAddActionsFor​(Configurable target)
    • 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.
    • buildAddAction

      protected Action buildAddAction​(Configurable target, Class<? extends Buildable> newConfig)
    • buildHelpAction

      protected Action buildHelpAction​(Configurable target)
    • buildCloneAction

      protected Action buildCloneAction​(Configurable target)
    • getParent

      protected Configurable getParent​(DefaultMutableTreeNode targetNode)
    • buildDeleteAction

      protected Action buildDeleteAction​(Configurable target)
    • buildEditPiecesAction

      protected Action buildEditPiecesAction​(Configurable target)
    • buildEditAction

      protected Action buildEditAction​(Configurable target)
    • buildTranslateAction

      protected Action buildTranslateAction​(Configurable target)
    • canContainGamePiece

      public boolean canContainGamePiece​(Configurable target)
    • remove

      protected boolean remove​(Configurable parent, Configurable child)
    • insert

      protected boolean insert​(Configurable parent, Configurable child, int index)
    • propertyChange

      public void propertyChange​(PropertyChangeEvent evt)
      Specified by:
      propertyChange in interface PropertyChangeListener
    • getConfigureName

      public static String getConfigureName​(Class<?> c)
      Returns the name of the class for display purposes. Reflection is used to call getConfigureTypeName(), 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

      public static String getConfigureName​(Configurable c)
    • importConfigurable

      protected Configurable importConfigurable()
    • maybePopup

      protected void maybePopup​(MouseEvent e)
    • mousePressed

      public void mousePressed​(MouseEvent e)
      Specified by:
      mousePressed in interface MouseListener
    • mouseReleased

      public void mouseReleased​(MouseEvent e)
      Specified by:
      mouseReleased in interface MouseListener
    • getTreeNode

      public DefaultMutableTreeNode getTreeNode​(Configurable target)
    • mouseDragged

      public void mouseDragged​(MouseEvent evt)
      Specified by:
      mouseDragged in interface MouseMotionListener
    • isValidParent

      protected boolean isValidParent​(Configurable parent, Configurable child)
    • mouseClicked

      public void mouseClicked​(MouseEvent e)
      Specified by:
      mouseClicked in interface MouseListener
    • mouseEntered

      public void mouseEntered​(MouseEvent e)
      Specified by:
      mouseEntered in interface MouseListener
    • mouseExited

      public void mouseExited​(MouseEvent e)
      Specified by:
      mouseExited in interface MouseListener
    • mouseMoved

      public void mouseMoved​(MouseEvent e)
      Specified by:
      mouseMoved in interface MouseMotionListener
    • nodeUpdated

      public void nodeUpdated​(Configurable target)
    • externalInsert

      public void externalInsert​(Configurable parent, Configurable child)
      Build an AddAction and execute it to request a new component from the user
      Parameters:
      parent - Target Parent
      child - Type to add
    • getHelpAction

      public Action getHelpAction()
    • populateEditMenu

      public void populateEditMenu​(EditorWindow ew)
    • doKeyAction

      protected void doKeyAction​(String action)
      Handle main Edit menu selections/accelerators
      Parameters:
      action - Edit command name
    • valueChanged

      public void valueChanged​(TreeSelectionEvent e)
      Tree selection changed, record info about the currently selected component
      Specified by:
      valueChanged in interface TreeSelectionListener
    • updateEditMenu

      protected void updateEditMenu()
    • getParent

      protected Configurable getParent​(Configurable target)
      Find the parent Configurable of a specified Configurable
      Parameters:
      target - target Configurable
      Returns:
      parent
    • getSearchCmd

      public String 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 Class
      child - Child Class