JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / javax / swing / JTree.js
1 Clazz.declarePackage ("javax.swing");\r
2 Clazz.load (["javax.swing.JComponent", "$.Scrollable", "javax.swing.event.TreeModelListener", "$.TreeSelectionListener", "javax.swing.tree.DefaultMutableTreeNode", "$.DefaultTreeSelectionModel"], "javax.swing.JTree", ["java.lang.Boolean", "$.IllegalArgumentException", "java.util.Collections", "$.Hashtable", "$.Stack", "$.Vector", "java.awt.Dimension", "java.awt.event.MouseEvent", "javax.swing.JViewport", "$.SwingUtilities", "$.UIManager", "javax.swing.event.TreeExpansionEvent", "$.TreeExpansionListener", "$.TreeWillExpandListener", "javax.swing.text.Position", "javax.swing.tree.DefaultTreeModel", "$.TreePath"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.treeModel = null;\r
5 this.selectionModel = null;\r
6 this.rootVisible = false;\r
7 this.cellRenderer = null;\r
8 this.rowHeight = 0;\r
9 this.rowHeightSet = false;\r
10 this.expandedState = null;\r
11 this.showsRootHandles = false;\r
12 this.showsRootHandlesSet = false;\r
13 this.selectionRedirector = null;\r
14 this.cellEditor = null;\r
15 this.editable = false;\r
16 this.largeModel = false;\r
17 this.visibleRowCount = 0;\r
18 this.invokesStopCellEditing = false;\r
19 this.scrollsOnExpand = false;\r
20 this.scrollsOnExpandSet = false;\r
21 this.toggleClickCount = 0;\r
22 this.treeModelListener = null;\r
23 this.expandedStack = null;\r
24 this.leadPath = null;\r
25 this.anchorPath = null;\r
26 this.expandsSelectedPaths = false;\r
27 this.settingUI = false;\r
28 this.dragEnabled = false;\r
29 this.$expandRow = -1;\r
30 this.uiTreeExpansionListener = null;\r
31 if (!Clazz.isClassDefined ("javax.swing.JTree.TreeSelectionRedirector")) {\r
32 javax.swing.JTree.$JTree$TreeSelectionRedirector$ ();\r
33 }\r
34 if (!Clazz.isClassDefined ("javax.swing.JTree.TreeModelHandler")) {\r
35 javax.swing.JTree.$JTree$TreeModelHandler$ ();\r
36 }\r
37 Clazz.instantialize (this, arguments);\r
38 }, javax.swing, "JTree", javax.swing.JComponent, javax.swing.Scrollable);\r
39 c$.getDefaultTreeModel = Clazz.defineMethod (c$, "getDefaultTreeModel", \r
40 function () {\r
41 var root =  new javax.swing.tree.DefaultMutableTreeNode ("JTree");\r
42 var parent;\r
43 parent =  new javax.swing.tree.DefaultMutableTreeNode ("colors");\r
44 root.add (parent);\r
45 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("blue"));\r
46 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("violet"));\r
47 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("red"));\r
48 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("yellow"));\r
49 parent =  new javax.swing.tree.DefaultMutableTreeNode ("sports");\r
50 root.add (parent);\r
51 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("basketball"));\r
52 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("soccer"));\r
53 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("football"));\r
54 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("hockey"));\r
55 parent =  new javax.swing.tree.DefaultMutableTreeNode ("food");\r
56 root.add (parent);\r
57 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("hot dogs"));\r
58 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("pizza"));\r
59 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("ravioli"));\r
60 parent.add ( new javax.swing.tree.DefaultMutableTreeNode ("bananas"));\r
61 return  new javax.swing.tree.DefaultTreeModel (root);\r
62 });\r
63 c$.createTreeModel = Clazz.defineMethod (c$, "createTreeModel", \r
64 function (value) {\r
65 var root;\r
66 if ((Clazz.instanceOf (value, Array)) || (Clazz.instanceOf (value, java.util.Hashtable)) || (Clazz.instanceOf (value, java.util.Vector))) {\r
67 root =  new javax.swing.tree.DefaultMutableTreeNode ("root");\r
68 javax.swing.JTree.DynamicUtilTreeNode.createChildren (root, value);\r
69 } else {\r
70 root =  new javax.swing.JTree.DynamicUtilTreeNode ("root", value);\r
71 }return  new javax.swing.tree.DefaultTreeModel (root, false);\r
72 }, "~O");\r
73 Clazz.makeConstructor (c$, \r
74 function () {\r
75 this.construct (javax.swing.JTree.getDefaultTreeModel ());\r
76 });\r
77 Clazz.makeConstructor (c$, \r
78 function (value) {\r
79 this.construct (javax.swing.JTree.createTreeModel (value));\r
80 this.setRootVisible (false);\r
81 this.setShowsRootHandles (true);\r
82 this.expandRoot ();\r
83 }, "~A");\r
84 Clazz.makeConstructor (c$, \r
85 function (value) {\r
86 this.construct (javax.swing.JTree.createTreeModel (value));\r
87 this.setRootVisible (false);\r
88 this.setShowsRootHandles (true);\r
89 this.expandRoot ();\r
90 }, "java.util.Vector");\r
91 Clazz.makeConstructor (c$, \r
92 function (value) {\r
93 this.construct (javax.swing.JTree.createTreeModel (value));\r
94 this.setRootVisible (false);\r
95 this.setShowsRootHandles (true);\r
96 this.expandRoot ();\r
97 }, "java.util.Hashtable");\r
98 Clazz.makeConstructor (c$, \r
99 function (root) {\r
100 this.construct (root, false);\r
101 }, "javax.swing.tree.TreeNode");\r
102 Clazz.makeConstructor (c$, \r
103 function (root, asksAllowsChildren) {\r
104 this.construct ( new javax.swing.tree.DefaultTreeModel (root, asksAllowsChildren));\r
105 }, "javax.swing.tree.TreeNode,~B");\r
106 Clazz.makeConstructor (c$, \r
107 function (newModel) {\r
108 Clazz.superConstructor (this, javax.swing.JTree);\r
109 this.expandedStack =  new java.util.Stack ();\r
110 this.toggleClickCount = 2;\r
111 this.expandedState =  new java.util.Hashtable ();\r
112 this.setLayout (null);\r
113 this.rowHeight = 16;\r
114 this.visibleRowCount = 20;\r
115 this.rootVisible = true;\r
116 this.selectionModel =  new javax.swing.tree.DefaultTreeSelectionModel ();\r
117 this.cellRenderer = null;\r
118 this.scrollsOnExpand = true;\r
119 this.setOpaque (true);\r
120 this.expandsSelectedPaths = true;\r
121 this.updateUI ();\r
122 this.setModel (newModel);\r
123 }, "javax.swing.tree.TreeModel");\r
124 Clazz.overrideMethod (c$, "getUI", \r
125 function () {\r
126 return this.ui;\r
127 });\r
128 Clazz.defineMethod (c$, "setUI", \r
129 function (ui) {\r
130 if (this.ui !== ui) {\r
131 this.settingUI = true;\r
132 this.uiTreeExpansionListener = null;\r
133 try {\r
134 Clazz.superCall (this, javax.swing.JTree, "setUI", [ui]);\r
135 } finally {\r
136 this.settingUI = false;\r
137 }\r
138 }}, "javax.swing.plaf.TreeUI");\r
139 Clazz.overrideMethod (c$, "updateUI", \r
140 function () {\r
141 this.setUI (javax.swing.UIManager.getUI (this));\r
142 javax.swing.SwingUtilities.updateRendererOrEditorUI (this.getCellRenderer ());\r
143 javax.swing.SwingUtilities.updateRendererOrEditorUI (this.getCellEditor ());\r
144 });\r
145 Clazz.overrideMethod (c$, "getUIClassID", \r
146 function () {\r
147 return "TreeUI";\r
148 });\r
149 Clazz.defineMethod (c$, "getCellRenderer", \r
150 function () {\r
151 return this.cellRenderer;\r
152 });\r
153 Clazz.defineMethod (c$, "setCellRenderer", \r
154 function (x) {\r
155 var oldValue = this.cellRenderer;\r
156 this.cellRenderer = x;\r
157 this.firePropertyChangeObject ("cellRenderer", oldValue, this.cellRenderer);\r
158 this.invalidate ();\r
159 }, "javax.swing.tree.TreeCellRenderer");\r
160 Clazz.defineMethod (c$, "setEditable", \r
161 function (flag) {\r
162 var oldValue = this.editable;\r
163 this.editable = flag;\r
164 this.firePropertyChangeBool ("editable", oldValue, flag);\r
165 }, "~B");\r
166 Clazz.defineMethod (c$, "isEditable", \r
167 function () {\r
168 return this.editable;\r
169 });\r
170 Clazz.defineMethod (c$, "setCellEditor", \r
171 function (cellEditor) {\r
172 var oldEditor = this.cellEditor;\r
173 this.cellEditor = cellEditor;\r
174 this.firePropertyChangeObject ("cellEditor", oldEditor, cellEditor);\r
175 this.invalidate ();\r
176 }, "javax.swing.tree.TreeCellEditor");\r
177 Clazz.defineMethod (c$, "getCellEditor", \r
178 function () {\r
179 return this.cellEditor;\r
180 });\r
181 Clazz.defineMethod (c$, "getModel", \r
182 function () {\r
183 return this.treeModel;\r
184 });\r
185 Clazz.defineMethod (c$, "setModel", \r
186 function (newModel) {\r
187 this.clearSelection ();\r
188 var oldModel = this.treeModel;\r
189 if (this.treeModel != null && this.treeModelListener != null) this.treeModel.removeTreeModelListener (this.treeModelListener);\r
190 this.treeModel = newModel;\r
191 this.clearToggledPaths ();\r
192 if (this.treeModel != null) {\r
193 if (this.treeModelListener == null) this.treeModelListener = this.createTreeModelListener ();\r
194 if (this.treeModelListener != null) this.treeModel.addTreeModelListener (this.treeModelListener);\r
195 if (this.treeModel.getRoot () != null && !this.treeModel.isLeaf (this.treeModel.getRoot ())) {\r
196 this.expandedState.put ( new javax.swing.tree.TreePath (this.treeModel.getRoot ()), Boolean.TRUE);\r
197 }}this.firePropertyChangeObject ("model", oldModel, this.treeModel);\r
198 this.invalidate ();\r
199 }, "javax.swing.tree.TreeModel");\r
200 Clazz.defineMethod (c$, "isRootVisible", \r
201 function () {\r
202 return this.rootVisible;\r
203 });\r
204 Clazz.defineMethod (c$, "setRootVisible", \r
205 function (rootVisible) {\r
206 var oldValue = this.rootVisible;\r
207 this.rootVisible = rootVisible;\r
208 this.firePropertyChangeBool ("rootVisible", oldValue, this.rootVisible);\r
209 }, "~B");\r
210 Clazz.defineMethod (c$, "setShowsRootHandles", \r
211 function (newValue) {\r
212 var oldValue = this.showsRootHandles;\r
213 var model = this.getModel ();\r
214 this.showsRootHandles = newValue;\r
215 this.showsRootHandlesSet = true;\r
216 this.firePropertyChangeBool ("showsRootHandles", oldValue, this.showsRootHandles);\r
217 this.invalidate ();\r
218 }, "~B");\r
219 Clazz.defineMethod (c$, "getShowsRootHandles", \r
220 function () {\r
221 return this.showsRootHandles;\r
222 });\r
223 Clazz.defineMethod (c$, "setRowHeight", \r
224 function (rowHeight) {\r
225 var oldValue = this.rowHeight;\r
226 this.rowHeight = rowHeight;\r
227 this.rowHeightSet = true;\r
228 this.firePropertyChangeInt ("rowHeight", oldValue, this.rowHeight);\r
229 this.invalidate ();\r
230 }, "~N");\r
231 Clazz.defineMethod (c$, "getRowHeight", \r
232 function () {\r
233 return this.rowHeight;\r
234 });\r
235 Clazz.defineMethod (c$, "isFixedRowHeight", \r
236 function () {\r
237 return (this.rowHeight > 0);\r
238 });\r
239 Clazz.defineMethod (c$, "setLargeModel", \r
240 function (newValue) {\r
241 var oldValue = this.largeModel;\r
242 this.largeModel = newValue;\r
243 this.firePropertyChangeBool ("largeModel", oldValue, newValue);\r
244 }, "~B");\r
245 Clazz.defineMethod (c$, "isLargeModel", \r
246 function () {\r
247 return this.largeModel;\r
248 });\r
249 Clazz.defineMethod (c$, "setInvokesStopCellEditing", \r
250 function (newValue) {\r
251 var oldValue = this.invokesStopCellEditing;\r
252 this.invokesStopCellEditing = newValue;\r
253 this.firePropertyChangeBool ("invokesStopCellEditing", oldValue, newValue);\r
254 }, "~B");\r
255 Clazz.defineMethod (c$, "getInvokesStopCellEditing", \r
256 function () {\r
257 return this.invokesStopCellEditing;\r
258 });\r
259 Clazz.defineMethod (c$, "setScrollsOnExpand", \r
260 function (newValue) {\r
261 var oldValue = this.scrollsOnExpand;\r
262 this.scrollsOnExpand = newValue;\r
263 this.scrollsOnExpandSet = true;\r
264 this.firePropertyChangeBool ("scrollsOnExpand", oldValue, newValue);\r
265 }, "~B");\r
266 Clazz.defineMethod (c$, "getScrollsOnExpand", \r
267 function () {\r
268 return this.scrollsOnExpand;\r
269 });\r
270 Clazz.defineMethod (c$, "setToggleClickCount", \r
271 function (clickCount) {\r
272 var oldCount = this.toggleClickCount;\r
273 this.toggleClickCount = clickCount;\r
274 this.firePropertyChangeInt ("toggleClickCount", oldCount, clickCount);\r
275 }, "~N");\r
276 Clazz.defineMethod (c$, "getToggleClickCount", \r
277 function () {\r
278 return this.toggleClickCount;\r
279 });\r
280 Clazz.defineMethod (c$, "setExpandsSelectedPaths", \r
281 function (newValue) {\r
282 var oldValue = this.expandsSelectedPaths;\r
283 this.expandsSelectedPaths = newValue;\r
284 this.firePropertyChangeBool ("expandsSelectedPaths", oldValue, newValue);\r
285 }, "~B");\r
286 Clazz.defineMethod (c$, "getExpandsSelectedPaths", \r
287 function () {\r
288 return this.expandsSelectedPaths;\r
289 });\r
290 Clazz.defineMethod (c$, "setDragEnabled", \r
291 function (b) {\r
292 this.dragEnabled = b;\r
293 }, "~B");\r
294 Clazz.defineMethod (c$, "getDragEnabled", \r
295 function () {\r
296 return this.dragEnabled;\r
297 });\r
298 Clazz.defineMethod (c$, "isPathEditable", \r
299 function (path) {\r
300 return this.isEditable ();\r
301 }, "javax.swing.tree.TreePath");\r
302 Clazz.defineMethod (c$, "getToolTipText", \r
303 function (event) {\r
304 var tip = null;\r
305 if (event != null) {\r
306 var p = event.getPoint ();\r
307 var selRow = this.getRowForLocation (p.x, p.y);\r
308 var r = this.getCellRenderer ();\r
309 if (selRow != -1 && r != null) {\r
310 var path = this.getPathForRow (selRow);\r
311 var lastPath = path.getLastPathComponent ();\r
312 var rComponent = r.getTreeCellRendererComponent (this, lastPath, this.isRowSelected (selRow), this.isExpanded (selRow), this.getModel ().isLeaf (lastPath), selRow, true);\r
313 if (Clazz.instanceOf (rComponent, javax.swing.JComponent)) {\r
314 var newEvent;\r
315 var pathBounds = this.getPathBounds (path);\r
316 p.translate (-pathBounds.x, -pathBounds.y);\r
317 newEvent =  new java.awt.event.MouseEvent (rComponent, event.getID (), event.getWhen (), event.getModifiers (), p.x, p.y, event.getXOnScreen (), event.getYOnScreen (), event.getClickCount (), event.isPopupTrigger (), 0);\r
318 tip = (rComponent).getToolTipText (newEvent);\r
319 }}}if (tip == null) {\r
320 tip = this.getToolTipText ();\r
321 }return tip;\r
322 }, "java.awt.event.MouseEvent");\r
323 Clazz.defineMethod (c$, "convertValueToText", \r
324 function (value, selected, expanded, leaf, row, hasFocus) {\r
325 if (value != null) {\r
326 var sValue = value.toString ();\r
327 if (sValue != null) {\r
328 return sValue;\r
329 }}return "";\r
330 }, "~O,~B,~B,~B,~N,~B");\r
331 Clazz.defineMethod (c$, "getRowCount", \r
332 function () {\r
333 var tree = this.getUI ();\r
334 if (tree != null) return tree.getRowCount (this);\r
335 return 0;\r
336 });\r
337 Clazz.defineMethod (c$, "setSelectionPath", \r
338 function (path) {\r
339 this.getSelectionModel ().setSelectionPath (path);\r
340 }, "javax.swing.tree.TreePath");\r
341 Clazz.defineMethod (c$, "setSelectionPaths", \r
342 function (paths) {\r
343 this.getSelectionModel ().setSelectionPaths (paths);\r
344 }, "~A");\r
345 Clazz.defineMethod (c$, "setLeadSelectionPath", \r
346 function (newPath) {\r
347 var oldValue = this.leadPath;\r
348 this.leadPath = newPath;\r
349 this.firePropertyChangeObject ("leadSelectionPath", oldValue, newPath);\r
350 }, "javax.swing.tree.TreePath");\r
351 Clazz.defineMethod (c$, "setAnchorSelectionPath", \r
352 function (newPath) {\r
353 var oldValue = this.anchorPath;\r
354 this.anchorPath = newPath;\r
355 this.firePropertyChangeObject ("anchorSelectionPath", oldValue, newPath);\r
356 }, "javax.swing.tree.TreePath");\r
357 Clazz.defineMethod (c$, "setSelectionRow", \r
358 function (row) {\r
359 var rows =  Clazz.newIntArray (-1, [row]);\r
360 this.setSelectionRows (rows);\r
361 }, "~N");\r
362 Clazz.defineMethod (c$, "setSelectionRows", \r
363 function (rows) {\r
364 var ui = this.getUI ();\r
365 if (ui != null && rows != null) {\r
366 var numRows = rows.length;\r
367 var paths =  new Array (numRows);\r
368 for (var counter = 0; counter < numRows; counter++) {\r
369 paths[counter] = ui.getPathForRow (this, rows[counter]);\r
370 }\r
371 this.setSelectionPaths (paths);\r
372 }}, "~A");\r
373 Clazz.defineMethod (c$, "addSelectionPath", \r
374 function (path) {\r
375 this.getSelectionModel ().addSelectionPath (path);\r
376 }, "javax.swing.tree.TreePath");\r
377 Clazz.defineMethod (c$, "addSelectionPaths", \r
378 function (paths) {\r
379 this.getSelectionModel ().addSelectionPaths (paths);\r
380 }, "~A");\r
381 Clazz.defineMethod (c$, "addSelectionRow", \r
382 function (row) {\r
383 var rows =  Clazz.newIntArray (-1, [row]);\r
384 this.addSelectionRows (rows);\r
385 }, "~N");\r
386 Clazz.defineMethod (c$, "addSelectionRows", \r
387 function (rows) {\r
388 var ui = this.getUI ();\r
389 if (ui != null && rows != null) {\r
390 var numRows = rows.length;\r
391 var paths =  new Array (numRows);\r
392 for (var counter = 0; counter < numRows; counter++) paths[counter] = ui.getPathForRow (this, rows[counter]);\r
393 \r
394 this.addSelectionPaths (paths);\r
395 }}, "~A");\r
396 Clazz.defineMethod (c$, "getLastSelectedPathComponent", \r
397 function () {\r
398 var selPath = this.getSelectionModel ().getSelectionPath ();\r
399 if (selPath != null) return selPath.getLastPathComponent ();\r
400 return null;\r
401 });\r
402 Clazz.defineMethod (c$, "getLeadSelectionPath", \r
403 function () {\r
404 return this.leadPath;\r
405 });\r
406 Clazz.defineMethod (c$, "getAnchorSelectionPath", \r
407 function () {\r
408 return this.anchorPath;\r
409 });\r
410 Clazz.defineMethod (c$, "getSelectionPath", \r
411 function () {\r
412 return this.getSelectionModel ().getSelectionPath ();\r
413 });\r
414 Clazz.defineMethod (c$, "getSelectionPaths", \r
415 function () {\r
416 return this.getSelectionModel ().getSelectionPaths ();\r
417 });\r
418 Clazz.defineMethod (c$, "getSelectionRows", \r
419 function () {\r
420 return this.getSelectionModel ().getSelectionRows ();\r
421 });\r
422 Clazz.defineMethod (c$, "getSelectionCount", \r
423 function () {\r
424 return this.selectionModel.getSelectionCount ();\r
425 });\r
426 Clazz.defineMethod (c$, "getMinSelectionRow", \r
427 function () {\r
428 return this.getSelectionModel ().getMinSelectionRow ();\r
429 });\r
430 Clazz.defineMethod (c$, "getMaxSelectionRow", \r
431 function () {\r
432 return this.getSelectionModel ().getMaxSelectionRow ();\r
433 });\r
434 Clazz.defineMethod (c$, "getLeadSelectionRow", \r
435 function () {\r
436 var leadPath = this.getLeadSelectionPath ();\r
437 if (leadPath != null) {\r
438 return this.getRowForPath (leadPath);\r
439 }return -1;\r
440 });\r
441 Clazz.defineMethod (c$, "isPathSelected", \r
442 function (path) {\r
443 return this.getSelectionModel ().isPathSelected (path);\r
444 }, "javax.swing.tree.TreePath");\r
445 Clazz.defineMethod (c$, "isRowSelected", \r
446 function (row) {\r
447 return this.getSelectionModel ().isRowSelected (row);\r
448 }, "~N");\r
449 Clazz.defineMethod (c$, "getExpandedDescendants", \r
450 function (parent) {\r
451 if (!this.isExpanded (parent)) return null;\r
452 var toggledPaths = this.expandedState.keys ();\r
453 var elements = null;\r
454 var path;\r
455 var value;\r
456 if (toggledPaths != null) {\r
457 while (toggledPaths.hasMoreElements ()) {\r
458 path = toggledPaths.nextElement ();\r
459 value = this.expandedState.get (path);\r
460 if (path !== parent && value != null && (value).booleanValue () && parent.isDescendant (path) && this.isVisible (path)) {\r
461 if (elements == null) {\r
462 elements =  new java.util.Vector ();\r
463 }elements.addElement (path);\r
464 }}\r
465 }if (elements == null) {\r
466 var empty = java.util.Collections.emptySet ();\r
467 return java.util.Collections.enumeration (empty);\r
468 }return elements.elements ();\r
469 }, "javax.swing.tree.TreePath");\r
470 Clazz.defineMethod (c$, "hasBeenExpanded", \r
471 function (path) {\r
472 return (path != null && this.expandedState.get (path) != null);\r
473 }, "javax.swing.tree.TreePath");\r
474 Clazz.defineMethod (c$, "isExpanded", \r
475 function (path) {\r
476 if (path == null) return false;\r
477 var value = this.expandedState.get (path);\r
478 if (value == null || !(value).booleanValue ()) return false;\r
479 var parentPath = path.getParentPath ();\r
480 if (parentPath != null) return this.isExpanded (parentPath);\r
481 return true;\r
482 }, "javax.swing.tree.TreePath");\r
483 Clazz.defineMethod (c$, "isExpanded", \r
484 function (row) {\r
485 var tree = this.getUI ();\r
486 if (tree != null) {\r
487 var path = tree.getPathForRow (this, row);\r
488 if (path != null) {\r
489 var value = this.expandedState.get (path);\r
490 return (value != null && value.booleanValue ());\r
491 }}return false;\r
492 }, "~N");\r
493 Clazz.defineMethod (c$, "isCollapsed", \r
494 function (path) {\r
495 return !this.isExpanded (path);\r
496 }, "javax.swing.tree.TreePath");\r
497 Clazz.defineMethod (c$, "isCollapsed", \r
498 function (row) {\r
499 return !this.isExpanded (row);\r
500 }, "~N");\r
501 Clazz.defineMethod (c$, "makeVisible", \r
502 function (path) {\r
503 if (path != null) {\r
504 var parentPath = path.getParentPath ();\r
505 if (parentPath != null) {\r
506 this.expandPath (parentPath);\r
507 }}}, "javax.swing.tree.TreePath");\r
508 Clazz.defineMethod (c$, "isVisible", \r
509 function (path) {\r
510 if (path != null) {\r
511 var parentPath = path.getParentPath ();\r
512 if (parentPath != null) return this.isExpanded (parentPath);\r
513 return true;\r
514 }return false;\r
515 }, "javax.swing.tree.TreePath");\r
516 Clazz.defineMethod (c$, "getPathBounds", \r
517 function (path) {\r
518 var tree = this.getUI ();\r
519 if (tree != null) return tree.getPathBounds (this, path);\r
520 return null;\r
521 }, "javax.swing.tree.TreePath");\r
522 Clazz.defineMethod (c$, "getRowBounds", \r
523 function (row) {\r
524 return this.getPathBounds (this.getPathForRow (row));\r
525 }, "~N");\r
526 Clazz.defineMethod (c$, "scrollPathToVisible", \r
527 function (path) {\r
528 if (path != null) {\r
529 this.makeVisible (path);\r
530 var bounds = this.getPathBounds (path);\r
531 if (bounds != null) {\r
532 this.scrollRectToVisible (bounds);\r
533 }}}, "javax.swing.tree.TreePath");\r
534 Clazz.defineMethod (c$, "scrollRowToVisible", \r
535 function (row) {\r
536 this.scrollPathToVisible (this.getPathForRow (row));\r
537 }, "~N");\r
538 Clazz.defineMethod (c$, "getPathForRow", \r
539 function (row) {\r
540 var tree = this.getUI ();\r
541 if (tree != null) return tree.getPathForRow (this, row);\r
542 return null;\r
543 }, "~N");\r
544 Clazz.defineMethod (c$, "getRowForPath", \r
545 function (path) {\r
546 var tree = this.getUI ();\r
547 if (tree != null) return tree.getRowForPath (this, path);\r
548 return -1;\r
549 }, "javax.swing.tree.TreePath");\r
550 Clazz.defineMethod (c$, "expandPath", \r
551 function (path) {\r
552 var model = this.getModel ();\r
553 if (path != null && model != null && !model.isLeaf (path.getLastPathComponent ())) {\r
554 this.setExpandedState (path, true);\r
555 }}, "javax.swing.tree.TreePath");\r
556 Clazz.defineMethod (c$, "expandRow", \r
557 function (row) {\r
558 this.expandPath (this.getPathForRow (row));\r
559 }, "~N");\r
560 Clazz.defineMethod (c$, "collapsePath", \r
561 function (path) {\r
562 this.setExpandedState (path, false);\r
563 }, "javax.swing.tree.TreePath");\r
564 Clazz.defineMethod (c$, "collapseRow", \r
565 function (row) {\r
566 this.collapsePath (this.getPathForRow (row));\r
567 }, "~N");\r
568 Clazz.defineMethod (c$, "getPathForLocation", \r
569 function (x, y) {\r
570 var closestPath = this.getClosestPathForLocation (x, y);\r
571 if (closestPath != null) {\r
572 var pathBounds = this.getPathBounds (closestPath);\r
573 if (pathBounds != null && x >= pathBounds.x && x < (pathBounds.x + pathBounds.width) && y >= pathBounds.y && y < (pathBounds.y + pathBounds.height)) return closestPath;\r
574 }return null;\r
575 }, "~N,~N");\r
576 Clazz.defineMethod (c$, "getRowForLocation", \r
577 function (x, y) {\r
578 return this.getRowForPath (this.getPathForLocation (x, y));\r
579 }, "~N,~N");\r
580 Clazz.defineMethod (c$, "getClosestPathForLocation", \r
581 function (x, y) {\r
582 var tree = this.getUI ();\r
583 if (tree != null) return tree.getClosestPathForLocation (this, x, y);\r
584 return null;\r
585 }, "~N,~N");\r
586 Clazz.defineMethod (c$, "getClosestRowForLocation", \r
587 function (x, y) {\r
588 return this.getRowForPath (this.getClosestPathForLocation (x, y));\r
589 }, "~N,~N");\r
590 Clazz.defineMethod (c$, "isEditing", \r
591 function () {\r
592 var tree = this.getUI ();\r
593 if (tree != null) return tree.isEditing (this);\r
594 return false;\r
595 });\r
596 Clazz.defineMethod (c$, "stopEditing", \r
597 function () {\r
598 var tree = this.getUI ();\r
599 if (tree != null) return tree.stopEditing (this);\r
600 return false;\r
601 });\r
602 Clazz.defineMethod (c$, "cancelEditing", \r
603 function () {\r
604 var tree = this.getUI ();\r
605 if (tree != null) tree.cancelEditing (this);\r
606 });\r
607 Clazz.defineMethod (c$, "startEditingAtPath", \r
608 function (path) {\r
609 var tree = this.getUI ();\r
610 if (tree != null) tree.startEditingAtPath (this, path);\r
611 }, "javax.swing.tree.TreePath");\r
612 Clazz.defineMethod (c$, "getEditingPath", \r
613 function () {\r
614 var tree = this.getUI ();\r
615 if (tree != null) return tree.getEditingPath (this);\r
616 return null;\r
617 });\r
618 Clazz.defineMethod (c$, "setSelectionModel", \r
619 function (selectionModel) {\r
620 if (selectionModel == null) selectionModel = javax.swing.JTree.EmptySelectionModel.sharedInstance ();\r
621 var oldValue = this.selectionModel;\r
622 if (this.selectionModel != null && this.selectionRedirector != null) {\r
623 this.selectionModel.removeTreeSelectionListener (this.selectionRedirector);\r
624 }this.selectionModel = selectionModel;\r
625 if (this.selectionRedirector != null) {\r
626 this.selectionModel.addTreeSelectionListener (this.selectionRedirector);\r
627 }this.firePropertyChangeObject ("selectionModel", oldValue, this.selectionModel);\r
628 }, "javax.swing.tree.TreeSelectionModel");\r
629 Clazz.defineMethod (c$, "getSelectionModel", \r
630 function () {\r
631 return this.selectionModel;\r
632 });\r
633 Clazz.defineMethod (c$, "getPathBetweenRows", \r
634 function (index0, index1) {\r
635 var newMinIndex;\r
636 var newMaxIndex;\r
637 var tree = this.getUI ();\r
638 newMinIndex = Math.min (index0, index1);\r
639 newMaxIndex = Math.max (index0, index1);\r
640 if (tree != null) {\r
641 var selection =  new Array (newMaxIndex - newMinIndex + 1);\r
642 for (var counter = newMinIndex; counter <= newMaxIndex; counter++) {\r
643 selection[counter - newMinIndex] = tree.getPathForRow (this, counter);\r
644 }\r
645 return selection;\r
646 }return null;\r
647 }, "~N,~N");\r
648 Clazz.defineMethod (c$, "setSelectionInterval", \r
649 function (index0, index1) {\r
650 var paths = this.getPathBetweenRows (index0, index1);\r
651 this.getSelectionModel ().setSelectionPaths (paths);\r
652 }, "~N,~N");\r
653 Clazz.defineMethod (c$, "addSelectionInterval", \r
654 function (index0, index1) {\r
655 var paths = this.getPathBetweenRows (index0, index1);\r
656 this.getSelectionModel ().addSelectionPaths (paths);\r
657 }, "~N,~N");\r
658 Clazz.defineMethod (c$, "removeSelectionInterval", \r
659 function (index0, index1) {\r
660 var paths = this.getPathBetweenRows (index0, index1);\r
661 this.getSelectionModel ().removeSelectionPaths (paths);\r
662 }, "~N,~N");\r
663 Clazz.defineMethod (c$, "removeSelectionPath", \r
664 function (path) {\r
665 this.getSelectionModel ().removeSelectionPath (path);\r
666 }, "javax.swing.tree.TreePath");\r
667 Clazz.defineMethod (c$, "removeSelectionPaths", \r
668 function (paths) {\r
669 this.getSelectionModel ().removeSelectionPaths (paths);\r
670 }, "~A");\r
671 Clazz.defineMethod (c$, "removeSelectionRow", \r
672 function (row) {\r
673 var rows =  Clazz.newIntArray (-1, [row]);\r
674 this.removeSelectionRows (rows);\r
675 }, "~N");\r
676 Clazz.defineMethod (c$, "removeSelectionRows", \r
677 function (rows) {\r
678 var ui = this.getUI ();\r
679 if (ui != null && rows != null) {\r
680 var numRows = rows.length;\r
681 var paths =  new Array (numRows);\r
682 for (var counter = 0; counter < numRows; counter++) paths[counter] = ui.getPathForRow (this, rows[counter]);\r
683 \r
684 this.removeSelectionPaths (paths);\r
685 }}, "~A");\r
686 Clazz.defineMethod (c$, "clearSelection", \r
687 function () {\r
688 this.getSelectionModel ().clearSelection ();\r
689 });\r
690 Clazz.defineMethod (c$, "isSelectionEmpty", \r
691 function () {\r
692 return this.getSelectionModel ().isSelectionEmpty ();\r
693 });\r
694 Clazz.defineMethod (c$, "addTreeExpansionListener", \r
695 function (tel) {\r
696 if (this.settingUI) {\r
697 this.uiTreeExpansionListener = tel;\r
698 }this.listenerList.add (javax.swing.event.TreeExpansionListener, tel);\r
699 }, "javax.swing.event.TreeExpansionListener");\r
700 Clazz.defineMethod (c$, "removeTreeExpansionListener", \r
701 function (tel) {\r
702 this.listenerList.remove (javax.swing.event.TreeExpansionListener, tel);\r
703 if (this.uiTreeExpansionListener === tel) {\r
704 this.uiTreeExpansionListener = null;\r
705 }}, "javax.swing.event.TreeExpansionListener");\r
706 Clazz.defineMethod (c$, "getTreeExpansionListeners", \r
707 function () {\r
708 return this.listenerList.getListeners (javax.swing.event.TreeExpansionListener);\r
709 });\r
710 Clazz.defineMethod (c$, "addTreeWillExpandListener", \r
711 function (tel) {\r
712 this.listenerList.add (javax.swing.event.TreeWillExpandListener, tel);\r
713 }, "javax.swing.event.TreeWillExpandListener");\r
714 Clazz.defineMethod (c$, "removeTreeWillExpandListener", \r
715 function (tel) {\r
716 this.listenerList.remove (javax.swing.event.TreeWillExpandListener, tel);\r
717 }, "javax.swing.event.TreeWillExpandListener");\r
718 Clazz.defineMethod (c$, "getTreeWillExpandListeners", \r
719 function () {\r
720 return this.listenerList.getListeners (javax.swing.event.TreeWillExpandListener);\r
721 });\r
722 Clazz.defineMethod (c$, "fireTreeExpanded", \r
723 function (path) {\r
724 var listeners = this.listenerList.getListenerList ();\r
725 var e = null;\r
726 if (this.uiTreeExpansionListener != null) {\r
727 e =  new javax.swing.event.TreeExpansionEvent (this, path);\r
728 this.uiTreeExpansionListener.treeExpanded (e);\r
729 }for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
730 if (listeners[i] === javax.swing.event.TreeExpansionListener && listeners[i + 1] !== this.uiTreeExpansionListener) {\r
731 if (e == null) e =  new javax.swing.event.TreeExpansionEvent (this, path);\r
732 (listeners[i + 1]).treeExpanded (e);\r
733 }}\r
734 }, "javax.swing.tree.TreePath");\r
735 Clazz.defineMethod (c$, "fireTreeCollapsed", \r
736 function (path) {\r
737 var listeners = this.listenerList.getListenerList ();\r
738 var e = null;\r
739 if (this.uiTreeExpansionListener != null) {\r
740 e =  new javax.swing.event.TreeExpansionEvent (this, path);\r
741 this.uiTreeExpansionListener.treeCollapsed (e);\r
742 }for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
743 if (listeners[i] === javax.swing.event.TreeExpansionListener && listeners[i + 1] !== this.uiTreeExpansionListener) {\r
744 if (e == null) e =  new javax.swing.event.TreeExpansionEvent (this, path);\r
745 (listeners[i + 1]).treeCollapsed (e);\r
746 }}\r
747 }, "javax.swing.tree.TreePath");\r
748 Clazz.defineMethod (c$, "fireTreeWillExpand", \r
749 function (path) {\r
750 var listeners = this.listenerList.getListenerList ();\r
751 var e = null;\r
752 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
753 if (listeners[i] === javax.swing.event.TreeWillExpandListener) {\r
754 if (e == null) e =  new javax.swing.event.TreeExpansionEvent (this, path);\r
755 (listeners[i + 1]).treeWillExpand (e);\r
756 }}\r
757 }, "javax.swing.tree.TreePath");\r
758 Clazz.defineMethod (c$, "fireTreeWillCollapse", \r
759 function (path) {\r
760 var listeners = this.listenerList.getListenerList ();\r
761 var e = null;\r
762 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
763 if (listeners[i] === javax.swing.event.TreeWillExpandListener) {\r
764 if (e == null) e =  new javax.swing.event.TreeExpansionEvent (this, path);\r
765 (listeners[i + 1]).treeWillCollapse (e);\r
766 }}\r
767 }, "javax.swing.tree.TreePath");\r
768 Clazz.defineMethod (c$, "addTreeSelectionListener", \r
769 function (tsl) {\r
770 this.listenerList.add (javax.swing.event.TreeSelectionListener, tsl);\r
771 if (this.listenerList.getListenerCount (javax.swing.event.TreeSelectionListener) != 0 && this.selectionRedirector == null) {\r
772 this.selectionRedirector = Clazz.innerTypeInstance (javax.swing.JTree.TreeSelectionRedirector, this, null);\r
773 this.selectionModel.addTreeSelectionListener (this.selectionRedirector);\r
774 }}, "javax.swing.event.TreeSelectionListener");\r
775 Clazz.defineMethod (c$, "removeTreeSelectionListener", \r
776 function (tsl) {\r
777 this.listenerList.remove (javax.swing.event.TreeSelectionListener, tsl);\r
778 if (this.listenerList.getListenerCount (javax.swing.event.TreeSelectionListener) == 0 && this.selectionRedirector != null) {\r
779 this.selectionModel.removeTreeSelectionListener (this.selectionRedirector);\r
780 this.selectionRedirector = null;\r
781 }}, "javax.swing.event.TreeSelectionListener");\r
782 Clazz.defineMethod (c$, "getTreeSelectionListeners", \r
783 function () {\r
784 return this.listenerList.getListeners (javax.swing.event.TreeSelectionListener);\r
785 });\r
786 Clazz.defineMethod (c$, "fireValueChanged", \r
787 function (e) {\r
788 var listeners = this.listenerList.getListenerList ();\r
789 for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
790 if (listeners[i] === javax.swing.event.TreeSelectionListener) {\r
791 (listeners[i + 1]).valueChanged (e);\r
792 }}\r
793 }, "javax.swing.event.TreeSelectionEvent");\r
794 Clazz.defineMethod (c$, "treeDidChange", \r
795 function () {\r
796 this.revalidate ();\r
797 this.repaint ();\r
798 });\r
799 Clazz.defineMethod (c$, "setVisibleRowCount", \r
800 function (newCount) {\r
801 var oldCount = this.visibleRowCount;\r
802 this.visibleRowCount = newCount;\r
803 this.firePropertyChangeInt ("visibleRowCount", oldCount, this.visibleRowCount);\r
804 this.invalidate ();\r
805 }, "~N");\r
806 Clazz.defineMethod (c$, "getVisibleRowCount", \r
807 function () {\r
808 return this.visibleRowCount;\r
809 });\r
810 Clazz.defineMethod (c$, "expandRoot", \r
811  function () {\r
812 var model = this.getModel ();\r
813 if (model != null && model.getRoot () != null) {\r
814 this.expandPath ( new javax.swing.tree.TreePath (model.getRoot ()));\r
815 }});\r
816 Clazz.defineMethod (c$, "getNextMatch", \r
817 function (prefix, startingRow, bias) {\r
818 var max = this.getRowCount ();\r
819 if (prefix == null) {\r
820 throw  new IllegalArgumentException ();\r
821 }if (startingRow < 0 || startingRow >= max) {\r
822 throw  new IllegalArgumentException ();\r
823 }prefix = prefix.toUpperCase ();\r
824 var increment = (bias === javax.swing.text.Position.Bias.Forward) ? 1 : -1;\r
825 var row = startingRow;\r
826 do {\r
827 var path = this.getPathForRow (row);\r
828 var text = this.convertValueToText (path.getLastPathComponent (), this.isRowSelected (row), this.isExpanded (row), true, row, false);\r
829 if (text.toUpperCase ().startsWith (prefix)) {\r
830 return path;\r
831 }row = (row + increment + max) % max;\r
832 } while (row != startingRow);\r
833 return null;\r
834 }, "~S,~N,javax.swing.text.Position.Bias");\r
835 Clazz.overrideMethod (c$, "getPreferredScrollableViewportSize", \r
836 function () {\r
837 var width = this.getPreferredSize ().width;\r
838 var visRows = this.getVisibleRowCount ();\r
839 var height = -1;\r
840 if (this.isFixedRowHeight ()) height = visRows * this.getRowHeight ();\r
841  else {\r
842 var ui = this.getUI ();\r
843 if (ui != null && visRows > 0) {\r
844 var rc = ui.getRowCount (this);\r
845 if (rc >= visRows) {\r
846 var bounds = this.getRowBounds (visRows - 1);\r
847 if (bounds != null) {\r
848 height = bounds.y + bounds.height;\r
849 }} else if (rc > 0) {\r
850 var bounds = this.getRowBounds (0);\r
851 if (bounds != null) {\r
852 height = bounds.height * visRows;\r
853 }}}if (height == -1) {\r
854 height = 16 * visRows;\r
855 }}return  new java.awt.Dimension (width, height);\r
856 });\r
857 Clazz.overrideMethod (c$, "getScrollableUnitIncrement", \r
858 function (visibleRect, orientation, direction) {\r
859 if (orientation == 1) {\r
860 var rowBounds;\r
861 var firstIndex = this.getClosestRowForLocation (0, visibleRect.y);\r
862 if (firstIndex != -1) {\r
863 rowBounds = this.getRowBounds (firstIndex);\r
864 if (rowBounds.y != visibleRect.y) {\r
865 if (direction < 0) {\r
866 return Math.max (0, (visibleRect.y - rowBounds.y));\r
867 }return (rowBounds.y + rowBounds.height - visibleRect.y);\r
868 }if (direction < 0) {\r
869 if (firstIndex != 0) {\r
870 rowBounds = this.getRowBounds (firstIndex - 1);\r
871 return rowBounds.height;\r
872 }} else {\r
873 return rowBounds.height;\r
874 }}return 0;\r
875 }return 4;\r
876 }, "java.awt.Rectangle,~N,~N");\r
877 Clazz.overrideMethod (c$, "getScrollableBlockIncrement", \r
878 function (visibleRect, orientation, direction) {\r
879 return (orientation == 1) ? visibleRect.height : visibleRect.width;\r
880 }, "java.awt.Rectangle,~N,~N");\r
881 Clazz.overrideMethod (c$, "getScrollableTracksViewportWidth", \r
882 function () {\r
883 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {\r
884 return ((this.getParent ()).getWidth () > this.getPreferredSize ().width);\r
885 }return false;\r
886 });\r
887 Clazz.overrideMethod (c$, "getScrollableTracksViewportHeight", \r
888 function () {\r
889 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {\r
890 return ((this.getParent ()).getHeight () > this.getPreferredSize ().height);\r
891 }return false;\r
892 });\r
893 Clazz.defineMethod (c$, "setExpandedState", \r
894 function (path, state) {\r
895 if (path != null) {\r
896 var stack;\r
897 var parentPath = path.getParentPath ();\r
898 if (this.expandedStack.size () == 0) {\r
899 stack =  new java.util.Stack ();\r
900 } else {\r
901 stack = this.expandedStack.pop ();\r
902 }try {\r
903 while (parentPath != null) {\r
904 if (this.isExpanded (parentPath)) {\r
905 parentPath = null;\r
906 } else {\r
907 stack.push (parentPath);\r
908 parentPath = parentPath.getParentPath ();\r
909 }}\r
910 for (var counter = stack.size () - 1; counter >= 0; counter--) {\r
911 parentPath = stack.pop ();\r
912 if (!this.isExpanded (parentPath)) {\r
913 try {\r
914 this.fireTreeWillExpand (parentPath);\r
915 } catch (eve) {\r
916 if (Clazz.exceptionOf (eve, javax.swing.tree.ExpandVetoException)) {\r
917 return;\r
918 } else {\r
919 throw eve;\r
920 }\r
921 }\r
922 this.expandedState.put (parentPath, Boolean.TRUE);\r
923 this.fireTreeExpanded (parentPath);\r
924 }}\r
925 } finally {\r
926 if (this.expandedStack.size () < javax.swing.JTree.TEMP_STACK_SIZE) {\r
927 stack.removeAllElements ();\r
928 this.expandedStack.push (stack);\r
929 }}\r
930 if (!state) {\r
931 var cValue = this.expandedState.get (path);\r
932 if (cValue != null && (cValue).booleanValue ()) {\r
933 try {\r
934 this.fireTreeWillCollapse (path);\r
935 } catch (eve) {\r
936 if (Clazz.exceptionOf (eve, javax.swing.tree.ExpandVetoException)) {\r
937 return;\r
938 } else {\r
939 throw eve;\r
940 }\r
941 }\r
942 this.expandedState.put (path, Boolean.FALSE);\r
943 this.fireTreeCollapsed (path);\r
944 if (this.removeDescendantSelectedPaths (path, false) && !this.isPathSelected (path)) {\r
945 this.addSelectionPath (path);\r
946 }}} else {\r
947 var cValue = this.expandedState.get (path);\r
948 if (cValue == null || !(cValue).booleanValue ()) {\r
949 try {\r
950 this.fireTreeWillExpand (path);\r
951 } catch (eve) {\r
952 if (Clazz.exceptionOf (eve, javax.swing.tree.ExpandVetoException)) {\r
953 return;\r
954 } else {\r
955 throw eve;\r
956 }\r
957 }\r
958 this.expandedState.put (path, Boolean.TRUE);\r
959 this.fireTreeExpanded (path);\r
960 }}}}, "javax.swing.tree.TreePath,~B");\r
961 Clazz.defineMethod (c$, "getDescendantToggledPaths", \r
962 function (parent) {\r
963 if (parent == null) return null;\r
964 var descendants =  new java.util.Vector ();\r
965 var nodes = this.expandedState.keys ();\r
966 var path;\r
967 while (nodes.hasMoreElements ()) {\r
968 path = nodes.nextElement ();\r
969 if (parent.isDescendant (path)) descendants.addElement (path);\r
970 }\r
971 return descendants.elements ();\r
972 }, "javax.swing.tree.TreePath");\r
973 Clazz.defineMethod (c$, "removeDescendantToggledPaths", \r
974 function (toRemove) {\r
975 if (toRemove != null) {\r
976 while (toRemove.hasMoreElements ()) {\r
977 var descendants = this.getDescendantToggledPaths (toRemove.nextElement ());\r
978 if (descendants != null) {\r
979 while (descendants.hasMoreElements ()) {\r
980 this.expandedState.remove (descendants.nextElement ());\r
981 }\r
982 }}\r
983 }}, "java.util.Enumeration");\r
984 Clazz.defineMethod (c$, "clearToggledPaths", \r
985 function () {\r
986 this.expandedState.clear ();\r
987 });\r
988 Clazz.defineMethod (c$, "createTreeModelListener", \r
989 function () {\r
990 return Clazz.innerTypeInstance (javax.swing.JTree.TreeModelHandler, this, null);\r
991 });\r
992 Clazz.defineMethod (c$, "removeDescendantSelectedPaths", \r
993 function (path, includePath) {\r
994 var toRemove = this.getDescendantSelectedPaths (path, includePath);\r
995 if (toRemove != null) {\r
996 this.getSelectionModel ().removeSelectionPaths (toRemove);\r
997 return true;\r
998 }return false;\r
999 }, "javax.swing.tree.TreePath,~B");\r
1000 Clazz.defineMethod (c$, "getDescendantSelectedPaths", \r
1001  function (path, includePath) {\r
1002 var sm = this.getSelectionModel ();\r
1003 var selPaths = (sm != null) ? sm.getSelectionPaths () : null;\r
1004 if (selPaths != null) {\r
1005 var shouldRemove = false;\r
1006 for (var counter = selPaths.length - 1; counter >= 0; counter--) {\r
1007 if (selPaths[counter] != null && path.isDescendant (selPaths[counter]) && (!path.equals (selPaths[counter]) || includePath)) shouldRemove = true;\r
1008  else selPaths[counter] = null;\r
1009 }\r
1010 if (!shouldRemove) {\r
1011 selPaths = null;\r
1012 }return selPaths;\r
1013 }return null;\r
1014 }, "javax.swing.tree.TreePath,~B");\r
1015 Clazz.defineMethod (c$, "removeDescendantSelectedPaths", \r
1016 function (e) {\r
1017 var pPath = e.getTreePath ();\r
1018 var oldChildren = e.getChildren ();\r
1019 var sm = this.getSelectionModel ();\r
1020 if (sm != null && pPath != null && oldChildren != null && oldChildren.length > 0) {\r
1021 for (var counter = oldChildren.length - 1; counter >= 0; counter--) {\r
1022 this.removeDescendantSelectedPaths (pPath.pathByAddingChild (oldChildren[counter]), true);\r
1023 }\r
1024 }}, "javax.swing.event.TreeModelEvent");\r
1025 Clazz.defineMethod (c$, "setUIProperty", \r
1026 function (propertyName, value) {\r
1027 if (propertyName === "rowHeight") {\r
1028 if (!this.rowHeightSet) {\r
1029 this.setRowHeight ((value).intValue ());\r
1030 this.rowHeightSet = false;\r
1031 }} else if (propertyName === "scrollsOnExpand") {\r
1032 if (!this.scrollsOnExpandSet) {\r
1033 this.setScrollsOnExpand ((value).booleanValue ());\r
1034 this.scrollsOnExpandSet = false;\r
1035 }} else if (propertyName === "showsRootHandles") {\r
1036 if (!this.showsRootHandlesSet) {\r
1037 this.setShowsRootHandles ((value).booleanValue ());\r
1038 this.showsRootHandlesSet = false;\r
1039 }} else {\r
1040 Clazz.superCall (this, javax.swing.JTree, "setUIProperty", [propertyName, value]);\r
1041 }}, "~S,~O");\r
1042 Clazz.defineMethod (c$, "paramString", \r
1043 function () {\r
1044 var rootVisibleString = (this.rootVisible ? "true" : "false");\r
1045 var showsRootHandlesString = (this.showsRootHandles ? "true" : "false");\r
1046 var editableString = (this.editable ? "true" : "false");\r
1047 var largeModelString = (this.largeModel ? "true" : "false");\r
1048 var invokesStopCellEditingString = (this.invokesStopCellEditing ? "true" : "false");\r
1049 var scrollsOnExpandString = (this.scrollsOnExpand ? "true" : "false");\r
1050 return Clazz.superCall (this, javax.swing.JTree, "paramString", []) + ",editable=" + editableString + ",invokesStopCellEditing=" + invokesStopCellEditingString + ",largeModel=" + largeModelString + ",rootVisible=" + rootVisibleString + ",rowHeight=" + this.rowHeight + ",scrollsOnExpand=" + scrollsOnExpandString + ",showsRootHandles=" + showsRootHandlesString + ",toggleClickCount=" + this.toggleClickCount + ",visibleRowCount=" + this.visibleRowCount;\r
1051 });\r
1052 c$.$JTree$TreeSelectionRedirector$ = function () {\r
1053 Clazz.pu$h(self.c$);\r
1054 c$ = Clazz.decorateAsClass (function () {\r
1055 Clazz.prepareCallback (this, arguments);\r
1056 Clazz.instantialize (this, arguments);\r
1057 }, javax.swing.JTree, "TreeSelectionRedirector", null, javax.swing.event.TreeSelectionListener);\r
1058 Clazz.overrideMethod (c$, "valueChanged", \r
1059 function (a) {\r
1060 var b;\r
1061 b = a.cloneWithSource (this.b$["javax.swing.JTree"]);\r
1062 this.b$["javax.swing.JTree"].fireValueChanged (b);\r
1063 }, "javax.swing.event.TreeSelectionEvent");\r
1064 c$ = Clazz.p0p ();\r
1065 };\r
1066 c$.$JTree$TreeModelHandler$ = function () {\r
1067 Clazz.pu$h(self.c$);\r
1068 c$ = Clazz.decorateAsClass (function () {\r
1069 Clazz.prepareCallback (this, arguments);\r
1070 Clazz.instantialize (this, arguments);\r
1071 }, javax.swing.JTree, "TreeModelHandler", null, javax.swing.event.TreeModelListener);\r
1072 Clazz.overrideMethod (c$, "treeNodesChanged", \r
1073 function (a) {\r
1074 }, "javax.swing.event.TreeModelEvent");\r
1075 Clazz.overrideMethod (c$, "treeNodesInserted", \r
1076 function (a) {\r
1077 }, "javax.swing.event.TreeModelEvent");\r
1078 Clazz.overrideMethod (c$, "treeStructureChanged", \r
1079 function (a) {\r
1080 if (a == null) return;\r
1081 var b = a.getTreePath ();\r
1082 if (b == null) return;\r
1083 if (b.getPathCount () == 1) {\r
1084 this.b$["javax.swing.JTree"].clearToggledPaths ();\r
1085 if (this.b$["javax.swing.JTree"].treeModel.getRoot () != null && !this.b$["javax.swing.JTree"].treeModel.isLeaf (this.b$["javax.swing.JTree"].treeModel.getRoot ())) {\r
1086 this.b$["javax.swing.JTree"].expandedState.put (b, Boolean.TRUE);\r
1087 }} else if (this.b$["javax.swing.JTree"].expandedState.get (b) != null) {\r
1088 var c =  new java.util.Vector (1);\r
1089 var d = this.b$["javax.swing.JTree"].isExpanded (b);\r
1090 c.addElement (b);\r
1091 this.b$["javax.swing.JTree"].removeDescendantToggledPaths (c.elements ());\r
1092 if (d) {\r
1093 var e = this.b$["javax.swing.JTree"].getModel ();\r
1094 if (e == null || e.isLeaf (b.getLastPathComponent ())) this.b$["javax.swing.JTree"].collapsePath (b);\r
1095  else this.b$["javax.swing.JTree"].expandedState.put (b, Boolean.TRUE);\r
1096 }}this.b$["javax.swing.JTree"].removeDescendantSelectedPaths (b, false);\r
1097 }, "javax.swing.event.TreeModelEvent");\r
1098 Clazz.overrideMethod (c$, "treeNodesRemoved", \r
1099 function (a) {\r
1100 if (a == null) return;\r
1101 var b = a.getTreePath ();\r
1102 var c = a.getChildren ();\r
1103 if (c == null) return;\r
1104 var d;\r
1105 var e =  new java.util.Vector (Math.max (1, c.length));\r
1106 for (var f = c.length - 1; f >= 0; f--) {\r
1107 d = b.pathByAddingChild (c[f]);\r
1108 if (this.b$["javax.swing.JTree"].expandedState.get (d) != null) e.addElement (d);\r
1109 }\r
1110 if (e.size () > 0) this.b$["javax.swing.JTree"].removeDescendantToggledPaths (e.elements ());\r
1111 var g = this.b$["javax.swing.JTree"].getModel ();\r
1112 if (g == null || g.isLeaf (b.getLastPathComponent ())) this.b$["javax.swing.JTree"].expandedState.remove (b);\r
1113 this.b$["javax.swing.JTree"].removeDescendantSelectedPaths (a);\r
1114 }, "javax.swing.event.TreeModelEvent");\r
1115 c$ = Clazz.p0p ();\r
1116 };\r
1117 Clazz.pu$h(self.c$);\r
1118 c$ = Clazz.declareType (javax.swing.JTree, "EmptySelectionModel", javax.swing.tree.DefaultTreeSelectionModel);\r
1119 c$.sharedInstance = Clazz.defineMethod (c$, "sharedInstance", \r
1120 function () {\r
1121 return javax.swing.JTree.EmptySelectionModel.$sharedInstance;\r
1122 });\r
1123 Clazz.overrideMethod (c$, "setSelectionPaths", \r
1124 function (a) {\r
1125 }, "~A");\r
1126 Clazz.overrideMethod (c$, "addSelectionPaths", \r
1127 function (a) {\r
1128 }, "~A");\r
1129 Clazz.overrideMethod (c$, "removeSelectionPaths", \r
1130 function (a) {\r
1131 }, "~A");\r
1132 c$.$sharedInstance = c$.prototype.$sharedInstance =  new javax.swing.JTree.EmptySelectionModel ();\r
1133 c$ = Clazz.p0p ();\r
1134 Clazz.pu$h(self.c$);\r
1135 c$ = Clazz.decorateAsClass (function () {\r
1136 this.hasChildren = false;\r
1137 this.childValue = null;\r
1138 this.loadedChildren = false;\r
1139 Clazz.instantialize (this, arguments);\r
1140 }, javax.swing.JTree, "DynamicUtilTreeNode", javax.swing.tree.DefaultMutableTreeNode);\r
1141 c$.createChildren = Clazz.defineMethod (c$, "createChildren", \r
1142 function (a, b) {\r
1143 if (Clazz.instanceOf (b, java.util.Vector)) {\r
1144 var c = b;\r
1145 for (var d = 0, e = c.size (); d < e; d++) a.add ( new javax.swing.JTree.DynamicUtilTreeNode (c.elementAt (d), c.elementAt (d)));\r
1146 \r
1147 } else if (Clazz.instanceOf (b, java.util.Hashtable)) {\r
1148 var c = b;\r
1149 var d = c.keys ();\r
1150 var e;\r
1151 while (d.hasMoreElements ()) {\r
1152 e = d.nextElement ();\r
1153 a.add ( new javax.swing.JTree.DynamicUtilTreeNode (e, c.get (e)));\r
1154 }\r
1155 } else if (Clazz.instanceOf (b, Array)) {\r
1156 var c = b;\r
1157 for (var d = 0, e = c.length; d < e; d++) a.add ( new javax.swing.JTree.DynamicUtilTreeNode (c[d], c[d]));\r
1158 \r
1159 }}, "javax.swing.tree.DefaultMutableTreeNode,~O");\r
1160 Clazz.makeConstructor (c$, \r
1161 function (a, b) {\r
1162 Clazz.superConstructor (this, javax.swing.JTree.DynamicUtilTreeNode, [a]);\r
1163 this.loadedChildren = false;\r
1164 this.childValue = b;\r
1165 if (b != null) {\r
1166 if (Clazz.instanceOf (b, java.util.Vector)) this.setAllowsChildren (true);\r
1167  else if (Clazz.instanceOf (b, java.util.Hashtable)) this.setAllowsChildren (true);\r
1168  else if (Clazz.instanceOf (b, Array)) this.setAllowsChildren (true);\r
1169  else this.setAllowsChildren (false);\r
1170 } else this.setAllowsChildren (false);\r
1171 }, "~O,~O");\r
1172 Clazz.overrideMethod (c$, "isLeaf", \r
1173 function () {\r
1174 return !this.getAllowsChildren ();\r
1175 });\r
1176 Clazz.defineMethod (c$, "getChildCount", \r
1177 function () {\r
1178 if (!this.loadedChildren) this.loadChildren ();\r
1179 return Clazz.superCall (this, javax.swing.JTree.DynamicUtilTreeNode, "getChildCount", []);\r
1180 });\r
1181 Clazz.defineMethod (c$, "loadChildren", \r
1182 function () {\r
1183 this.loadedChildren = true;\r
1184 javax.swing.JTree.DynamicUtilTreeNode.createChildren (this, this.childValue);\r
1185 });\r
1186 Clazz.defineMethod (c$, "getChildAt", \r
1187 function (a) {\r
1188 if (!this.loadedChildren) this.loadChildren ();\r
1189 return Clazz.superCall (this, javax.swing.JTree.DynamicUtilTreeNode, "getChildAt", [a]);\r
1190 }, "~N");\r
1191 Clazz.defineMethod (c$, "children", \r
1192 function () {\r
1193 if (!this.loadedChildren) this.loadChildren ();\r
1194 return Clazz.superCall (this, javax.swing.JTree.DynamicUtilTreeNode, "children", []);\r
1195 });\r
1196 c$ = Clazz.p0p ();\r
1197 Clazz.defineStatics (c$,\r
1198 "$uiClassID", "TreeUI",\r
1199 "TEMP_STACK_SIZE", 11,\r
1200 "CELL_RENDERER_PROPERTY", "cellRenderer",\r
1201 "TREE_MODEL_PROPERTY", "model",\r
1202 "ROOT_VISIBLE_PROPERTY", "rootVisible",\r
1203 "SHOWS_ROOT_HANDLES_PROPERTY", "showsRootHandles",\r
1204 "ROW_HEIGHT_PROPERTY", "rowHeight",\r
1205 "CELL_EDITOR_PROPERTY", "cellEditor",\r
1206 "EDITABLE_PROPERTY", "editable",\r
1207 "LARGE_MODEL_PROPERTY", "largeModel",\r
1208 "SELECTION_MODEL_PROPERTY", "selectionModel",\r
1209 "VISIBLE_ROW_COUNT_PROPERTY", "visibleRowCount",\r
1210 "INVOKES_STOP_CELL_EDITING_PROPERTY", "invokesStopCellEditing",\r
1211 "SCROLLS_ON_EXPAND_PROPERTY", "scrollsOnExpand",\r
1212 "TOGGLE_CLICK_COUNT_PROPERTY", "toggleClickCount",\r
1213 "LEAD_SELECTION_PATH_PROPERTY", "leadSelectionPath",\r
1214 "ANCHOR_SELECTION_PATH_PROPERTY", "anchorSelectionPath",\r
1215 "EXPANDS_SELECTED_PATHS_PROPERTY", "expandsSelectedPaths");\r
1216 });\r