KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sapia > regis > gui > model > TreeManager


1 package org.sapia.regis.gui.model;
2
3 import java.util.Iterator JavaDoc;
4
5 import javax.swing.JTree JavaDoc;
6 import javax.swing.event.TreeExpansionEvent JavaDoc;
7 import javax.swing.event.TreeSelectionEvent JavaDoc;
8 import javax.swing.event.TreeSelectionListener JavaDoc;
9 import javax.swing.event.TreeWillExpandListener JavaDoc;
10 import javax.swing.tree.DefaultMutableTreeNode JavaDoc;
11 import javax.swing.tree.ExpandVetoException JavaDoc;
12
13 import org.sapia.gumby.event.EventManager;
14 import org.sapia.regis.Node;
15 import org.sapia.regis.gui.event.NodeChangeEvent;
16
17 public class TreeManager implements TreeWillExpandListener JavaDoc, TreeSelectionListener JavaDoc{
18   
19   
20   public TreeManager(){
21   }
22   
23   public void treeWillCollapse(TreeExpansionEvent JavaDoc event) throws ExpandVetoException JavaDoc {
24     /*
25     JTree tree = (JTree)event.getSource();
26     
27     synchronized(tree.getTreeLock()){
28       DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
29       if(!treeNode.isRoot()){
30         treeNode.removeAllChildren();
31       }
32     }
33     */

34   }
35   
36   public void treeWillExpand(TreeExpansionEvent JavaDoc event) throws ExpandVetoException JavaDoc {
37
38     /*
39     JTree tree = (JTree)event.getSource();
40     DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
41     NodeModel model = (NodeModel)treeNode.getUserObject();
42     Iterator children = model.getNode().getChildren().iterator();
43     while(children.hasNext()){
44       treeNode.add(ModelUtils.buildTreeNodeFrom((Node)children.next()));
45     }*/

46   }
47   
48   public void valueChanged(TreeSelectionEvent JavaDoc event) {
49     JTree JavaDoc tree = (JTree JavaDoc)event.getSource();
50     synchronized(tree.getTreeLock()){
51       DefaultMutableTreeNode JavaDoc treeNode = (DefaultMutableTreeNode JavaDoc)tree.getLastSelectedPathComponent();
52       if(treeNode != null && treeNode.getChildCount() == 0){
53         NodeModel model = (NodeModel)treeNode.getUserObject();
54         Iterator JavaDoc children = model.getNode().getChildren().iterator();
55         while(children.hasNext()){
56           treeNode.add(ModelUtils.buildTreeNodeFrom((Node JavaDoc)children.next()));
57         }
58       }
59       if(treeNode != null){
60         NodeModel model = (NodeModel)treeNode.getUserObject();
61         EventManager.getInstance().dispatchEvent(new NodeChangeEvent(model.getNode()));
62       }
63     }
64   }
65   
66   
67
68 }
69
Popular Tags