Package org.jdesktop.swingx.tree
Class TreeModelSupport
java.lang.Object
org.jdesktop.swingx.tree.TreeModelSupport
Support for change notification, usable by
TreeModel
s.
The changed/inserted/removed is expressed in terms of a TreePath
,
it's up to the client model to build it as appropriate.
This is inspired by AbstractTreeModel
from Christian Kaufhold,
www.chka.de.
TODO - implement and test precondition failure of added/removed notification- Author:
- JW
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTreeModelSupport
(TreeModel model) Creates the support class for the givenTreeModel
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
fireChildAdded
(TreePath parentPath, int index, Object child) Notifies registered TreeModelListeners that the child has been added to the the node identified by the given parent path at the given position.void
fireChildChanged
(TreePath parentPath, int index, Object child) Notifies registered TreeModelListeners that the given child of the node identified by the given parent path has been modified.void
fireChildRemoved
(TreePath parentPath, int index, Object child) Notifies registered TreeModelListeners that the child has been removed from the node identified by the given parent path from the given position.void
fireChildrenAdded
(TreePath parentPath, int[] indices, Object[] children) Notifies registered TreeModelListeners that the given children have been added to the the node identified by the given parent path at the given locations.void
fireChildrenChanged
(TreePath parentPath, int[] indices, Object[] children) Notifies registered TreeModelListeners that the given children of the node identified by the given parent path have been modified.void
fireChildrenRemoved
(TreePath parentPath, int[] indices, Object[] children) Notifies registered TreeModelListeners that the given children have been removed to the the node identified by the given parent path from the given locations.void
Notifies registered TreeModelListeners that the tree's root has been replaced.void
firePathChanged
(TreePath path) Notifies registered TreeModelListeners that the the node identified by the given path has been modified.void
Call when a node has changed its leaf state.void
fireTreeStructureChanged
(TreePath subTreePath) Notifies registered TreeModelListeners that the structure below the node identified by the given path has been completely changed.void
-
Field Details
-
listeners
-
-
Constructor Details
-
TreeModelSupport
Creates the support class for the givenTreeModel
.- Parameters:
model
- the model to support- Throws:
NullPointerException
- ifmodel
isnull
-
-
Method Details
-
fireNewRoot
public void fireNewRoot()Notifies registered TreeModelListeners that the tree's root has been replaced. Can cope with a null root. -
firePathLeafStateChanged
Call when a node has changed its leaf state.PENDING: rename? Do we need it?
- Parameters:
path
- the path to the node with changed leaf state.
-
fireTreeStructureChanged
Notifies registered TreeModelListeners that the structure below the node identified by the given path has been completely changed.NOTE: the subtree path maybe null if the root is null. If not null, it must contain at least one element (the root).
- Parameters:
subTreePath
- the path to the root of the subtree whose structure was changed.- Throws:
NullPointerException
- if the path is not null but empty or contains null elements.
-
firePathChanged
Notifies registered TreeModelListeners that the the node identified by the given path has been modified.- Parameters:
path
- the path to the node that has been modified, must not be null and must not contain null path elements.
-
fireChildChanged
Notifies registered TreeModelListeners that the given child of the node identified by the given parent path has been modified. The parent path must not be null, nor empty nor contain null elements.- Parameters:
parentPath
- the path to the parent of the modified children.index
- the position of the childchild
- child node that has been modified, must not be null
-
fireChildrenChanged
Notifies registered TreeModelListeners that the given children of the node identified by the given parent path have been modified. The parent path must not be null, nor empty nor contain null elements. Note that the index array must contain the position of the corresponding child in the the children array. The indices must be in ascending order.The exception to these rules is if the root itself has been modified (which has no parent by definition). In this case the path must be the path to the root and both indices and children arrays must be null.
- Parameters:
parentPath
- the path to the parent of the modified children.indices
- the positions of the modified childrenchildren
- the modified children
-
fireChildAdded
Notifies registered TreeModelListeners that the child has been added to the the node identified by the given parent path at the given position. The parent path must not be null, nor empty nor contain null elements.- Parameters:
parentPath
- the path to the parent of added child.index
- the position of the added childrenchild
- the added child
-
fireChildRemoved
Notifies registered TreeModelListeners that the child has been removed from the node identified by the given parent path from the given position. The parent path must not be null, nor empty nor contain null elements.- Parameters:
parentPath
- the path to the parent of removed child.index
- the position of the removed children before the removalchild
- the removed child
-
fireChildrenAdded
Notifies registered TreeModelListeners that the given children have been added to the the node identified by the given parent path at the given locations. The parent path and the child array must not be null, nor empty nor contain null elements. Note that the index array must contain the position of the corresponding child in the the children array. The indices must be in ascending order.- Parameters:
parentPath
- the path to the parent of the added children.indices
- the positions of the added children.children
- the added children.
-
fireChildrenRemoved
Notifies registered TreeModelListeners that the given children have been removed to the the node identified by the given parent path from the given locations. The parent path and the child array must not be null, nor empty nor contain null elements. Note that the index array must contain the position of the corresponding child in the the children array. The indices must be in ascending order.- Parameters:
parentPath
- the path to the parent of the removed children.indices
- the positions of the removed children before the removalchildren
- the removed children
-
addTreeModelListener
-
getTreeModelListeners
-
removeTreeModelListener
-