Quaqua 7.4.2 2011-07-05

ch.randelshofer.quaqua.filechooser
Class SubtreeTreeModel

java.lang.Object
  extended by ch.randelshofer.quaqua.filechooser.SubtreeTreeModel
All Implemented Interfaces:
java.util.EventListener, javax.swing.event.TreeModelListener, javax.swing.tree.TreeModel

public class SubtreeTreeModel
extends java.lang.Object
implements javax.swing.tree.TreeModel, javax.swing.event.TreeModelListener

SubtreeTreeModel.

Version:
$Id: SubtreeTreeModel.java 363 2010-11-21 17:41:04Z wrandelshofer $
Author:
Werner Randelshofer

Field Summary
protected  java.beans.PropertyChangeSupport changeSupport
           
protected  javax.swing.event.EventListenerList listenerList
          We store all our listeners here.
 
Constructor Summary
SubtreeTreeModel(javax.swing.tree.TreeModel target)
          Creates a new instance.
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener l)
          Adds a property change listener.
 void addTreeModelListener(javax.swing.event.TreeModelListener l)
          Adds a listener for the TreeModelEvent posted after the tree changes.
protected  void fireTreeNodesChanged(java.lang.Object source, java.lang.Object[] path, int[] childIndices, java.lang.Object[] children)
          Notifies all listeners that have registered interest for notification on this event type.
protected  void fireTreeNodesInserted(java.lang.Object source, java.lang.Object[] path, int[] childIndices, java.lang.Object[] children)
          Notifies all listeners that have registered interest for notification on this event type.
protected  void fireTreeNodesRemoved(java.lang.Object source, java.lang.Object[] path, int[] childIndices, java.lang.Object[] children)
          Notifies all listeners that have registered interest for notification on this event type.
protected  void fireTreeStructureChanged(java.lang.Object source, java.lang.Object[] path)
          Notifies all listeners that have registered interest for notification on this event type.
 java.lang.Object getChild(java.lang.Object parent, int index)
           
 int getChildCount(java.lang.Object parent)
           
 int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
           
 javax.swing.tree.TreePath getPathToRoot()
           
 java.lang.Object getRoot()
           
 boolean isDescendant(java.lang.Object[] fullpath)
          Returns true, if the specified path if a descendant path of the path to root of this subtree model.
 boolean isDescendant(javax.swing.tree.TreePath fullpath)
          Returns true, if the specified path if a descendant path of the path to root of this subtree model.
 boolean isLeaf(java.lang.Object node)
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener l)
          Removes a property change listener.
 void removeTreeModelListener(javax.swing.event.TreeModelListener l)
          Removes a listener previously added with addTreeModelListener().
 void setPathToRoot(java.lang.Object[] newValue)
           
 void setPathToRoot(javax.swing.tree.TreePath newValue)
           
 java.lang.Object[] toFullPath(java.lang.Object[] subtreePath)
           
 javax.swing.tree.TreePath toFullPath(javax.swing.tree.TreePath subtreePath)
           
 java.lang.Object[] toSubPath(java.lang.Object[] fullPath)
           
 javax.swing.tree.TreePath toSubPath(javax.swing.tree.TreePath fullPath)
           
 void treeNodesChanged(javax.swing.event.TreeModelEvent event)
           
 void treeNodesInserted(javax.swing.event.TreeModelEvent event)
           
 void treeNodesRemoved(javax.swing.event.TreeModelEvent event)
           
 void treeStructureChanged(javax.swing.event.TreeModelEvent event)
           
 void valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

listenerList

protected javax.swing.event.EventListenerList listenerList
We store all our listeners here.


changeSupport

protected java.beans.PropertyChangeSupport changeSupport
Constructor Detail

SubtreeTreeModel

public SubtreeTreeModel(javax.swing.tree.TreeModel target)
Creates a new instance.

Method Detail

setPathToRoot

public void setPathToRoot(javax.swing.tree.TreePath newValue)

setPathToRoot

public void setPathToRoot(java.lang.Object[] newValue)

getPathToRoot

public javax.swing.tree.TreePath getPathToRoot()

getChild

public java.lang.Object getChild(java.lang.Object parent,
                                 int index)
Specified by:
getChild in interface javax.swing.tree.TreeModel

getChildCount

public int getChildCount(java.lang.Object parent)
Specified by:
getChildCount in interface javax.swing.tree.TreeModel

getIndexOfChild

public int getIndexOfChild(java.lang.Object parent,
                           java.lang.Object child)
Specified by:
getIndexOfChild in interface javax.swing.tree.TreeModel

getRoot

public java.lang.Object getRoot()
Specified by:
getRoot in interface javax.swing.tree.TreeModel

isLeaf

public boolean isLeaf(java.lang.Object node)
Specified by:
isLeaf in interface javax.swing.tree.TreeModel

toFullPath

public javax.swing.tree.TreePath toFullPath(javax.swing.tree.TreePath subtreePath)

toFullPath

public java.lang.Object[] toFullPath(java.lang.Object[] subtreePath)

valueForPathChanged

public void valueForPathChanged(javax.swing.tree.TreePath path,
                                java.lang.Object newValue)
Specified by:
valueForPathChanged in interface javax.swing.tree.TreeModel

addTreeModelListener

public void addTreeModelListener(javax.swing.event.TreeModelListener l)
Adds a listener for the TreeModelEvent posted after the tree changes.

Specified by:
addTreeModelListener in interface javax.swing.tree.TreeModel
Parameters:
l - the listener to add
See Also:
removeTreeModelListener(javax.swing.event.TreeModelListener)

removeTreeModelListener

public void removeTreeModelListener(javax.swing.event.TreeModelListener l)
Removes a listener previously added with addTreeModelListener().

Specified by:
removeTreeModelListener in interface javax.swing.tree.TreeModel
Parameters:
l - the listener to remove
See Also:
addTreeModelListener(javax.swing.event.TreeModelListener)

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener l)
Adds a property change listener.


removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener l)
Removes a property change listener.


fireTreeNodesChanged

protected void fireTreeNodesChanged(java.lang.Object source,
                                    java.lang.Object[] path,
                                    int[] childIndices,
                                    java.lang.Object[] children)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.

Parameters:
source - the node being changed
path - the path to the root node
childIndices - the indices of the changed elements
children - the changed elements
See Also:
EventListenerList

fireTreeNodesInserted

protected void fireTreeNodesInserted(java.lang.Object source,
                                     java.lang.Object[] path,
                                     int[] childIndices,
                                     java.lang.Object[] children)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.

Parameters:
source - the node where new elements are being inserted
path - the path to the root node
childIndices - the indices of the new elements
children - the new elements
See Also:
EventListenerList

fireTreeNodesRemoved

protected void fireTreeNodesRemoved(java.lang.Object source,
                                    java.lang.Object[] path,
                                    int[] childIndices,
                                    java.lang.Object[] children)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.

Parameters:
source - the node where elements are being removed
path - the path to the root node
childIndices - the indices of the removed elements
children - the removed elements
See Also:
EventListenerList

fireTreeStructureChanged

protected void fireTreeStructureChanged(java.lang.Object source,
                                        java.lang.Object[] path)
Notifies all listeners that have registered interest for notification on this event type. The event instance is lazily created using the parameters passed into the fire method.

Parameters:
source - the node where the tree model has changed
path - the path to the root node
See Also:
EventListenerList

isDescendant

public boolean isDescendant(java.lang.Object[] fullpath)
Returns true, if the specified path if a descendant path of the path to root of this subtree model.


toSubPath

public java.lang.Object[] toSubPath(java.lang.Object[] fullPath)

isDescendant

public boolean isDescendant(javax.swing.tree.TreePath fullpath)
Returns true, if the specified path if a descendant path of the path to root of this subtree model.


toSubPath

public javax.swing.tree.TreePath toSubPath(javax.swing.tree.TreePath fullPath)

treeNodesChanged

public void treeNodesChanged(javax.swing.event.TreeModelEvent event)
Specified by:
treeNodesChanged in interface javax.swing.event.TreeModelListener

treeNodesInserted

public void treeNodesInserted(javax.swing.event.TreeModelEvent event)
Specified by:
treeNodesInserted in interface javax.swing.event.TreeModelListener

treeNodesRemoved

public void treeNodesRemoved(javax.swing.event.TreeModelEvent event)
Specified by:
treeNodesRemoved in interface javax.swing.event.TreeModelListener

treeStructureChanged

public void treeStructureChanged(javax.swing.event.TreeModelEvent event)
Specified by:
treeStructureChanged in interface javax.swing.event.TreeModelListener

Copyright 2003-2007 (c) Werner Randelshofer.
All rights reserved.