artisynth.core.gui.navpanel
Class NavPanelTreeModel

java.lang.Object
  extended by artisynth.core.gui.navpanel.NavPanelTreeModel
All Implemented Interfaces:
javax.swing.tree.TreeModel

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


Constructor Summary
NavPanelTreeModel()
           
NavPanelTreeModel(RootModel root, javax.swing.tree.TreeSelectionModel selectionModel)
           
 
Method Summary
 void addTreeModelListener(javax.swing.event.TreeModelListener l)
           
 java.lang.Object getChild(java.lang.Object parent, int index)
           
 int getChildCount(java.lang.Object parent)
           
 javax.swing.tree.TreePath getComponentTreePath(ModelComponent comp)
           
 boolean getHideEmptyComponents()
           
 int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
           
 NavPanelNode getRoot()
           
 javax.swing.tree.TreePath getRootPath()
           
 boolean insertChildAtPathEnd(java.lang.Object child, javax.swing.tree.TreePath parentPath)
          Insert a child object to the node at the end of the specified path, if the path does not end with a leaf node
 boolean isLeaf(java.lang.Object node)
           
 boolean nodeShouldBeHidden(ModelComponent c)
           
 void nodeStructureChanged(NavPanelNode node)
           
 void nodesWereInserted(NavPanelNode node, int[] childIndices, java.lang.Object[] children)
           
 void nodesWereRemoved(NavPanelNode node, int[] childIndices, java.lang.Object[] children)
           
 void removeChildAtPathEnd(javax.swing.tree.TreePath path)
          Remove the node at the end of the specified path.
 void removeTreeModelListener(javax.swing.event.TreeModelListener l)
           
 void setHideEmptyComponents(boolean enable)
           
 void valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NavPanelTreeModel

public NavPanelTreeModel(RootModel root,
                         javax.swing.tree.TreeSelectionModel selectionModel)

NavPanelTreeModel

public NavPanelTreeModel()
Method Detail

setHideEmptyComponents

public void setHideEmptyComponents(boolean enable)

getHideEmptyComponents

public boolean getHideEmptyComponents()

nodeShouldBeHidden

public boolean nodeShouldBeHidden(ModelComponent c)

addTreeModelListener

public void addTreeModelListener(javax.swing.event.TreeModelListener l)
Specified by:
addTreeModelListener in interface javax.swing.tree.TreeModel

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 NavPanelNode getRoot()
Specified by:
getRoot in interface javax.swing.tree.TreeModel

getRootPath

public javax.swing.tree.TreePath getRootPath()

isLeaf

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

removeTreeModelListener

public void removeTreeModelListener(javax.swing.event.TreeModelListener l)
Specified by:
removeTreeModelListener in interface javax.swing.tree.TreeModel

valueForPathChanged

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

removeChildAtPathEnd

public void removeChildAtPathEnd(javax.swing.tree.TreePath path)
Remove the node at the end of the specified path.

Parameters:
path -

insertChildAtPathEnd

public boolean insertChildAtPathEnd(java.lang.Object child,
                                    javax.swing.tree.TreePath parentPath)
Insert a child object to the node at the end of the specified path, if the path does not end with a leaf node

Parameters:
child - The child object to insert
parentPath - The path to the parent
Returns:
True if the parent is valid and the child is inserted, false otherwise.

nodesWereRemoved

public void nodesWereRemoved(NavPanelNode node,
                             int[] childIndices,
                             java.lang.Object[] children)

nodesWereInserted

public void nodesWereInserted(NavPanelNode node,
                              int[] childIndices,
                              java.lang.Object[] children)

nodeStructureChanged

public void nodeStructureChanged(NavPanelNode node)

getComponentTreePath

public javax.swing.tree.TreePath getComponentTreePath(ModelComponent comp)