qflib 0.98.1

de.qfs.lib.gui
Class AdapterTreeModel

java.lang.Object
  |
  +--de.qfs.lib.gui.AdapterTreeModel
All Implemented Interfaces:
javax.swing.tree.TreeModel

public class AdapterTreeModel
extends java.lang.Object
implements javax.swing.tree.TreeModel

A generalized tree model that implements the Swing TreeModel interface with the help of a TreeAdapter and has a number of extra features.

Since:
0.98.1
Version:
$Revision: 1.1 $
Author:
Gregor Schmid

Field Summary
protected  TreeAdapter adapter
          The TreeAdapter for the tree.
protected  java.util.Vector listeners
          The TreeModelListeners of the model.
protected  java.lang.Object root
          The root of the model.
 
Constructor Summary
AdapterTreeModel(TreeAdapter adapter, java.lang.Object root)
          Create a new AdapterTreeModel.
 
Method Summary
 void addTreeModelListener(javax.swing.event.TreeModelListener listener)
          Add a listener for the TreeModelEvent posted after the tree changes.
 TreeAdapter getAdapter()
          Get the TreeAdapter that implements the tree hierarchy for this model.
 java.lang.Object getChild(java.lang.Object parent, int index)
          Return the child of parent at index index in the parent's child array.
 int getChildCount(java.lang.Object parent)
          Return the number of children of parent.
 int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
          Return the index of child in parent.
 java.lang.Object getRoot()
          Get the root of the model.
 boolean isLeaf(java.lang.Object node)
          Test whether a node is a leaf node.
 void nodeInserted(java.lang.Object[] parentPath, int index)
          Notify the model that a node was inserted into the tree.
 void nodeRemoved(java.lang.Object[] parentPath, int index)
          Notify the model that a node was removed from the tree.
 void removeTreeModelListener(javax.swing.event.TreeModelListener listener)
          Remove a listener previously added with addTreeModelListener.
 void valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
          Notify the TreeModelListeners that a node has changed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

adapter

protected TreeAdapter adapter
The TreeAdapter for the tree.

root

protected java.lang.Object root
The root of the model.

listeners

protected java.util.Vector listeners
The TreeModelListeners of the model.
Constructor Detail

AdapterTreeModel

public AdapterTreeModel(TreeAdapter adapter,
                        java.lang.Object root)
Create a new AdapterTreeModel.
Parameters:
adapter - The adapter for the tree hierarchy.
root - The root node of the model.
Method Detail

getAdapter

public final TreeAdapter getAdapter()
Get the TreeAdapter that implements the tree hierarchy for this model.
Returns:
The TreeAdapter of the model.

addTreeModelListener

public void addTreeModelListener(javax.swing.event.TreeModelListener listener)
Add a listener for the TreeModelEvent posted after the tree changes.
Specified by:
addTreeModelListener in interface javax.swing.tree.TreeModel
Parameters:
listener - The listener to add.

removeTreeModelListener

public void removeTreeModelListener(javax.swing.event.TreeModelListener listener)
Remove a listener previously added with addTreeModelListener.
Specified by:
removeTreeModelListener in interface javax.swing.tree.TreeModel
Parameters:
listener - The listener to remove.

getChild

public java.lang.Object getChild(java.lang.Object parent,
                                 int index)
Return the child of parent at index index in the parent's child array.
Specified by:
getChild in interface javax.swing.tree.TreeModel
Parameters:
parent - The parent whose child to get.
index - The index to look at.
Returns:
The child object.

getChildCount

public int getChildCount(java.lang.Object parent)
Return the number of children of parent.
Specified by:
getChildCount in interface javax.swing.tree.TreeModel
Parameters:
parent - The parent.
Returns:
The number of children.

getIndexOfChild

public int getIndexOfChild(java.lang.Object parent,
                           java.lang.Object child)
Return the index of child in parent.
Specified by:
getIndexOfChild in interface javax.swing.tree.TreeModel
Parameters:
parent - The parent.
child - The child whose index to get.
Returns:
The index of the child.

getRoot

public java.lang.Object getRoot()
Get the root of the model.
Specified by:
getRoot in interface javax.swing.tree.TreeModel
Returns:
The root of the model.

isLeaf

public boolean isLeaf(java.lang.Object node)
Test whether a node is a leaf node.
Specified by:
isLeaf in interface javax.swing.tree.TreeModel
Parameters:
node - The node to test.
Returns:
True, if the node is a leaf node.

valueForPathChanged

public void valueForPathChanged(javax.swing.tree.TreePath path,
                                java.lang.Object newValue)
Notify the TreeModelListeners that a node has changed.
Specified by:
valueForPathChanged in interface javax.swing.tree.TreeModel
Parameters:
path - The path that has changed.
newValue - The new value of the node.

nodeInserted

public void nodeInserted(java.lang.Object[] parentPath,
                         int index)
Notify the model that a node was inserted into the tree.
Parameters:
parentPath - The parent of the inserted node.
index - The index at which the node was inserted.

nodeRemoved

public void nodeRemoved(java.lang.Object[] parentPath,
                        int index)
Notify the model that a node was removed from the tree.
Parameters:
parentPath - The parent of the removed node.
index - The index from which the node was removed.

qflib 0.98.1