1 package jdepend.swingui; 2 3 import java.util.*; 4 import javax.swing.tree.*; 5 import javax.swing.event.*; 6 7 14 15 public class DependTreeModel implements TreeModel { 16 17 private PackageNode root; 18 19 private Vector listeners; 20 21 27 public DependTreeModel(PackageNode root) { 28 this.root = root; 29 listeners = new Vector(); 30 } 31 32 38 public Object getRoot() { 39 return root; 40 } 41 42 53 public Object getChild(Object parent, int index) { 54 55 Object answer = null; 56 ArrayList children; 57 58 if (parent instanceof PackageNode) { 59 children = ((PackageNode) parent).getChildren(); 60 61 if (children != null) { 62 if (index < children.size()) { 63 answer = children.get(index); 64 } 65 } 66 } 67 68 return answer; 69 } 70 71 81 public int getChildCount(Object parent) { 82 83 int answer = 0; 84 ArrayList children; 85 86 if (parent instanceof PackageNode) { 87 children = ((PackageNode) parent).getChildren(); 88 89 if (children != null) { 90 answer = children.size(); 91 } 92 } 93 94 return answer; 95 } 96 97 104 public boolean isLeaf(Object o) { 105 106 boolean answer = true; 107 108 if (o instanceof PackageNode) { 109 PackageNode node = (PackageNode) o; 110 return node.isLeaf(); 111 } 112 113 return answer; 114 } 115 116 123 public void valueForPathChanged(TreePath path, Object newValue) { 124 } 126 127 134 public int getIndexOfChild(Object parent, Object child) { 135 int answer = -1; 136 ArrayList children = null; 137 138 if (parent instanceof PackageNode) { 139 children = ((PackageNode) parent).getChildren(); 140 141 if (children != null) { 142 answer = children.indexOf(child); 143 } 144 } 145 146 return answer; 147 } 148 149 155 public void addTreeModelListener(TreeModelListener l) { 156 157 if ((l != null) && !listeners.contains(l)) { 158 listeners.addElement(l); 159 } 160 } 161 162 167 public void removeTreeModelListener(TreeModelListener l) { 168 listeners.removeElement(l); 169 } 170 } 171 172 | Popular Tags |