Nengo.ca

ca.nengo.config.ui
Class ConfigurationTreeModel

java.lang.Object
  extended by ca.nengo.config.ui.ConfigurationTreeModel
All Implemented Interfaces:
javax.swing.tree.TreeModel

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

Data model underlying JTree user interface for a Configurable.


Nested Class Summary
static class ConfigurationTreeModel.NullValue
          For the configuration UI to use in place of a null parameter value.
static class ConfigurationTreeModel.Value
          A wrapper for property values: stores index and configuration (if applicable)
 
Constructor Summary
ConfigurationTreeModel(java.lang.Object configurable)
           
 
Method Summary
 void addTreeModelListener(javax.swing.event.TreeModelListener listener)
           
 void addValue(javax.swing.tree.TreePath parentPath, java.lang.Object value, java.lang.String name)
           
 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)
           
 java.lang.Object getRoot()
           
 void insertValue(javax.swing.tree.TreePath path, java.lang.Object value)
           
 boolean isLeaf(java.lang.Object o)
           
 void refresh(javax.swing.tree.TreePath path)
           
 void removeTreeModelListener(javax.swing.event.TreeModelListener listener)
           
 void removeValue(javax.swing.tree.TreePath path)
           
 void setValue(javax.swing.tree.TreePath path, java.lang.Object value)
           
 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
 

Constructor Detail

ConfigurationTreeModel

public ConfigurationTreeModel(java.lang.Object configurable)
Parameters:
configurable - Root of the configuration tree
Method Detail

addValue

public void addValue(javax.swing.tree.TreePath parentPath,
                     java.lang.Object value,
                     java.lang.String name)
Parameters:
parentPath - Path in configuration tree of a property to which a value is to be added
value - New value to add
name - Name of new value (only used if parent is a NamedValueProperty; can be null otherwise)

refresh

public void refresh(javax.swing.tree.TreePath path)
Parameters:
path - Path to root of subtree to refresh

insertValue

public void insertValue(javax.swing.tree.TreePath path,
                        java.lang.Object value)
Parameters:
path - Path to the tree node to insert before
value - Value to insert

setValue

public void setValue(javax.swing.tree.TreePath path,
                     java.lang.Object value)
              throws StructuralException
Parameters:
path - Path to object to be replaced with new value
value - New value
Throws:
StructuralException - if the setValue functions fail

removeValue

public void removeValue(javax.swing.tree.TreePath path)
Parameters:
path - Tree path to property value to remove

getChild

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

getChildCount

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

getIndexOfChild

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

getRoot

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

isLeaf

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

addTreeModelListener

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

removeTreeModelListener

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

valueForPathChanged

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

Nengo.ca