Class LegacyCheckBoxTreeSelectionModel

java.lang.Object
javax.swing.tree.DefaultTreeSelectionModel
com.jidesoft.swing.LegacyCheckBoxTreeSelectionModel
All Implemented Interfaces:
Serializable, Cloneable, EventListener, TreeModelListener, TreeSelectionModel

public class LegacyCheckBoxTreeSelectionModel extends DefaultTreeSelectionModel implements TreeModelListener
Deprecated.
This class is deprecated and provided to support compatibility with LegacyTristateCheckBox. We will not provide support for this class. You likely want to use CheckBoxTreeSelectionModel.

CheckBoxTreeSelectionModel is a selection _model based on DefaultTreeSelectionModel and use in CheckBoxTree to keep track of the checked tree paths.

Author:
Santhosh Kumar T
See Also:
  • Field Details

  • Constructor Details

    • LegacyCheckBoxTreeSelectionModel

      public LegacyCheckBoxTreeSelectionModel(TreeModel model)
      Deprecated.
    • LegacyCheckBoxTreeSelectionModel

      public LegacyCheckBoxTreeSelectionModel(TreeModel model, boolean digIn)
      Deprecated.
  • Method Details

    • getModel

      public TreeModel getModel()
      Deprecated.
    • setModel

      public void setModel(TreeModel model)
      Deprecated.
    • isDigIn

      public boolean isDigIn()
      Deprecated.
      Gets the dig-in mode. If the CheckBoxTree is in dig-in mode, checking the parent node will check all the children. Correspondingly, getSelectionPaths() will only return the parent tree path. If not in dig-in mode, each tree node can be checked or unchecked independently
      Returns:
      true or false.
    • setDigIn

      public void setDigIn(boolean digIn)
      Deprecated.
      Sets the dig-in mode. If the CheckBoxTree is in dig-in mode, checking the parent node will check all the children. Correspondingly, getSelectionPaths() will only return the parent tree path. If not in dig-in mode, each tree node can be checked or unchecked independently
      Parameters:
      digIn - true to enable dig-in mode. False to disable it.
    • isPartiallySelected

      public boolean isPartiallySelected(TreePath path)
      Deprecated.
      Tests whether there is any unselected node in the subtree of given path.

      Inherited from JTree, the TreePath must be a path instance inside the tree model. If you populate a new TreePath instance on the fly, it would not work.

      Parameters:
      path - check if the path is partially selected.
      Returns:
      true if partially. Otherwise false.
    • isRowSelected

      public boolean isRowSelected(int row)
      Deprecated.
      Specified by:
      isRowSelected in interface TreeSelectionModel
      Overrides:
      isRowSelected in class DefaultTreeSelectionModel
    • isParentActuallySelected

      protected boolean isParentActuallySelected(TreePath path, TreePath parent)
      Deprecated.
      Check if the parent path is really selected.

      The default implementation is just return true. In filterable scenario, you could override this method to check more.

      Inherited from JTree, the TreePath must be a path instance inside the tree model. If you populate a new TreePath instance on the fly, it would not work.

      Parameters:
      path - the original path to be checked
      parent - the parent part which is closest to the original path and is selected
      Returns:
      true if the path is actually selected without any doubt. Otherwise false.
    • isPathSelected

      public boolean isPathSelected(TreePath path, boolean digIn)
      Deprecated.
      Tells whether given path is selected. if dig is true, then a path is assumed to be selected, if one of its ancestor is selected.

      Inherited from JTree, the TreePath must be a path instance inside the tree model. If you populate a new TreePath instance on the fly, it would not work.

      Parameters:
      path - check if the path is selected.
      digIn - whether we will check its descendants.
      Returns:
      true if the path is selected.
    • notifyPathChange

      protected void notifyPathChange(Vector changedPaths, TreePath oldLeadSelection)
      Deprecated.
      Overrides:
      notifyPathChange in class DefaultTreeSelectionModel
    • setSelectionPaths

      public void setSelectionPaths(TreePath[] pPaths)
      Deprecated.
      Overrides the method in DefaultTreeSelectionModel to consider digIn mode.

      Inherited from JTree, the TreePath must be a path instance inside the tree model. If you populate a new TreePath instance on the fly, it would not work.

      Specified by:
      setSelectionPaths in interface TreeSelectionModel
      Overrides:
      setSelectionPaths in class DefaultTreeSelectionModel
      Parameters:
      pPaths - the tree paths to be selected.
    • addSelectionPaths

      public void addSelectionPaths(TreePath[] paths)
      Deprecated.
      Overrides the method in DefaultTreeSelectionModel to consider digIn mode.

      Inherited from JTree, the TreePath must be a path instance inside the tree model. If you populate a new TreePath instance on the fly, it would not work.

      Specified by:
      addSelectionPaths in interface TreeSelectionModel
      Overrides:
      addSelectionPaths in class DefaultTreeSelectionModel
      Parameters:
      paths - the tree paths to be added to selection paths.
    • addSelectionPaths

      protected void addSelectionPaths(TreePath[] paths, boolean needCheckPathSelection)
      Deprecated.
      Add the selection paths.
      Parameters:
      paths - the paths to be added
      needCheckPathSelection - the flag to indicating if the path selection should be checked to improve performance
    • areSiblingsSelected

      protected boolean areSiblingsSelected(TreePath path)
      Deprecated.
      tells whether all siblings of given path are selected.

      Inherited from JTree, the TreePath must be a path instance inside the tree model. If you populate a new TreePath instance on the fly, it would not work.

      Parameters:
      path - the tree path
      Returns:
      true if the siblings are all selected.
    • removeSelectionPaths

      public void removeSelectionPaths(TreePath[] paths)
      Deprecated.
      Specified by:
      removeSelectionPaths in interface TreeSelectionModel
      Overrides:
      removeSelectionPaths in class DefaultTreeSelectionModel
    • removeSelectionPaths

      public void removeSelectionPaths(TreePath[] paths, boolean doFireEvent)
      Deprecated.
    • getChild

      protected Object getChild(Object node, int i)
      Deprecated.
      Get the child of node in the designated index.
      Parameters:
      node - the parent node
      i - the child index
      Returns:
      the child node
    • getChildrenCount

      protected int getChildrenCount(Object node)
      Deprecated.
      Get the children count
      Parameters:
      node - the parent node
      Returns:
      the children count of the parent node.
    • isSingleEventMode

      public boolean isSingleEventMode()
      Deprecated.
    • setSingleEventMode

      public void setSingleEventMode(boolean singleEventMode)
      Deprecated.
      Single event mode is a mode that always fires only one event when you select or deselect a tree node.

      Taking this tree as an example,

       A -- a
         |- b
         |- c
       
      Case 1: Assuming b and c are selected at this point, you click on a.
      • In non-single event mode, you will get select-A, deselect-b and deselect-c three events
      • In single event mode, you will only get select-a.

      Case 2: Assuming none of the nodes are selected, you click on A. In this case, both modes result in the same behavior.

      • In non-single event mode, you will get only select-A event.
      • In single event mode, you will only get select-A too.
      Case 3: Assuming b and c are selected and now you click on A.
      • In non-single event mode, you will get select-A event as well as deselect-b and deselect-c event.
      • In single event mode, you will only get select-A.
      As you can see, single event mode will always fire the event on the nodes you select. However it doesn't reflect what really happened inside the selection model. So if you want to get a complete picture of the selection state inside selection model, you should use DefaultTreeSelectionModel.getSelectionPaths() to find out. In non-single event mode, the events reflect what happened inside the selection model. So you can get a complete picture of the exact state without asking the selection model. The downside is it will generate too many events. With this option, you can decide which mode you want to use that is the best for your case.

      By default, singleEventMode is set to false to be compatible with the older versions that don't have this option.

      Parameters:
      singleEventMode - true or false.
    • notifyPathChange

      protected void notifyPathChange(TreePath[] changedPaths, boolean isNew, TreePath oldLeadSelection)
      Deprecated.
      Notifies listeners of a change in path. changePaths should contain instances of PathPlaceHolder.
      Parameters:
      changedPaths - the paths that are changed.
      isNew - is it a new path.
      oldLeadSelection - the old selection.
    • setBatchMode

      public void setBatchMode(boolean batchMode)
      Deprecated.
    • treeNodesChanged

      public void treeNodesChanged(TreeModelEvent e)
      Deprecated.
      Specified by:
      treeNodesChanged in interface TreeModelListener
    • treeNodesInserted

      public void treeNodesInserted(TreeModelEvent e)
      Deprecated.
      Specified by:
      treeNodesInserted in interface TreeModelListener
    • treeNodesRemoved

      public void treeNodesRemoved(TreeModelEvent e)
      Deprecated.
      Specified by:
      treeNodesRemoved in interface TreeModelListener
    • treeStructureChanged

      public void treeStructureChanged(TreeModelEvent e)
      Deprecated.
      Specified by:
      treeStructureChanged in interface TreeModelListener