Horus Doc || Java GUI Reference || Doxygen's quick Index  

AppTreeModel Class Reference

List of all members.

Public Methods

 AppTreeModel (ApplicationsManager mgr)
void fireNodeInserted (String name)
void fireNodeChanged (AppTreeNode node)
void fireNodeRenamed (String name)
void fireNodesRemoved (String[] names)
void addTreeModelListener (TreeModelListener l)
void removeTreeModelListener (TreeModelListener l)
Object getChild (Object parent, int index)
int getChildCount (Object parent)
int getIndexOfChild (Object parent, Object child)
Object getRoot ()
boolean isLeaf (Object node)
void valueForPathChanged (TreePath path, Object newValue)
TreePath getPathOf (Object node)

Constructor & Destructor Documentation

AppTreeModel::AppTreeModel ApplicationsManager    mgr [inline]
 

00031 {
00032     _manager = mgr;
00033     _root = new AppTreeNode("root", mgr);
00034 }


Member Function Documentation

void AppTreeModel::fireNodeInserted String    name [inline]
 

00063 {
00064     int index = _root.getIndex(name);
00065     if(index == -1) return;
00066 
00067     TreeModelEvent ev = new TreeModelEvent(this, new Object[] {_root},
00068         new int[] { index }, new Object[] { _root.getChildAt(index) });
00069 
00070     int len = _listeners.size();
00071     for (int i = 0; i < len; i++)
00072         ((TreeModelListener)_listeners.elementAt(i)).treeNodesInserted(ev);
00073 }

void AppTreeModel::fireNodeChanged AppTreeNode    node [inline]
 

00076 {
00077     TreeModelEvent ev = new TreeModelEvent(this, new Object[] {node});
00078 
00079     int len = _listeners.size();
00080     for (int i = 0; i < len; i++)
00081         ((TreeModelListener)_listeners.elementAt(i)).treeStructureChanged(ev);
00082 }

void AppTreeModel::fireNodeRenamed String    name [inline]
 

00085 {
00086     int index = _root.getIndex(name);
00087     if(index == -1) return;
00088 
00089     TreeModelEvent ev = new TreeModelEvent(this, new Object[] {_root},
00090         new int[] { index }, new Object[] { _root.getChildAt(index) });
00091 
00092     int len = _listeners.size();
00093     for (int i = 0; i < len; i++)
00094         ((TreeModelListener)_listeners.elementAt(i)).treeStructureChanged(ev);
00095 }

void AppTreeModel::fireNodesRemoved String    names[] [inline]
 

00098 {
00099     int[] indexes = new int[names.length];
00100     Object[] nodes = new Object[names.length];
00101 
00102     for(int i=0; i<names.length; i++) {
00103         indexes[i] = _root.getIndex(names[i]);
00104         nodes[i] = _root.getChildAt(indexes[i]);
00105     }
00106 
00107     TreeModelEvent ev = new TreeModelEvent(this, new Object[] {_root},
00108         indexes, nodes);
00109 
00110     int len = _listeners.size();
00111     for (int i = 0; i < len; i++)
00112         ((TreeModelListener)_listeners.elementAt(i)).treeNodesRemoved(ev);
00113 
00114 }

void AppTreeModel::addTreeModelListener TreeModelListener    l [inline]
 

00118 {
00119     _listeners.addElement(l);
00120 }

void AppTreeModel::removeTreeModelListener TreeModelListener    l [inline]
 

00123                                                          {
00124     _listeners.removeElement(l);
00125 }

Object AppTreeModel::getChild Object    parent,
int    index
[inline]
 

00129 {
00130     //System.out.println("getChild "+parent+" "+index);
00131     AppTreeNode node = (AppTreeNode)parent;
00132     return node.getChildAt(index);
00133 }

int AppTreeModel::getChildCount Object    parent [inline]
 

00137 {
00138     //System.out.println("getChildCt "+parent);
00139     AppTreeNode node = (AppTreeNode)parent;
00140     return node.getChildCount();
00141 }

int AppTreeModel::getIndexOfChild Object    parent,
Object    child
[inline]
 

00145 {
00146     //System.out.println("getIndexOf "+parent);
00147     AppTreeNode node = (AppTreeNode)parent;
00148     return node.getIndex(child);
00149 }

Object AppTreeModel::getRoot   [inline]
 

00153 {
00154     //System.out.println("getRoot");
00155     return _root;
00156 }

boolean AppTreeModel::isLeaf Object    node [inline]
 

00160 {
00161     return false;
00162 }

void AppTreeModel::valueForPathChanged TreePath    path,
Object    newValue
[inline]
 

00167 {
00168     System.out.println("*** valueForPathChanged : "+path+" --> "+newValue);
00169 }

TreePath AppTreeModel::getPathOf Object    node [inline]
 

00172 {
00173     AppTreeNode appNode = (AppTreeNode)node;
00174     AppTreeNode parent = appNode.getParent();
00175 
00176     if(parent == null) //root
00177         return new TreePath(_root);
00178 
00179     TreePath parentPath = getPathOf(parent);
00180     if(parentPath == null) return null;
00181 
00182     AppTreeNode newParent = (AppTreeNode)parentPath.getLastPathComponent();
00183     int index = newParent.getIndex(appNode.getName());
00184     if(index == -1) return null;
00185 
00186     return parentPath.pathByAddingChild(newParent.getChildAt(index));
00187 }


The documentation for this class was generated from the following file:
Generated on Mon Jan 27 15:11:13 2003 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001