org.argouml.ui
Class NavPerspective

java.lang.Object
  |
  +--org.argouml.ui.TreeModelComposite
        |
        +--org.argouml.ui.NavPerspective
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable, javax.swing.tree.TreeModel

public class NavPerspective
extends TreeModelComposite
implements java.io.Serializable, javax.swing.tree.TreeModel, java.lang.Cloneable

This defines a NavPerspective as a kind of TreeModel that is made up of rules from the files whose names begin with "Go". It also defines several useful navigational perspectives.

See Also:
Serialized Form

Field Summary
protected  javax.swing.event.EventListenerList _listenerList
           
protected static java.util.Vector _registeredPerspectives
           
protected static java.util.Vector _rules
           
 
Fields inherited from class org.argouml.ui.TreeModelComposite
_flat, _flatChildren, _name, _root, _subTreeModels, cat
 
Constructor Summary
NavPerspective(java.lang.String name)
           
 
Method Summary
 void addTreeModelListener(javax.swing.event.TreeModelListener l)
           
 java.lang.Object clone()
           
protected  void fireTreeNodesChanged(java.lang.Object source, java.lang.Object[] path, int[] childIndices, java.lang.Object[] children)
          Notify 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)
           
protected  void fireTreeNodesRemoved(java.lang.Object source, java.lang.Object[] path, int[] childIndices, java.lang.Object[] children)
           
protected  void fireTreeStructureChanged(java.lang.Object source, java.lang.Object[] path)
           
 void fireTreeStructureChanged(java.lang.Object source, java.lang.Object[] path, int[] childIndices, java.lang.Object[] children)
          Notify all listeners that have registered interest for notification on this event type.
 int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
          Will return the first found child object in the navtree.
static java.util.Vector getRegisteredPerspectives()
           
static java.util.Vector getRegisteredRules()
           
static void registerPerspective(NavPerspective np)
           
static void registerRule(AbstractGoRule rule)
           
 void removeTreeModelListener(javax.swing.event.TreeModelListener l)
           
static void unregisterPerspective(NavPerspective np)
           
 void valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
          Messaged when the user has altered the value for the item identified by path to newValue.
 
Methods inherited from class org.argouml.ui.TreeModelComposite
addFlatChildren, addSubTreeModel, calcFlatChildren, fireTreeStructureChanged, fireTreeStructureChanged, getChild, getChildCount, getFlat, getName, getRoot, getSubTreeModels, isAlwaysLeaf, isLeaf, removeSubTreeModel, setFlat, setName, setRoot, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.swing.tree.TreeModel
getChild, getChildCount, getRoot, isLeaf
 

Field Detail

_listenerList

protected javax.swing.event.EventListenerList _listenerList

_registeredPerspectives

protected static java.util.Vector _registeredPerspectives

_rules

protected static java.util.Vector _rules
Constructor Detail

NavPerspective

public NavPerspective(java.lang.String name)
Method Detail

registerPerspective

public static void registerPerspective(NavPerspective np)

unregisterPerspective

public static void unregisterPerspective(NavPerspective np)

getRegisteredPerspectives

public static java.util.Vector getRegisteredPerspectives()

registerRule

public static void registerRule(AbstractGoRule rule)

getRegisteredRules

public static java.util.Vector getRegisteredRules()

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object

valueForPathChanged

public void valueForPathChanged(javax.swing.tree.TreePath path,
                                java.lang.Object newValue)
Messaged when the user has altered the value for the item identified by path to newValue. If newValue signifies a truly new value the model should post a treeNodesChanged event.
Specified by:
valueForPathChanged in interface javax.swing.tree.TreeModel
Overrides:
valueForPathChanged in class TreeModelComposite
Parameters:
path - path to the node that the user has altered.
newValue - the new value from the TreeCellEditor.

fireTreeNodesChanged

protected void fireTreeNodesChanged(java.lang.Object source,
                                    java.lang.Object[] path,
                                    int[] childIndices,
                                    java.lang.Object[] children)
Notify 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.
See Also:
EventListenerList

fireTreeNodesInserted

protected void fireTreeNodesInserted(java.lang.Object source,
                                     java.lang.Object[] path,
                                     int[] childIndices,
                                     java.lang.Object[] children)

fireTreeNodesRemoved

protected void fireTreeNodesRemoved(java.lang.Object source,
                                    java.lang.Object[] path,
                                    int[] childIndices,
                                    java.lang.Object[] children)

fireTreeStructureChanged

protected void fireTreeStructureChanged(java.lang.Object source,
                                        java.lang.Object[] path)

fireTreeStructureChanged

public void fireTreeStructureChanged(java.lang.Object source,
                                     java.lang.Object[] path,
                                     int[] childIndices,
                                     java.lang.Object[] children)
Notify 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.
See Also:
EventListenerList

addTreeModelListener

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

removeTreeModelListener

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

getIndexOfChild

public int getIndexOfChild(java.lang.Object parent,
                           java.lang.Object child)
Will return the first found child object in the navtree. The child can be a TreeNode in case the super will be called to handle this. In all other cases we try to handle it in a recursive way. TODO this does not work yet since the implementation of getChildren of AbstractGoRule only takes one level into account.
Specified by:
getIndexOfChild in interface javax.swing.tree.TreeModel
Overrides:
getIndexOfChild in class TreeModelComposite
See Also:
TreeModel.getIndexOfChild(java.lang.Object, java.lang.Object)


ArgoUML (c) 1996-2002
ArgoUML Project Home
ArgoUML Cookbook