1 Clazz.declarePackage ("javax.swing.tree");
2 Clazz.load (["javax.swing.tree.TreeModel", "javax.swing.event.EventListenerList"], "javax.swing.tree.DefaultTreeModel", ["java.lang.IllegalArgumentException", "javax.swing.event.TreeModelEvent", "$.TreeModelListener"], function () {
3 c$ = Clazz.decorateAsClass (function () {
5 this.listenerList = null;
6 this.$asksAllowsChildren = false;
7 Clazz.instantialize (this, arguments);
8 }, javax.swing.tree, "DefaultTreeModel", null, javax.swing.tree.TreeModel);
9 Clazz.prepareFields (c$, function () {
10 this.listenerList = new javax.swing.event.EventListenerList ();
12 Clazz.makeConstructor (c$,
14 this.construct (root, false);
15 }, "javax.swing.tree.TreeNode");
16 Clazz.makeConstructor (c$,
17 function (root, asksAllowsChildren) {
19 this.$asksAllowsChildren = asksAllowsChildren;
20 }, "javax.swing.tree.TreeNode,~B");
21 Clazz.defineMethod (c$, "setAsksAllowsChildren",
23 this.$asksAllowsChildren = newValue;
25 Clazz.defineMethod (c$, "asksAllowsChildren",
27 return this.$asksAllowsChildren;
29 Clazz.defineMethod (c$, "setRoot",
31 var oldRoot = this.root;
33 if (root == null && oldRoot != null) {
34 this.fireTreeStructureChanged (this, null);
36 this.nodeStructureChanged (root);
37 }}, "javax.swing.tree.TreeNode");
38 Clazz.overrideMethod (c$, "getRoot",
42 Clazz.overrideMethod (c$, "getIndexOfChild",
43 function (parent, child) {
44 if (parent == null || child == null) return -1;
45 return (parent).getIndex (child);
47 Clazz.overrideMethod (c$, "getChild",
48 function (parent, index) {
49 return (parent).getChildAt (index);
51 Clazz.overrideMethod (c$, "getChildCount",
53 return (parent).getChildCount ();
55 Clazz.overrideMethod (c$, "isLeaf",
57 if (this.$asksAllowsChildren) return !(node).getAllowsChildren ();
58 return (node).isLeaf ();
60 Clazz.defineMethod (c$, "reload",
62 this.reload (this.root);
64 Clazz.overrideMethod (c$, "valueForPathChanged",
65 function (path, newValue) {
66 var aNode = path.getLastPathComponent ();
67 aNode.setUserObject (newValue);
68 this.nodeChanged (aNode);
69 }, "javax.swing.tree.TreePath,~O");
70 Clazz.defineMethod (c$, "insertNodeInto",
71 function (newChild, parent, index) {
72 parent.insert (newChild, index);
73 var newIndexs = Clazz.newIntArray (1, 0);
75 this.nodesWereInserted (parent, newIndexs);
76 }, "javax.swing.tree.MutableTreeNode,javax.swing.tree.MutableTreeNode,~N");
77 Clazz.defineMethod (c$, "removeNodeFromParent",
79 var parent = node.getParent ();
80 if (parent == null) throw new IllegalArgumentException ("node does not have a parent.");
81 var childIndex = Clazz.newIntArray (1, 0);
82 var removedArray = new Array (1);
83 childIndex[0] = parent.getIndex (node);
84 parent.remove (childIndex[0]);
85 removedArray[0] = node;
86 this.nodesWereRemoved (parent, childIndex, removedArray);
87 }, "javax.swing.tree.MutableTreeNode");
88 Clazz.defineMethod (c$, "nodeChanged",
90 if (this.listenerList != null && node != null) {
91 var parent = node.getParent ();
93 var anIndex = parent.getIndex (node);
95 var cIndexs = Clazz.newIntArray (1, 0);
97 this.nodesChanged (parent, cIndexs);
98 }} else if (node === this.getRoot ()) {
99 this.nodesChanged (node, null);
100 }}}, "javax.swing.tree.TreeNode");
101 Clazz.defineMethod (c$, "reload",
104 this.fireTreeStructureChanged (this, this.getPathToRoot (node), null, null);
105 }}, "javax.swing.tree.TreeNode");
106 Clazz.defineMethod (c$, "nodesWereInserted",
107 function (node, childIndices) {
108 if (this.listenerList != null && node != null && childIndices != null && childIndices.length > 0) {
109 var cCount = childIndices.length;
110 var newChildren = new Array (cCount);
111 for (var counter = 0; counter < cCount; counter++) newChildren[counter] = node.getChildAt (childIndices[counter]);
113 this.fireTreeNodesInserted (this, this.getPathToRoot (node), childIndices, newChildren);
114 }}, "javax.swing.tree.TreeNode,~A");
115 Clazz.defineMethod (c$, "nodesWereRemoved",
116 function (node, childIndices, removedChildren) {
117 if (node != null && childIndices != null) {
118 this.fireTreeNodesRemoved (this, this.getPathToRoot (node), childIndices, removedChildren);
119 }}, "javax.swing.tree.TreeNode,~A,~A");
120 Clazz.defineMethod (c$, "nodesChanged",
121 function (node, childIndices) {
123 if (childIndices != null) {
124 var cCount = childIndices.length;
126 var cChildren = new Array (cCount);
127 for (var counter = 0; counter < cCount; counter++) cChildren[counter] = node.getChildAt (childIndices[counter]);
129 this.fireTreeNodesChanged (this, this.getPathToRoot (node), childIndices, cChildren);
130 }} else if (node === this.getRoot ()) {
131 this.fireTreeNodesChanged (this, this.getPathToRoot (node), null, null);
132 }}}, "javax.swing.tree.TreeNode,~A");
133 Clazz.defineMethod (c$, "nodeStructureChanged",
136 this.fireTreeStructureChanged (this, this.getPathToRoot (node), null, null);
137 }}, "javax.swing.tree.TreeNode");
138 Clazz.defineMethod (c$, "getPathToRoot",
140 return this.getPathToRoot (aNode, 0);
141 }, "javax.swing.tree.TreeNode");
142 Clazz.defineMethod (c$, "getPathToRoot",
143 function (aNode, depth) {
146 if (depth == 0) return null;
147 else retNodes = new Array (depth);
150 if (aNode === this.root) retNodes = new Array (depth);
151 else retNodes = this.getPathToRoot (aNode.getParent (), depth);
152 retNodes[retNodes.length - depth] = aNode;
154 }, "javax.swing.tree.TreeNode,~N");
155 Clazz.overrideMethod (c$, "addTreeModelListener",
157 this.listenerList.add (javax.swing.event.TreeModelListener, l);
158 }, "javax.swing.event.TreeModelListener");
159 Clazz.overrideMethod (c$, "removeTreeModelListener",
161 this.listenerList.remove (javax.swing.event.TreeModelListener, l);
162 }, "javax.swing.event.TreeModelListener");
163 Clazz.defineMethod (c$, "getTreeModelListeners",
165 return this.listenerList.getListeners (javax.swing.event.TreeModelListener);
167 Clazz.defineMethod (c$, "fireTreeNodesChanged",
168 function (source, path, childIndices, children) {
169 var listeners = this.listenerList.getListenerList ();
171 for (var i = listeners.length - 2; i >= 0; i -= 2) {
172 if (listeners[i] === javax.swing.event.TreeModelListener) {
173 if (e == null) e = new javax.swing.event.TreeModelEvent (source, path, childIndices, children);
174 (listeners[i + 1]).treeNodesChanged (e);
177 Clazz.defineMethod (c$, "fireTreeNodesInserted",
178 function (source, path, childIndices, children) {
179 var listeners = this.listenerList.getListenerList ();
181 for (var i = listeners.length - 2; i >= 0; i -= 2) {
182 if (listeners[i] === javax.swing.event.TreeModelListener) {
183 if (e == null) e = new javax.swing.event.TreeModelEvent (source, path, childIndices, children);
184 (listeners[i + 1]).treeNodesInserted (e);
187 Clazz.defineMethod (c$, "fireTreeNodesRemoved",
188 function (source, path, childIndices, children) {
189 var listeners = this.listenerList.getListenerList ();
191 for (var i = listeners.length - 2; i >= 0; i -= 2) {
192 if (listeners[i] === javax.swing.event.TreeModelListener) {
193 if (e == null) e = new javax.swing.event.TreeModelEvent (source, path, childIndices, children);
194 (listeners[i + 1]).treeNodesRemoved (e);
197 Clazz.defineMethod (c$, "fireTreeStructureChanged",
198 function (source, path, childIndices, children) {
199 var listeners = this.listenerList.getListenerList ();
201 for (var i = listeners.length - 2; i >= 0; i -= 2) {
202 if (listeners[i] === javax.swing.event.TreeModelListener) {
203 if (e == null) e = new javax.swing.event.TreeModelEvent (source, path, childIndices, children);
204 (listeners[i + 1]).treeStructureChanged (e);
207 Clazz.defineMethod (c$, "fireTreeStructureChanged",
208 function (source, path) {
209 var listeners = this.listenerList.getListenerList ();
211 for (var i = listeners.length - 2; i >= 0; i -= 2) {
212 if (listeners[i] === javax.swing.event.TreeModelListener) {
213 if (e == null) e = new javax.swing.event.TreeModelEvent (source, path);
214 (listeners[i + 1]).treeStructureChanged (e);
216 }, "~O,javax.swing.tree.TreePath");
217 Clazz.defineMethod (c$, "getListeners",
218 function (listenerType) {
219 return this.listenerList.getListeners (listenerType);