Class DefaultTreeModel

java.lang.Object
com.globalmentor.beans.BoundPropertyObject
io.guise.framework.model.AbstractModel
io.guise.framework.model.DefaultTreeModel
All Implemented Interfaces:
com.globalmentor.beans.PropertyBindable, com.globalmentor.beans.PropertyConstrainable, ActionListenable, ActionModel, Model, TreeModel

public class DefaultTreeModel extends AbstractModel implements TreeModel
A default implementation of a tree model. If no root node is specified, the root node will be a dummy root node that will not be displayed. If a dummy root node is used, it will automatically be set to an expanded state.
Author:
Garret Wilson
See Also:
  • Field Summary

    Fields inherited from class com.globalmentor.beans.BoundPropertyObject

    NO_PROPERTY_CHANGE_LISTENERS, NO_VETOABLE_CHANGE_LISTENERS

    Fields inherited from interface io.guise.framework.model.TreeModel

    ROOT_NODE_PROPERTY
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor with a dummy root tree node.
    Root node constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Adds an action listener.
    protected void
    fireActionPerformed(int force, int option)
    Fires an action event to all registered action listeners.
    protected void
    Fires a given action event to all registered action listeners.
     
     
    void
    Performs the action with default force and default option.
    void
    performAction(int force, int option)
    Performs the action with the given force and option.
    void
    Removes an action listener.
    void
    setAllExpanded(boolean newAllExpanded)
    Sets whether all tree nodes are expanded.
    void
    setRootNode(TreeNodeModel<?> newRootNode)
    Sets the root node of the tree model.

    Methods inherited from class io.guise.framework.model.AbstractModel

    getEventListenerManager, getPlainText

    Methods inherited from class com.globalmentor.beans.BoundPropertyObject

    addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, addVetoableChangeListener, createPostponedPropertyChangeEvent, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, fireVetoableChange, getForwardPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, getPropertyChangeSupport, getRepeatPropertyChangeListener, getRepeatVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, getVetoableChangeSupport, hasPropertyChangeListeners, hasVetoableChangeListeners, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, removeVetoableChangeListener

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface com.globalmentor.beans.PropertyBindable

    addPropertyChangeListener, addPropertyChangeListener, getPropertyChangeListeners, getPropertyChangeListeners, hasPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener

    Methods inherited from interface com.globalmentor.beans.PropertyConstrainable

    addVetoableChangeListener, addVetoableChangeListener, getVetoableChangeListeners, getVetoableChangeListeners, hasVetoableChangeListeners, removeVetoableChangeListener, removeVetoableChangeListener
  • Constructor Details

    • DefaultTreeModel

      public DefaultTreeModel()
      Default constructor with a dummy root tree node.
    • DefaultTreeModel

      public DefaultTreeModel(TreeNodeModel<?> rootNode)
      Root node constructor.
      Parameters:
      rootNode - The root node of the tree model.
      Throws:
      NullPointerException - if the given root node is null.
  • Method Details

    • getRootNode

      public TreeNodeModel<?> getRootNode()
      Specified by:
      getRootNode in interface TreeModel
      Returns:
      The root node of the tree model.
    • setRootNode

      public void setRootNode(TreeNodeModel<?> newRootNode)
      Description copied from interface: TreeModel
      Sets the root node of the tree model. This is a bound property.
      Specified by:
      setRootNode in interface TreeModel
      Parameters:
      newRootNode - The new root node of the tree model.
      See Also:
    • setAllExpanded

      public void setAllExpanded(boolean newAllExpanded)
      Description copied from interface: TreeModel
      Sets whether all tree nodes are expanded. This method delegates to the root node TreeNodeModel.setAllExpanded(boolean).
      Specified by:
      setAllExpanded in interface TreeModel
      Parameters:
      newAllExpanded - true if all the nodes should be expanded, or false if they should be collapsed.
    • addActionListener

      public void addActionListener(ActionListener actionListener)
      Description copied from interface: ActionListenable
      Adds an action listener.
      Specified by:
      addActionListener in interface ActionListenable
      Parameters:
      actionListener - The action listener to add.
    • removeActionListener

      public void removeActionListener(ActionListener actionListener)
      Description copied from interface: ActionListenable
      Removes an action listener.
      Specified by:
      removeActionListener in interface ActionListenable
      Parameters:
      actionListener - The action listener to remove.
    • getActionListeners

      public Iterable<ActionListener> getActionListeners()
      Specified by:
      getActionListeners in interface ActionModel
      Returns:
      all registered action listeners.
    • performAction

      public void performAction()
      Description copied from interface: ActionModel
      Performs the action with default force and default option. An ActionEvent is fired to all registered ActionListeners. This method delegates to ActionModel.performAction(int, int).
      Specified by:
      performAction in interface ActionModel
    • performAction

      public void performAction(int force, int option)
      Description copied from interface: ActionModel
      Performs the action with the given force and option. An ActionEvent is fired to all registered ActionListeners.
      Specified by:
      performAction in interface ActionModel
      Parameters:
      force - The zero-based force, such as 0 for no force or 1 for an action initiated by from a mouse single click.
      option - The zero-based option, such as 0 for an event initiated by a mouse left button click or 1 for an event initiated by a mouse right button click.
    • fireActionPerformed

      protected void fireActionPerformed(int force, int option)
      Fires an action event to all registered action listeners. This method delegates to fireActionPerformed(ActionEvent).
      Parameters:
      force - The zero-based force, such as 0 for no force or 1 for an action initiated by from a mouse single click.
      option - The zero-based option, such as 0 for an event initiated by a mouse left button click or 1 for an event initiaged by a mouse right button click.
      See Also:
    • fireActionPerformed

      protected void fireActionPerformed(ActionEvent actionEvent)
      Fires a given action event to all registered action listeners.
      Parameters:
      actionEvent - The action event to fire.