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
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
34 if (!Clazz.isClassDefined ("javax.swing.JTree.TreeModelHandler")) {
\r
35 javax.swing.JTree.$JTree$TreeModelHandler$ ();
\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
41 var root = new javax.swing.tree.DefaultMutableTreeNode ("JTree");
\r
43 parent = new javax.swing.tree.DefaultMutableTreeNode ("colors");
\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
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
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
63 c$.createTreeModel = Clazz.defineMethod (c$, "createTreeModel",
\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
70 root = new javax.swing.JTree.DynamicUtilTreeNode ("root", value);
\r
71 }return new javax.swing.tree.DefaultTreeModel (root, false);
\r
73 Clazz.makeConstructor (c$,
\r
75 this.construct (javax.swing.JTree.getDefaultTreeModel ());
\r
77 Clazz.makeConstructor (c$,
\r
79 this.construct (javax.swing.JTree.createTreeModel (value));
\r
80 this.setRootVisible (false);
\r
81 this.setShowsRootHandles (true);
\r
84 Clazz.makeConstructor (c$,
\r
86 this.construct (javax.swing.JTree.createTreeModel (value));
\r
87 this.setRootVisible (false);
\r
88 this.setShowsRootHandles (true);
\r
90 }, "java.util.Vector");
\r
91 Clazz.makeConstructor (c$,
\r
93 this.construct (javax.swing.JTree.createTreeModel (value));
\r
94 this.setRootVisible (false);
\r
95 this.setShowsRootHandles (true);
\r
97 }, "java.util.Hashtable");
\r
98 Clazz.makeConstructor (c$,
\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
122 this.setModel (newModel);
\r
123 }, "javax.swing.tree.TreeModel");
\r
124 Clazz.overrideMethod (c$, "getUI",
\r
128 Clazz.defineMethod (c$, "setUI",
\r
130 if (this.ui !== ui) {
\r
131 this.settingUI = true;
\r
132 this.uiTreeExpansionListener = null;
\r
134 Clazz.superCall (this, javax.swing.JTree, "setUI", [ui]);
\r
136 this.settingUI = false;
\r
138 }}, "javax.swing.plaf.TreeUI");
\r
139 Clazz.overrideMethod (c$, "updateUI",
\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
145 Clazz.overrideMethod (c$, "getUIClassID",
\r
149 Clazz.defineMethod (c$, "getCellRenderer",
\r
151 return this.cellRenderer;
\r
153 Clazz.defineMethod (c$, "setCellRenderer",
\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
162 var oldValue = this.editable;
\r
163 this.editable = flag;
\r
164 this.firePropertyChangeBool ("editable", oldValue, flag);
\r
166 Clazz.defineMethod (c$, "isEditable",
\r
168 return this.editable;
\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
179 return this.cellEditor;
\r
181 Clazz.defineMethod (c$, "getModel",
\r
183 return this.treeModel;
\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
202 return this.rootVisible;
\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
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
219 Clazz.defineMethod (c$, "getShowsRootHandles",
\r
221 return this.showsRootHandles;
\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
231 Clazz.defineMethod (c$, "getRowHeight",
\r
233 return this.rowHeight;
\r
235 Clazz.defineMethod (c$, "isFixedRowHeight",
\r
237 return (this.rowHeight > 0);
\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
245 Clazz.defineMethod (c$, "isLargeModel",
\r
247 return this.largeModel;
\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
255 Clazz.defineMethod (c$, "getInvokesStopCellEditing",
\r
257 return this.invokesStopCellEditing;
\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
266 Clazz.defineMethod (c$, "getScrollsOnExpand",
\r
268 return this.scrollsOnExpand;
\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
276 Clazz.defineMethod (c$, "getToggleClickCount",
\r
278 return this.toggleClickCount;
\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
286 Clazz.defineMethod (c$, "getExpandsSelectedPaths",
\r
288 return this.expandsSelectedPaths;
\r
290 Clazz.defineMethod (c$, "setDragEnabled",
\r
292 this.dragEnabled = b;
\r
294 Clazz.defineMethod (c$, "getDragEnabled",
\r
296 return this.dragEnabled;
\r
298 Clazz.defineMethod (c$, "isPathEditable",
\r
300 return this.isEditable ();
\r
301 }, "javax.swing.tree.TreePath");
\r
302 Clazz.defineMethod (c$, "getToolTipText",
\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
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
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
330 }, "~O,~B,~B,~B,~N,~B");
\r
331 Clazz.defineMethod (c$, "getRowCount",
\r
333 var tree = this.getUI ();
\r
334 if (tree != null) return tree.getRowCount (this);
\r
337 Clazz.defineMethod (c$, "setSelectionPath",
\r
339 this.getSelectionModel ().setSelectionPath (path);
\r
340 }, "javax.swing.tree.TreePath");
\r
341 Clazz.defineMethod (c$, "setSelectionPaths",
\r
343 this.getSelectionModel ().setSelectionPaths (paths);
\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
359 var rows = Clazz.newIntArray (-1, [row]);
\r
360 this.setSelectionRows (rows);
\r
362 Clazz.defineMethod (c$, "setSelectionRows",
\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
371 this.setSelectionPaths (paths);
\r
373 Clazz.defineMethod (c$, "addSelectionPath",
\r
375 this.getSelectionModel ().addSelectionPath (path);
\r
376 }, "javax.swing.tree.TreePath");
\r
377 Clazz.defineMethod (c$, "addSelectionPaths",
\r
379 this.getSelectionModel ().addSelectionPaths (paths);
\r
381 Clazz.defineMethod (c$, "addSelectionRow",
\r
383 var rows = Clazz.newIntArray (-1, [row]);
\r
384 this.addSelectionRows (rows);
\r
386 Clazz.defineMethod (c$, "addSelectionRows",
\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
394 this.addSelectionPaths (paths);
\r
396 Clazz.defineMethod (c$, "getLastSelectedPathComponent",
\r
398 var selPath = this.getSelectionModel ().getSelectionPath ();
\r
399 if (selPath != null) return selPath.getLastPathComponent ();
\r
402 Clazz.defineMethod (c$, "getLeadSelectionPath",
\r
404 return this.leadPath;
\r
406 Clazz.defineMethod (c$, "getAnchorSelectionPath",
\r
408 return this.anchorPath;
\r
410 Clazz.defineMethod (c$, "getSelectionPath",
\r
412 return this.getSelectionModel ().getSelectionPath ();
\r
414 Clazz.defineMethod (c$, "getSelectionPaths",
\r
416 return this.getSelectionModel ().getSelectionPaths ();
\r
418 Clazz.defineMethod (c$, "getSelectionRows",
\r
420 return this.getSelectionModel ().getSelectionRows ();
\r
422 Clazz.defineMethod (c$, "getSelectionCount",
\r
424 return this.selectionModel.getSelectionCount ();
\r
426 Clazz.defineMethod (c$, "getMinSelectionRow",
\r
428 return this.getSelectionModel ().getMinSelectionRow ();
\r
430 Clazz.defineMethod (c$, "getMaxSelectionRow",
\r
432 return this.getSelectionModel ().getMaxSelectionRow ();
\r
434 Clazz.defineMethod (c$, "getLeadSelectionRow",
\r
436 var leadPath = this.getLeadSelectionPath ();
\r
437 if (leadPath != null) {
\r
438 return this.getRowForPath (leadPath);
\r
441 Clazz.defineMethod (c$, "isPathSelected",
\r
443 return this.getSelectionModel ().isPathSelected (path);
\r
444 }, "javax.swing.tree.TreePath");
\r
445 Clazz.defineMethod (c$, "isRowSelected",
\r
447 return this.getSelectionModel ().isRowSelected (row);
\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
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
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
472 return (path != null && this.expandedState.get (path) != null);
\r
473 }, "javax.swing.tree.TreePath");
\r
474 Clazz.defineMethod (c$, "isExpanded",
\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
482 }, "javax.swing.tree.TreePath");
\r
483 Clazz.defineMethod (c$, "isExpanded",
\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
493 Clazz.defineMethod (c$, "isCollapsed",
\r
495 return !this.isExpanded (path);
\r
496 }, "javax.swing.tree.TreePath");
\r
497 Clazz.defineMethod (c$, "isCollapsed",
\r
499 return !this.isExpanded (row);
\r
501 Clazz.defineMethod (c$, "makeVisible",
\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
510 if (path != null) {
\r
511 var parentPath = path.getParentPath ();
\r
512 if (parentPath != null) return this.isExpanded (parentPath);
\r
515 }, "javax.swing.tree.TreePath");
\r
516 Clazz.defineMethod (c$, "getPathBounds",
\r
518 var tree = this.getUI ();
\r
519 if (tree != null) return tree.getPathBounds (this, path);
\r
521 }, "javax.swing.tree.TreePath");
\r
522 Clazz.defineMethod (c$, "getRowBounds",
\r
524 return this.getPathBounds (this.getPathForRow (row));
\r
526 Clazz.defineMethod (c$, "scrollPathToVisible",
\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
536 this.scrollPathToVisible (this.getPathForRow (row));
\r
538 Clazz.defineMethod (c$, "getPathForRow",
\r
540 var tree = this.getUI ();
\r
541 if (tree != null) return tree.getPathForRow (this, row);
\r
544 Clazz.defineMethod (c$, "getRowForPath",
\r
546 var tree = this.getUI ();
\r
547 if (tree != null) return tree.getRowForPath (this, path);
\r
549 }, "javax.swing.tree.TreePath");
\r
550 Clazz.defineMethod (c$, "expandPath",
\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
558 this.expandPath (this.getPathForRow (row));
\r
560 Clazz.defineMethod (c$, "collapsePath",
\r
562 this.setExpandedState (path, false);
\r
563 }, "javax.swing.tree.TreePath");
\r
564 Clazz.defineMethod (c$, "collapseRow",
\r
566 this.collapsePath (this.getPathForRow (row));
\r
568 Clazz.defineMethod (c$, "getPathForLocation",
\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
576 Clazz.defineMethod (c$, "getRowForLocation",
\r
578 return this.getRowForPath (this.getPathForLocation (x, y));
\r
580 Clazz.defineMethod (c$, "getClosestPathForLocation",
\r
582 var tree = this.getUI ();
\r
583 if (tree != null) return tree.getClosestPathForLocation (this, x, y);
\r
586 Clazz.defineMethod (c$, "getClosestRowForLocation",
\r
588 return this.getRowForPath (this.getClosestPathForLocation (x, y));
\r
590 Clazz.defineMethod (c$, "isEditing",
\r
592 var tree = this.getUI ();
\r
593 if (tree != null) return tree.isEditing (this);
\r
596 Clazz.defineMethod (c$, "stopEditing",
\r
598 var tree = this.getUI ();
\r
599 if (tree != null) return tree.stopEditing (this);
\r
602 Clazz.defineMethod (c$, "cancelEditing",
\r
604 var tree = this.getUI ();
\r
605 if (tree != null) tree.cancelEditing (this);
\r
607 Clazz.defineMethod (c$, "startEditingAtPath",
\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
614 var tree = this.getUI ();
\r
615 if (tree != null) return tree.getEditingPath (this);
\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
631 return this.selectionModel;
\r
633 Clazz.defineMethod (c$, "getPathBetweenRows",
\r
634 function (index0, index1) {
\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
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
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
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
663 Clazz.defineMethod (c$, "removeSelectionPath",
\r
665 this.getSelectionModel ().removeSelectionPath (path);
\r
666 }, "javax.swing.tree.TreePath");
\r
667 Clazz.defineMethod (c$, "removeSelectionPaths",
\r
669 this.getSelectionModel ().removeSelectionPaths (paths);
\r
671 Clazz.defineMethod (c$, "removeSelectionRow",
\r
673 var rows = Clazz.newIntArray (-1, [row]);
\r
674 this.removeSelectionRows (rows);
\r
676 Clazz.defineMethod (c$, "removeSelectionRows",
\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
684 this.removeSelectionPaths (paths);
\r
686 Clazz.defineMethod (c$, "clearSelection",
\r
688 this.getSelectionModel ().clearSelection ();
\r
690 Clazz.defineMethod (c$, "isSelectionEmpty",
\r
692 return this.getSelectionModel ().isSelectionEmpty ();
\r
694 Clazz.defineMethod (c$, "addTreeExpansionListener",
\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
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
708 return this.listenerList.getListeners (javax.swing.event.TreeExpansionListener);
\r
710 Clazz.defineMethod (c$, "addTreeWillExpandListener",
\r
712 this.listenerList.add (javax.swing.event.TreeWillExpandListener, tel);
\r
713 }, "javax.swing.event.TreeWillExpandListener");
\r
714 Clazz.defineMethod (c$, "removeTreeWillExpandListener",
\r
716 this.listenerList.remove (javax.swing.event.TreeWillExpandListener, tel);
\r
717 }, "javax.swing.event.TreeWillExpandListener");
\r
718 Clazz.defineMethod (c$, "getTreeWillExpandListeners",
\r
720 return this.listenerList.getListeners (javax.swing.event.TreeWillExpandListener);
\r
722 Clazz.defineMethod (c$, "fireTreeExpanded",
\r
724 var listeners = this.listenerList.getListenerList ();
\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
734 }, "javax.swing.tree.TreePath");
\r
735 Clazz.defineMethod (c$, "fireTreeCollapsed",
\r
737 var listeners = this.listenerList.getListenerList ();
\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
747 }, "javax.swing.tree.TreePath");
\r
748 Clazz.defineMethod (c$, "fireTreeWillExpand",
\r
750 var listeners = this.listenerList.getListenerList ();
\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
757 }, "javax.swing.tree.TreePath");
\r
758 Clazz.defineMethod (c$, "fireTreeWillCollapse",
\r
760 var listeners = this.listenerList.getListenerList ();
\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
767 }, "javax.swing.tree.TreePath");
\r
768 Clazz.defineMethod (c$, "addTreeSelectionListener",
\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
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
784 return this.listenerList.getListeners (javax.swing.event.TreeSelectionListener);
\r
786 Clazz.defineMethod (c$, "fireValueChanged",
\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
793 }, "javax.swing.event.TreeSelectionEvent");
\r
794 Clazz.defineMethod (c$, "treeDidChange",
\r
796 this.revalidate ();
\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
806 Clazz.defineMethod (c$, "getVisibleRowCount",
\r
808 return this.visibleRowCount;
\r
810 Clazz.defineMethod (c$, "expandRoot",
\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
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
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
831 }row = (row + increment + max) % max;
\r
832 } while (row != startingRow);
\r
834 }, "~S,~N,javax.swing.text.Position.Bias");
\r
835 Clazz.overrideMethod (c$, "getPreferredScrollableViewportSize",
\r
837 var width = this.getPreferredSize ().width;
\r
838 var visRows = this.getVisibleRowCount ();
\r
840 if (this.isFixedRowHeight ()) height = visRows * this.getRowHeight ();
\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
857 Clazz.overrideMethod (c$, "getScrollableUnitIncrement",
\r
858 function (visibleRect, orientation, direction) {
\r
859 if (orientation == 1) {
\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
873 return rowBounds.height;
\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
883 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {
\r
884 return ((this.getParent ()).getWidth () > this.getPreferredSize ().width);
\r
887 Clazz.overrideMethod (c$, "getScrollableTracksViewportHeight",
\r
889 if (Clazz.instanceOf (this.getParent (), javax.swing.JViewport)) {
\r
890 return ((this.getParent ()).getHeight () > this.getPreferredSize ().height);
\r
893 Clazz.defineMethod (c$, "setExpandedState",
\r
894 function (path, state) {
\r
895 if (path != null) {
\r
897 var parentPath = path.getParentPath ();
\r
898 if (this.expandedStack.size () == 0) {
\r
899 stack = new java.util.Stack ();
\r
901 stack = this.expandedStack.pop ();
\r
903 while (parentPath != null) {
\r
904 if (this.isExpanded (parentPath)) {
\r
907 stack.push (parentPath);
\r
908 parentPath = parentPath.getParentPath ();
\r
910 for (var counter = stack.size () - 1; counter >= 0; counter--) {
\r
911 parentPath = stack.pop ();
\r
912 if (!this.isExpanded (parentPath)) {
\r
914 this.fireTreeWillExpand (parentPath);
\r
916 if (Clazz.exceptionOf (eve, javax.swing.tree.ExpandVetoException)) {
\r
922 this.expandedState.put (parentPath, Boolean.TRUE);
\r
923 this.fireTreeExpanded (parentPath);
\r
926 if (this.expandedStack.size () < javax.swing.JTree.TEMP_STACK_SIZE) {
\r
927 stack.removeAllElements ();
\r
928 this.expandedStack.push (stack);
\r
931 var cValue = this.expandedState.get (path);
\r
932 if (cValue != null && (cValue).booleanValue ()) {
\r
934 this.fireTreeWillCollapse (path);
\r
936 if (Clazz.exceptionOf (eve, javax.swing.tree.ExpandVetoException)) {
\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
947 var cValue = this.expandedState.get (path);
\r
948 if (cValue == null || !(cValue).booleanValue ()) {
\r
950 this.fireTreeWillExpand (path);
\r
952 if (Clazz.exceptionOf (eve, javax.swing.tree.ExpandVetoException)) {
\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
967 while (nodes.hasMoreElements ()) {
\r
968 path = nodes.nextElement ();
\r
969 if (parent.isDescendant (path)) descendants.addElement (path);
\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
983 }}, "java.util.Enumeration");
\r
984 Clazz.defineMethod (c$, "clearToggledPaths",
\r
986 this.expandedState.clear ();
\r
988 Clazz.defineMethod (c$, "createTreeModelListener",
\r
990 return Clazz.innerTypeInstance (javax.swing.JTree.TreeModelHandler, this, null);
\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
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
1010 if (!shouldRemove) {
\r
1014 }, "javax.swing.tree.TreePath,~B");
\r
1015 Clazz.defineMethod (c$, "removeDescendantSelectedPaths",
\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
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
1040 Clazz.superCall (this, javax.swing.JTree, "setUIProperty", [propertyName, value]);
\r
1042 Clazz.defineMethod (c$, "paramString",
\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
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
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
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
1074 }, "javax.swing.event.TreeModelEvent");
\r
1075 Clazz.overrideMethod (c$, "treeNodesInserted",
\r
1077 }, "javax.swing.event.TreeModelEvent");
\r
1078 Clazz.overrideMethod (c$, "treeStructureChanged",
\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
1091 this.b$["javax.swing.JTree"].removeDescendantToggledPaths (c.elements ());
\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
1100 if (a == null) return;
\r
1101 var b = a.getTreePath ();
\r
1102 var c = a.getChildren ();
\r
1103 if (c == null) return;
\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
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
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
1121 return javax.swing.JTree.EmptySelectionModel.$sharedInstance;
\r
1123 Clazz.overrideMethod (c$, "setSelectionPaths",
\r
1126 Clazz.overrideMethod (c$, "addSelectionPaths",
\r
1129 Clazz.overrideMethod (c$, "removeSelectionPaths",
\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
1143 if (Clazz.instanceOf (b, java.util.Vector)) {
\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
1147 } else if (Clazz.instanceOf (b, java.util.Hashtable)) {
\r
1149 var d = c.keys ();
\r
1151 while (d.hasMoreElements ()) {
\r
1152 e = d.nextElement ();
\r
1153 a.add ( new javax.swing.JTree.DynamicUtilTreeNode (e, c.get (e)));
\r
1155 } else if (Clazz.instanceOf (b, Array)) {
\r
1157 for (var d = 0, e = c.length; d < e; d++) a.add ( new javax.swing.JTree.DynamicUtilTreeNode (c[d], c[d]));
\r
1159 }}, "javax.swing.tree.DefaultMutableTreeNode,~O");
\r
1160 Clazz.makeConstructor (c$,
\r
1162 Clazz.superConstructor (this, javax.swing.JTree.DynamicUtilTreeNode, [a]);
\r
1163 this.loadedChildren = false;
\r
1164 this.childValue = b;
\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
1172 Clazz.overrideMethod (c$, "isLeaf",
\r
1174 return !this.getAllowsChildren ();
\r
1176 Clazz.defineMethod (c$, "getChildCount",
\r
1178 if (!this.loadedChildren) this.loadChildren ();
\r
1179 return Clazz.superCall (this, javax.swing.JTree.DynamicUtilTreeNode, "getChildCount", []);
\r
1181 Clazz.defineMethod (c$, "loadChildren",
\r
1183 this.loadedChildren = true;
\r
1184 javax.swing.JTree.DynamicUtilTreeNode.createChildren (this, this.childValue);
\r
1186 Clazz.defineMethod (c$, "getChildAt",
\r
1188 if (!this.loadedChildren) this.loadChildren ();
\r
1189 return Clazz.superCall (this, javax.swing.JTree.DynamicUtilTreeNode, "getChildAt", [a]);
\r
1191 Clazz.defineMethod (c$, "children",
\r
1193 if (!this.loadedChildren) this.loadChildren ();
\r
1194 return Clazz.superCall (this, javax.swing.JTree.DynamicUtilTreeNode, "children", []);
\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