source: vanHelsing/trunk/gui/src/de/dass_it/vanhelsing/gui/DataTree.java@ 864

Last change on this file since 864 was 864, checked in by tobias, on Apr 16, 2010 at 5:55:54 PM

javadoc added

File size: 2.7 KB
Line 
1package de.dass_it.vanhelsing.gui;
2
3import java.util.Enumeration;
4import javax.swing.tree.DefaultMutableTreeNode;
5import javax.swing.tree.DefaultTreeModel;
6import de.dass_it.vanhelsing.gui.items.ConcreteUserObjectItem;
7import de.dass_it.vanhelsing.gui.items.UserObjectItem;
8import de.dass_it.vanhelsing.gui.items.UserObjectItemType;
9
10public class DataTree {
11 private DefaultTreeModel tree;
12 private DefaultMutableTreeNode root;
13
14 public DataTree() {}
15
16 public void setTree(String name){
17 setRoot(new DefaultMutableTreeNode());
18 setTree(new DefaultTreeModel(getRoot()));
19 UserObjectItemType userType = new UserObjectItemType(getRoot());
20 ConcreteUserObjectItem obj = new ConcreteUserObjectItem();
21 getRoot().setUserObject(userType);
22 userType.setUserObject(obj);
23 userType.setLeaf(false);
24 obj.setResName(name);
25 }
26 public DefaultMutableTreeNode createNode(DefaultMutableTreeNode parent, UserObjectItem userObject){
27 DefaultMutableTreeNode node = new DefaultMutableTreeNode();
28 UserObjectItemType uoit = new UserObjectItemType(node);
29 node.setUserObject(uoit);
30 uoit.setUserObject(userObject);
31 parent.add(node);
32 ((UserObjectItemType)parent.getUserObject()).setLeaf(false);
33 return node;
34 }
35 public void updateNode(DefaultMutableTreeNode node, UserObjectItem userObject){
36 node.setUserObject(userObject);
37 }
38 public DefaultMutableTreeNode getNodeById(int id){
39 DefaultMutableTreeNode node;
40 int resId = new Integer(id);
41 Enumeration<DefaultMutableTreeNode> e = root.depthFirstEnumeration();
42
43 while (e.hasMoreElements()){
44 node = e.nextElement();
45 if (resId ==((ConcreteUserObjectItem)(((UserObjectItemType)node.getUserObject()).
46 getUserObject())).getResId()) {
47 return node;
48 }
49 }
50 return null;
51 }
52 public DefaultMutableTreeNode getNodeByName(String name){
53 DefaultMutableTreeNode node;
54 Enumeration<DefaultMutableTreeNode> e = root.depthFirstEnumeration();
55
56 while (e.hasMoreElements()){
57 node = e.nextElement();
58 if (name.equals(((ConcreteUserObjectItem)(((UserObjectItemType)node.getUserObject())
59 .getUserObject())).getResName())) {
60 return node;
61 }
62 }
63 return null;
64 }
65 public DefaultMutableTreeNode deleteNode(DefaultMutableTreeNode node) throws ConstraintViolationException{
66 if (node.getChildCount()>0) throw new ConstraintViolationException();
67 DefaultMutableTreeNode parent = (DefaultMutableTreeNode) node.getParent();
68 parent.remove(node);
69 return node;
70 }
71 public DefaultMutableTreeNode getRoot(){
72 return root;
73 }
74 public void setRoot(DefaultMutableTreeNode root){
75 this.root = root;
76 }
77 public DefaultTreeModel getTree() {
78 return tree;
79 }
80 public void setTree(DefaultTreeModel tree) {
81 this.tree = tree;
82 }
83}
Note: See TracBrowser for help on using the repository browser.