Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / javax / swing / tree / DefaultTreeCellEditor.js
index 188ffe5..460b4a2 100644 (file)
-Clazz.declarePackage ("javax.swing.tree");\r
-Clazz.load (["java.awt.Container", "java.awt.event.ActionListener", "javax.swing.JTextField", "javax.swing.event.TreeSelectionListener", "javax.swing.tree.TreeCellEditor"], "javax.swing.tree.DefaultTreeCellEditor", ["java.awt.Dimension", "java.awt.event.MouseEvent", "javax.swing.DefaultCellEditor", "$.JTree", "$.SwingUtilities", "$.UIManager", "javax.swing.plaf.FontUIResource"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.realEditor = null;\r
-this.renderer = null;\r
-this.editingContainer = null;\r
-this.editingComponent = null;\r
-this.canEdit = false;\r
-this.offset = 0;\r
-this.tree = null;\r
-this.lastPath = null;\r
-this.lastRow = 0;\r
-this.borderSelectionColor = null;\r
-this.editingIcon = null;\r
-this.font = null;\r
-if (!Clazz.isClassDefined ("javax.swing.tree.DefaultTreeCellEditor.DefaultTextField")) {\r
-javax.swing.tree.DefaultTreeCellEditor.$DefaultTreeCellEditor$DefaultTextField$ ();\r
-}\r
-if (!Clazz.isClassDefined ("javax.swing.tree.DefaultTreeCellEditor.EditorContainer")) {\r
-javax.swing.tree.DefaultTreeCellEditor.$DefaultTreeCellEditor$EditorContainer$ ();\r
-}\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.tree, "DefaultTreeCellEditor", null, [java.awt.event.ActionListener, javax.swing.tree.TreeCellEditor, javax.swing.event.TreeSelectionListener]);\r
-Clazz.makeConstructor (c$, \r
-function (tree, renderer) {\r
-this.construct (tree, renderer, null);\r
-}, "javax.swing.JTree,javax.swing.tree.DefaultTreeCellRenderer");\r
-Clazz.makeConstructor (c$, \r
-function (tree, renderer, editor) {\r
-this.renderer = renderer;\r
-this.realEditor = editor;\r
-if (this.realEditor == null) this.realEditor = this.createTreeCellEditor ();\r
-this.editingContainer = this.createContainer ();\r
-this.setTree (tree);\r
-this.setBorderSelectionColor (javax.swing.UIManager.getColor ("Tree.editorBorderSelectionColor"));\r
-}, "javax.swing.JTree,javax.swing.tree.DefaultTreeCellRenderer,javax.swing.tree.TreeCellEditor");\r
-Clazz.defineMethod (c$, "setBorderSelectionColor", \r
-function (newColor) {\r
-this.borderSelectionColor = newColor;\r
-}, "java.awt.Color");\r
-Clazz.defineMethod (c$, "getBorderSelectionColor", \r
-function () {\r
-return this.borderSelectionColor;\r
-});\r
-Clazz.defineMethod (c$, "setFont", \r
-function (font) {\r
-this.font = font;\r
-}, "java.awt.Font");\r
-Clazz.defineMethod (c$, "getFont", \r
-function () {\r
-return this.font;\r
-});\r
-Clazz.defineMethod (c$, "getTreeCellEditorComponent", \r
-function (tree, value, isSelected, expanded, leaf, row) {\r
-this.setTree (tree);\r
-this.lastRow = row;\r
-this.determineOffset (tree, value, isSelected, expanded, leaf, row);\r
-if (this.editingComponent != null) {\r
-this.editingContainer.remove (this.editingComponent);\r
-}this.editingComponent = this.realEditor.getTreeCellEditorComponent (tree, value, isSelected, expanded, leaf, row);\r
-var newPath = tree.getPathForRow (row);\r
-this.canEdit = (this.lastPath != null && newPath != null && this.lastPath.equals (newPath));\r
-var font = this.getFont ();\r
-if (font == null) {\r
-if (this.renderer != null) font = this.renderer.getFont ();\r
-if (font == null) font = tree.getFont ();\r
-}this.editingContainer.setFont (font);\r
-this.prepareForEditing ();\r
-return this.editingContainer;\r
-}, "javax.swing.JTree,~O,~B,~B,~B,~N");\r
-Clazz.defineMethod (c$, "getCellEditorValue", \r
-function () {\r
-return this.realEditor.getCellEditorValue ();\r
-});\r
-Clazz.defineMethod (c$, "isCellEditable", \r
-function (event) {\r
-var retValue = false;\r
-var editable = false;\r
-if (event != null) {\r
-if (Clazz.instanceOf (event.getSource (), javax.swing.JTree)) {\r
-this.setTree (event.getSource ());\r
-if (Clazz.instanceOf (event, java.awt.event.MouseEvent)) {\r
-var path = this.tree.getPathForLocation ((event).getX (), (event).getY ());\r
-editable = (this.lastPath != null && path != null && this.lastPath.equals (path));\r
-if (path != null) {\r
-this.lastRow = this.tree.getRowForPath (path);\r
-var value = path.getLastPathComponent ();\r
-var isSelected = this.tree.isRowSelected (this.lastRow);\r
-var expanded = this.tree.isExpanded (path);\r
-var treeModel = this.tree.getModel ();\r
-var leaf = treeModel.isLeaf (value);\r
-this.determineOffset (this.tree, value, isSelected, expanded, leaf, this.lastRow);\r
-}}}}if (!this.realEditor.isCellEditable (event)) return false;\r
-if (this.canEditImmediately (event)) retValue = true;\r
- else if (editable && this.shouldStartEditingTimer (event)) {\r
-this.startEditingTimer ();\r
-}if (retValue) this.prepareForEditing ();\r
-return retValue;\r
-}, "java.util.EventObject");\r
-Clazz.defineMethod (c$, "shouldSelectCell", \r
-function (event) {\r
-return this.realEditor.shouldSelectCell (event);\r
-}, "java.util.EventObject");\r
-Clazz.defineMethod (c$, "stopCellEditing", \r
-function () {\r
-if (this.realEditor.stopCellEditing ()) {\r
-this.cleanupAfterEditing ();\r
-return true;\r
-}return false;\r
-});\r
-Clazz.defineMethod (c$, "cancelCellEditing", \r
-function () {\r
-this.realEditor.cancelCellEditing ();\r
-this.cleanupAfterEditing ();\r
-});\r
-Clazz.defineMethod (c$, "addCellEditorListener", \r
-function (l) {\r
-this.realEditor.addCellEditorListener (l);\r
-}, "javax.swing.event.CellEditorListener");\r
-Clazz.defineMethod (c$, "removeCellEditorListener", \r
-function (l) {\r
-this.realEditor.removeCellEditorListener (l);\r
-}, "javax.swing.event.CellEditorListener");\r
-Clazz.defineMethod (c$, "getCellEditorListeners", \r
-function () {\r
-return (this.realEditor).getCellEditorListeners ();\r
-});\r
-Clazz.overrideMethod (c$, "valueChanged", \r
-function (e) {\r
-if (this.tree != null) {\r
-if (this.tree.getSelectionCount () == 1) this.lastPath = this.tree.getSelectionPath ();\r
- else this.lastPath = null;\r
-}}, "javax.swing.event.TreeSelectionEvent");\r
-Clazz.overrideMethod (c$, "actionPerformed", \r
-function (e) {\r
-if (this.tree != null && this.lastPath != null) {\r
-this.tree.startEditingAtPath (this.lastPath);\r
-}}, "java.awt.event.ActionEvent");\r
-Clazz.defineMethod (c$, "setTree", \r
-function (newTree) {\r
-if (this.tree !== newTree) {\r
-if (this.tree != null) this.tree.removeTreeSelectionListener (this);\r
-this.tree = newTree;\r
-if (this.tree != null) this.tree.addTreeSelectionListener (this);\r
-}}, "javax.swing.JTree");\r
-Clazz.defineMethod (c$, "shouldStartEditingTimer", \r
-function (event) {\r
-if ((Clazz.instanceOf (event, java.awt.event.MouseEvent)) && javax.swing.SwingUtilities.isLeftMouseButton (event)) {\r
-var me = event;\r
-return (me.getClickCount () == 1 && this.inHitRegion (me.getX (), me.getY ()));\r
-}return false;\r
-}, "java.util.EventObject");\r
-Clazz.defineMethod (c$, "startEditingTimer", \r
-function () {\r
-});\r
-Clazz.defineMethod (c$, "canEditImmediately", \r
-function (event) {\r
-if ((Clazz.instanceOf (event, java.awt.event.MouseEvent)) && javax.swing.SwingUtilities.isLeftMouseButton (event)) {\r
-var me = event;\r
-return ((me.getClickCount () > 2) && this.inHitRegion (me.getX (), me.getY ()));\r
-}return (event == null);\r
-}, "java.util.EventObject");\r
-Clazz.defineMethod (c$, "inHitRegion", \r
-function (x, y) {\r
-if (this.lastRow != -1 && this.tree != null) {\r
-var bounds = this.tree.getRowBounds (this.lastRow);\r
-var treeOrientation = this.tree.getComponentOrientation ();\r
-if (treeOrientation.isLeftToRight ()) {\r
-if (bounds != null && x <= (bounds.x + this.offset) && this.offset < (bounds.width - 5)) {\r
-return false;\r
-}} else if (bounds != null && (x >= (bounds.x + bounds.width - this.offset + 5) || x <= (bounds.x + 5)) && this.offset < (bounds.width - 5)) {\r
-return false;\r
-}}return true;\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "determineOffset", \r
-function (tree, value, isSelected, expanded, leaf, row) {\r
-if (this.renderer != null) {\r
-if (leaf) this.editingIcon = this.renderer.getLeafIcon ();\r
- else if (expanded) this.editingIcon = this.renderer.getOpenIcon ();\r
- else this.editingIcon = this.renderer.getClosedIcon ();\r
-if (this.editingIcon != null) this.offset = this.renderer.getIconTextGap () + this.editingIcon.getIconWidth ();\r
- else this.offset = this.renderer.getIconTextGap ();\r
-} else {\r
-this.editingIcon = null;\r
-this.offset = 0;\r
-}}, "javax.swing.JTree,~O,~B,~B,~B,~N");\r
-Clazz.defineMethod (c$, "prepareForEditing", \r
-function () {\r
-if (this.editingComponent != null) {\r
-this.editingContainer.add (this.editingComponent);\r
-}});\r
-Clazz.defineMethod (c$, "createContainer", \r
-function () {\r
-return Clazz.innerTypeInstance (javax.swing.tree.DefaultTreeCellEditor.EditorContainer, this, null);\r
-});\r
-Clazz.defineMethod (c$, "createTreeCellEditor", \r
-function () {\r
-var aBorder = javax.swing.UIManager.getBorder ("Tree.editorBorder");\r
-var editor = ((Clazz.isClassDefined ("javax.swing.tree.DefaultTreeCellEditor$1") ? 0 : javax.swing.tree.DefaultTreeCellEditor.$DefaultTreeCellEditor$1$ ()), Clazz.innerTypeInstance (javax.swing.tree.DefaultTreeCellEditor$1, this, null, Clazz.innerTypeInstance (javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, this, null, aBorder)));\r
-editor.setClickCountToStart (1);\r
-return editor;\r
-});\r
-Clazz.defineMethod (c$, "cleanupAfterEditing", \r
- function () {\r
-if (this.editingComponent != null) {\r
-this.editingContainer.remove (this.editingComponent);\r
-}this.editingComponent = null;\r
-});\r
-c$.$DefaultTreeCellEditor$DefaultTextField$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.$border = null;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.tree.DefaultTreeCellEditor, "DefaultTextField", javax.swing.JTextField);\r
-Clazz.makeConstructor (c$, \r
-function (a) {\r
-Clazz.superConstructor (this, javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, []);\r
-this.setBorder (a);\r
-}, "javax.swing.border.Border");\r
-Clazz.defineMethod (c$, "setBorder", \r
-function (a) {\r
-Clazz.superCall (this, javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, "setBorder", [a]);\r
-this.$border = a;\r
-}, "javax.swing.border.Border");\r
-Clazz.overrideMethod (c$, "getBorder", \r
-function () {\r
-return this.$border;\r
-});\r
-Clazz.defineMethod (c$, "getFont", \r
-function () {\r
-var a = Clazz.superCall (this, javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, "getFont", []);\r
-if (Clazz.instanceOf (a, javax.swing.plaf.FontUIResource)) {\r
-var b = this.getParent ();\r
-if (b != null && b.getFont () != null) a = b.getFont ();\r
-}return a;\r
-});\r
-Clazz.overrideMethod (c$, "getPreferredSize", \r
-function () {\r
-var a = this.getPrefSizeJTF ();\r
-if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].renderer != null && this.b$["javax.swing.tree.DefaultTreeCellEditor"].getFont () == null) {\r
-var b = this.b$["javax.swing.tree.DefaultTreeCellEditor"].renderer.getPreferredSize ();\r
-a.height = b.height;\r
-}return a;\r
-});\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$DefaultTreeCellEditor$EditorContainer$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.tree.DefaultTreeCellEditor, "EditorContainer", java.awt.Container);\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-Clazz.superConstructor (this, javax.swing.tree.DefaultTreeCellEditor.EditorContainer, []);\r
-this.setLayout (null);\r
-});\r
-Clazz.defineMethod (c$, "paint", \r
-function (a) {\r
-var b = this.getWidth ();\r
-var c = this.getHeight ();\r
-if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon != null) {\r
-var d = this.calculateIconY (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon);\r
-if (this.getComponentOrientation ().isLeftToRight ()) {\r
-this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon.paintIcon (this, a, 0, d);\r
-} else {\r
-this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon.paintIcon (this, a, b - this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon.getIconWidth (), d);\r
-}}var d = this.b$["javax.swing.tree.DefaultTreeCellEditor"].getBorderSelectionColor ();\r
-if (d != null) {\r
-a.setColor (d);\r
-a.drawRect (0, 0, b - 1, c - 1);\r
-}Clazz.superCall (this, javax.swing.tree.DefaultTreeCellEditor.EditorContainer, "paint", [a]);\r
-}, "java.awt.Graphics");\r
-Clazz.overrideMethod (c$, "doLayout", \r
-function () {\r
-if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent != null) {\r
-var a = this.getWidth ();\r
-var b = this.getHeight ();\r
-if (this.getComponentOrientation ().isLeftToRight ()) {\r
-this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.setBounds (this.b$["javax.swing.tree.DefaultTreeCellEditor"].offset, 0, a - this.b$["javax.swing.tree.DefaultTreeCellEditor"].offset, b);\r
-} else {\r
-this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.setBounds (0, 0, a - this.b$["javax.swing.tree.DefaultTreeCellEditor"].offset, b);\r
-}}});\r
-Clazz.defineMethod (c$, "calculateIconY", \r
- function (a) {\r
-var b = a.getIconHeight ();\r
-var c = this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.getFontMetrics (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.getFont ()).getHeight ();\r
-var d = Clazz.doubleToInt (b / 2) - Clazz.doubleToInt (c / 2);\r
-var e = Math.min (0, d);\r
-var f = Math.max (b, d + c) - e;\r
-return Clazz.doubleToInt (this.getHeight () / 2) - (e + (Clazz.doubleToInt (f / 2)));\r
-}, "javax.swing.Icon");\r
-Clazz.overrideMethod (c$, "getPreferredSize", \r
-function () {\r
-if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent != null) {\r
-var a = this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.getPreferredSize ();\r
-a.width += this.b$["javax.swing.tree.DefaultTreeCellEditor"].offset + 5;\r
-var b = (this.b$["javax.swing.tree.DefaultTreeCellEditor"].renderer != null) ? this.b$["javax.swing.tree.DefaultTreeCellEditor"].renderer.getPreferredSize () : null;\r
-if (b != null) a.height = Math.max (a.height, b.height);\r
-if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon != null) a.height = Math.max (a.height, this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon.getIconHeight ());\r
-a.width = Math.max (a.width, 100);\r
-return a;\r
-}return  new java.awt.Dimension (0, 0);\r
-});\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$DefaultTreeCellEditor$1$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (javax.swing.tree, "DefaultTreeCellEditor$1", javax.swing.DefaultCellEditor);\r
-Clazz.defineMethod (c$, "shouldSelectCell", \r
-function (event) {\r
-var retValue = Clazz.superCall (this, javax.swing.tree.DefaultTreeCellEditor$1, "shouldSelectCell", [event]);\r
-return retValue;\r
-}, "java.util.EventObject");\r
-c$ = Clazz.p0p ();\r
-};\r
-});\r
+Clazz.declarePackage ("javax.swing.tree");
+Clazz.load (["java.awt.Container", "java.awt.event.ActionListener", "javax.swing.JTextField", "javax.swing.event.TreeSelectionListener", "javax.swing.tree.TreeCellEditor"], "javax.swing.tree.DefaultTreeCellEditor", ["java.awt.Dimension", "java.awt.event.MouseEvent", "javax.swing.DefaultCellEditor", "$.JTree", "$.SwingUtilities", "$.UIManager", "javax.swing.plaf.FontUIResource"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.realEditor = null;
+this.renderer = null;
+this.editingContainer = null;
+this.editingComponent = null;
+this.canEdit = false;
+this.offset = 0;
+this.tree = null;
+this.lastPath = null;
+this.lastRow = 0;
+this.borderSelectionColor = null;
+this.editingIcon = null;
+this.font = null;
+if (!Clazz.isClassDefined ("javax.swing.tree.DefaultTreeCellEditor.DefaultTextField")) {
+javax.swing.tree.DefaultTreeCellEditor.$DefaultTreeCellEditor$DefaultTextField$ ();
+}
+if (!Clazz.isClassDefined ("javax.swing.tree.DefaultTreeCellEditor.EditorContainer")) {
+javax.swing.tree.DefaultTreeCellEditor.$DefaultTreeCellEditor$EditorContainer$ ();
+}
+Clazz.instantialize (this, arguments);
+}, javax.swing.tree, "DefaultTreeCellEditor", null, [java.awt.event.ActionListener, javax.swing.tree.TreeCellEditor, javax.swing.event.TreeSelectionListener]);
+Clazz.makeConstructor (c$, 
+function (tree, renderer) {
+this.construct (tree, renderer, null);
+}, "javax.swing.JTree,javax.swing.tree.DefaultTreeCellRenderer");
+Clazz.makeConstructor (c$, 
+function (tree, renderer, editor) {
+this.renderer = renderer;
+this.realEditor = editor;
+if (this.realEditor == null) this.realEditor = this.createTreeCellEditor ();
+this.editingContainer = this.createContainer ();
+this.setTree (tree);
+this.setBorderSelectionColor (javax.swing.UIManager.getColor ("Tree.editorBorderSelectionColor"));
+}, "javax.swing.JTree,javax.swing.tree.DefaultTreeCellRenderer,javax.swing.tree.TreeCellEditor");
+Clazz.defineMethod (c$, "setBorderSelectionColor", 
+function (newColor) {
+this.borderSelectionColor = newColor;
+}, "java.awt.Color");
+Clazz.defineMethod (c$, "getBorderSelectionColor", 
+function () {
+return this.borderSelectionColor;
+});
+Clazz.defineMethod (c$, "setFont", 
+function (font) {
+this.font = font;
+}, "java.awt.Font");
+Clazz.defineMethod (c$, "getFont", 
+function () {
+return this.font;
+});
+Clazz.defineMethod (c$, "getTreeCellEditorComponent", 
+function (tree, value, isSelected, expanded, leaf, row) {
+this.setTree (tree);
+this.lastRow = row;
+this.determineOffset (tree, value, isSelected, expanded, leaf, row);
+if (this.editingComponent != null) {
+this.editingContainer.remove (this.editingComponent);
+}this.editingComponent = this.realEditor.getTreeCellEditorComponent (tree, value, isSelected, expanded, leaf, row);
+var newPath = tree.getPathForRow (row);
+this.canEdit = (this.lastPath != null && newPath != null && this.lastPath.equals (newPath));
+var font = this.getFont ();
+if (font == null) {
+if (this.renderer != null) font = this.renderer.getFont ();
+if (font == null) font = tree.getFont ();
+}this.editingContainer.setFont (font);
+this.prepareForEditing ();
+return this.editingContainer;
+}, "javax.swing.JTree,~O,~B,~B,~B,~N");
+Clazz.defineMethod (c$, "getCellEditorValue", 
+function () {
+return this.realEditor.getCellEditorValue ();
+});
+Clazz.defineMethod (c$, "isCellEditable", 
+function (event) {
+var retValue = false;
+var editable = false;
+if (event != null) {
+if (Clazz.instanceOf (event.getSource (), javax.swing.JTree)) {
+this.setTree (event.getSource ());
+if (Clazz.instanceOf (event, java.awt.event.MouseEvent)) {
+var path = this.tree.getPathForLocation ((event).getX (), (event).getY ());
+editable = (this.lastPath != null && path != null && this.lastPath.equals (path));
+if (path != null) {
+this.lastRow = this.tree.getRowForPath (path);
+var value = path.getLastPathComponent ();
+var isSelected = this.tree.isRowSelected (this.lastRow);
+var expanded = this.tree.isExpanded (path);
+var treeModel = this.tree.getModel ();
+var leaf = treeModel.isLeaf (value);
+this.determineOffset (this.tree, value, isSelected, expanded, leaf, this.lastRow);
+}}}}if (!this.realEditor.isCellEditable (event)) return false;
+if (this.canEditImmediately (event)) retValue = true;
+ else if (editable && this.shouldStartEditingTimer (event)) {
+this.startEditingTimer ();
+}if (retValue) this.prepareForEditing ();
+return retValue;
+}, "java.util.EventObject");
+Clazz.defineMethod (c$, "shouldSelectCell", 
+function (event) {
+return this.realEditor.shouldSelectCell (event);
+}, "java.util.EventObject");
+Clazz.defineMethod (c$, "stopCellEditing", 
+function () {
+if (this.realEditor.stopCellEditing ()) {
+this.cleanupAfterEditing ();
+return true;
+}return false;
+});
+Clazz.defineMethod (c$, "cancelCellEditing", 
+function () {
+this.realEditor.cancelCellEditing ();
+this.cleanupAfterEditing ();
+});
+Clazz.defineMethod (c$, "addCellEditorListener", 
+function (l) {
+this.realEditor.addCellEditorListener (l);
+}, "javax.swing.event.CellEditorListener");
+Clazz.defineMethod (c$, "removeCellEditorListener", 
+function (l) {
+this.realEditor.removeCellEditorListener (l);
+}, "javax.swing.event.CellEditorListener");
+Clazz.defineMethod (c$, "getCellEditorListeners", 
+function () {
+return (this.realEditor).getCellEditorListeners ();
+});
+Clazz.overrideMethod (c$, "valueChanged", 
+function (e) {
+if (this.tree != null) {
+if (this.tree.getSelectionCount () == 1) this.lastPath = this.tree.getSelectionPath ();
+ else this.lastPath = null;
+}}, "javax.swing.event.TreeSelectionEvent");
+Clazz.overrideMethod (c$, "actionPerformed", 
+function (e) {
+if (this.tree != null && this.lastPath != null) {
+this.tree.startEditingAtPath (this.lastPath);
+}}, "java.awt.event.ActionEvent");
+Clazz.defineMethod (c$, "setTree", 
+function (newTree) {
+if (this.tree !== newTree) {
+if (this.tree != null) this.tree.removeTreeSelectionListener (this);
+this.tree = newTree;
+if (this.tree != null) this.tree.addTreeSelectionListener (this);
+}}, "javax.swing.JTree");
+Clazz.defineMethod (c$, "shouldStartEditingTimer", 
+function (event) {
+if ((Clazz.instanceOf (event, java.awt.event.MouseEvent)) && javax.swing.SwingUtilities.isLeftMouseButton (event)) {
+var me = event;
+return (me.getClickCount () == 1 && this.inHitRegion (me.getX (), me.getY ()));
+}return false;
+}, "java.util.EventObject");
+Clazz.defineMethod (c$, "startEditingTimer", 
+function () {
+});
+Clazz.defineMethod (c$, "canEditImmediately", 
+function (event) {
+if ((Clazz.instanceOf (event, java.awt.event.MouseEvent)) && javax.swing.SwingUtilities.isLeftMouseButton (event)) {
+var me = event;
+return ((me.getClickCount () > 2) && this.inHitRegion (me.getX (), me.getY ()));
+}return (event == null);
+}, "java.util.EventObject");
+Clazz.defineMethod (c$, "inHitRegion", 
+function (x, y) {
+if (this.lastRow != -1 && this.tree != null) {
+var bounds = this.tree.getRowBounds (this.lastRow);
+var treeOrientation = this.tree.getComponentOrientation ();
+if (treeOrientation.isLeftToRight ()) {
+if (bounds != null && x <= (bounds.x + this.offset) && this.offset < (bounds.width - 5)) {
+return false;
+}} else if (bounds != null && (x >= (bounds.x + bounds.width - this.offset + 5) || x <= (bounds.x + 5)) && this.offset < (bounds.width - 5)) {
+return false;
+}}return true;
+}, "~N,~N");
+Clazz.defineMethod (c$, "determineOffset", 
+function (tree, value, isSelected, expanded, leaf, row) {
+if (this.renderer != null) {
+if (leaf) this.editingIcon = this.renderer.getLeafIcon ();
+ else if (expanded) this.editingIcon = this.renderer.getOpenIcon ();
+ else this.editingIcon = this.renderer.getClosedIcon ();
+if (this.editingIcon != null) this.offset = this.renderer.getIconTextGap () + this.editingIcon.getIconWidth ();
+ else this.offset = this.renderer.getIconTextGap ();
+} else {
+this.editingIcon = null;
+this.offset = 0;
+}}, "javax.swing.JTree,~O,~B,~B,~B,~N");
+Clazz.defineMethod (c$, "prepareForEditing", 
+function () {
+if (this.editingComponent != null) {
+this.editingContainer.add (this.editingComponent);
+}});
+Clazz.defineMethod (c$, "createContainer", 
+function () {
+return Clazz.innerTypeInstance (javax.swing.tree.DefaultTreeCellEditor.EditorContainer, this, null);
+});
+Clazz.defineMethod (c$, "createTreeCellEditor", 
+function () {
+var aBorder = javax.swing.UIManager.getBorder ("Tree.editorBorder");
+var editor = ((Clazz.isClassDefined ("javax.swing.tree.DefaultTreeCellEditor$1") ? 0 : javax.swing.tree.DefaultTreeCellEditor.$DefaultTreeCellEditor$1$ ()), Clazz.innerTypeInstance (javax.swing.tree.DefaultTreeCellEditor$1, this, null, Clazz.innerTypeInstance (javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, this, null, aBorder)));
+editor.setClickCountToStart (1);
+return editor;
+});
+Clazz.defineMethod (c$, "cleanupAfterEditing", 
+ function () {
+if (this.editingComponent != null) {
+this.editingContainer.remove (this.editingComponent);
+}this.editingComponent = null;
+});
+c$.$DefaultTreeCellEditor$DefaultTextField$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.$border = null;
+Clazz.instantialize (this, arguments);
+}, javax.swing.tree.DefaultTreeCellEditor, "DefaultTextField", javax.swing.JTextField);
+Clazz.makeConstructor (c$, 
+function (a) {
+Clazz.superConstructor (this, javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, []);
+this.setBorder (a);
+}, "javax.swing.border.Border");
+Clazz.defineMethod (c$, "setBorder", 
+function (a) {
+Clazz.superCall (this, javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, "setBorder", [a]);
+this.$border = a;
+}, "javax.swing.border.Border");
+Clazz.overrideMethod (c$, "getBorder", 
+function () {
+return this.$border;
+});
+Clazz.defineMethod (c$, "getFont", 
+function () {
+var a = Clazz.superCall (this, javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, "getFont", []);
+if (Clazz.instanceOf (a, javax.swing.plaf.FontUIResource)) {
+var b = this.getParent ();
+if (b != null && b.getFont () != null) a = b.getFont ();
+}return a;
+});
+Clazz.overrideMethod (c$, "getPreferredSize", 
+function () {
+var a = this.getPrefSizeJTF ();
+if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].renderer != null && this.b$["javax.swing.tree.DefaultTreeCellEditor"].getFont () == null) {
+var b = this.b$["javax.swing.tree.DefaultTreeCellEditor"].renderer.getPreferredSize ();
+a.height = b.height;
+}return a;
+});
+c$ = Clazz.p0p ();
+};
+c$.$DefaultTreeCellEditor$EditorContainer$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+Clazz.instantialize (this, arguments);
+}, javax.swing.tree.DefaultTreeCellEditor, "EditorContainer", java.awt.Container);
+Clazz.makeConstructor (c$, 
+function () {
+Clazz.superConstructor (this, javax.swing.tree.DefaultTreeCellEditor.EditorContainer, []);
+this.setLayout (null);
+});
+Clazz.defineMethod (c$, "paint", 
+function (a) {
+var b = this.getWidth ();
+var c = this.getHeight ();
+if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon != null) {
+var d = this.calculateIconY (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon);
+if (this.getComponentOrientation ().isLeftToRight ()) {
+this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon.paintIcon (this, a, 0, d);
+} else {
+this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon.paintIcon (this, a, b - this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon.getIconWidth (), d);
+}}var d = this.b$["javax.swing.tree.DefaultTreeCellEditor"].getBorderSelectionColor ();
+if (d != null) {
+a.setColor (d);
+a.drawRect (0, 0, b - 1, c - 1);
+}Clazz.superCall (this, javax.swing.tree.DefaultTreeCellEditor.EditorContainer, "paint", [a]);
+}, "java.awt.Graphics");
+Clazz.overrideMethod (c$, "doLayout", 
+function () {
+if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent != null) {
+var a = this.getWidth ();
+var b = this.getHeight ();
+if (this.getComponentOrientation ().isLeftToRight ()) {
+this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.setBounds (this.b$["javax.swing.tree.DefaultTreeCellEditor"].offset, 0, a - this.b$["javax.swing.tree.DefaultTreeCellEditor"].offset, b);
+} else {
+this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.setBounds (0, 0, a - this.b$["javax.swing.tree.DefaultTreeCellEditor"].offset, b);
+}}});
+Clazz.defineMethod (c$, "calculateIconY", 
+ function (a) {
+var b = a.getIconHeight ();
+var c = this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.getFontMetrics (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.getFont ()).getHeight ();
+var d = Clazz.doubleToInt (b / 2) - Clazz.doubleToInt (c / 2);
+var e = Math.min (0, d);
+var f = Math.max (b, d + c) - e;
+return Clazz.doubleToInt (this.getHeight () / 2) - (e + (Clazz.doubleToInt (f / 2)));
+}, "javax.swing.Icon");
+Clazz.overrideMethod (c$, "getPreferredSize", 
+function () {
+if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent != null) {
+var a = this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingComponent.getPreferredSize ();
+a.width += this.b$["javax.swing.tree.DefaultTreeCellEditor"].offset + 5;
+var b = (this.b$["javax.swing.tree.DefaultTreeCellEditor"].renderer != null) ? this.b$["javax.swing.tree.DefaultTreeCellEditor"].renderer.getPreferredSize () : null;
+if (b != null) a.height = Math.max (a.height, b.height);
+if (this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon != null) a.height = Math.max (a.height, this.b$["javax.swing.tree.DefaultTreeCellEditor"].editingIcon.getIconHeight ());
+a.width = Math.max (a.width, 100);
+return a;
+}return  new java.awt.Dimension (0, 0);
+});
+c$ = Clazz.p0p ();
+};
+c$.$DefaultTreeCellEditor$1$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (javax.swing.tree, "DefaultTreeCellEditor$1", javax.swing.DefaultCellEditor);
+Clazz.defineMethod (c$, "shouldSelectCell", 
+function (event) {
+var retValue = Clazz.superCall (this, javax.swing.tree.DefaultTreeCellEditor$1, "shouldSelectCell", [event]);
+return retValue;
+}, "java.util.EventObject");
+c$ = Clazz.p0p ();
+};
+});