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) |
|
|
00031 {
00032 _manager = mgr;
00033 _root = new AppTreeNode("root", mgr);
00034 }
|
|
|
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 }
|
|
|
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 }
|
|
|
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 }
|
|
|
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 }
|
|
|
00118 {
00119 _listeners.addElement(l);
00120 }
|
|
|
00123 {
00124 _listeners.removeElement(l);
00125 }
|
|
||||||||||||
|
00129 {
00130 //System.out.println("getChild "+parent+" "+index);
00131 AppTreeNode node = (AppTreeNode)parent;
00132 return node.getChildAt(index);
00133 }
|
|
|
00137 {
00138 //System.out.println("getChildCt "+parent);
00139 AppTreeNode node = (AppTreeNode)parent;
00140 return node.getChildCount();
00141 }
|
|
||||||||||||
|
00145 {
00146 //System.out.println("getIndexOf "+parent);
00147 AppTreeNode node = (AppTreeNode)parent;
00148 return node.getIndex(child);
00149 }
|
|
|
00153 {
00154 //System.out.println("getRoot");
00155 return _root;
00156 }
|
|
|
00160 {
00161 return false;
00162 }
|
|
||||||||||||
|
00167 {
00168 System.out.println("*** valueForPathChanged : "+path+" --> "+newValue);
00169 }
|
|
|
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 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001