Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / javax / swing / JMenu.js
index 6f36048..6208e0f 100644 (file)
-Clazz.declarePackage ("javax.swing");\r
-Clazz.load (["java.awt.event.WindowAdapter", "javax.swing.JMenuItem", "$.MenuElement", "javax.swing.event.ChangeListener"], "javax.swing.JMenu", ["java.lang.Error", "$.IllegalArgumentException", "java.util.Vector", "java.awt.Point", "$.Rectangle", "$.Toolkit", "javax.swing.JMenuBar", "$.JPopupMenu", "$.MenuSelectionManager", "$.SwingUtilities", "$.UIManager", "javax.swing.event.MenuEvent", "$.MenuListener"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.$popupMenu = null;\r
-this.menuChangeListener = null;\r
-this.menuEvent = null;\r
-this.delay = 0;\r
-this.customMenuLocation = null;\r
-this.popupListener = null;\r
-if (!Clazz.isClassDefined ("javax.swing.JMenu.MenuChangeListener")) {\r
-javax.swing.JMenu.$JMenu$MenuChangeListener$ ();\r
-}\r
-if (!Clazz.isClassDefined ("javax.swing.JMenu.WinListener")) {\r
-javax.swing.JMenu.$JMenu$WinListener$ ();\r
-}\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing, "JMenu", javax.swing.JMenuItem, javax.swing.MenuElement);\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-Clazz.superConstructor (this, javax.swing.JMenu, []);\r
-this.init0 ("", null, -2147483648);\r
-});\r
-Clazz.makeConstructor (c$, \r
-function (s) {\r
-Clazz.superConstructor (this, javax.swing.JMenu, []);\r
-this.init0 (s, null, -2147483648);\r
-}, "~S");\r
-Clazz.makeConstructor (c$, \r
-function (a) {\r
-Clazz.superConstructor (this, javax.swing.JMenu, []);\r
-this.init0 ("", null, -2147483648);\r
-this.setAction (a);\r
-}, "javax.swing.Action");\r
-Clazz.makeConstructor (c$, \r
-function (s, b) {\r
-Clazz.superConstructor (this, javax.swing.JMenu, []);\r
-this.init0 (s, null, -2147483648);\r
-}, "~S,~B");\r
-Clazz.overrideMethod (c$, "initFocusability", \r
-function () {\r
-});\r
-Clazz.overrideMethod (c$, "updateUI", \r
-function () {\r
-this.setUI (javax.swing.UIManager.getUI (this));\r
-if (this.$popupMenu != null) {\r
-this.$popupMenu.setUI (javax.swing.UIManager.getUI (this.$popupMenu));\r
-}});\r
-Clazz.overrideMethod (c$, "getUIClassID", \r
-function () {\r
-return "MenuUI";\r
-});\r
-Clazz.defineMethod (c$, "setModel", \r
-function (newModel) {\r
-var oldModel = this.getModel ();\r
-Clazz.superCall (this, javax.swing.JMenu, "setModel", [newModel]);\r
-if (oldModel != null && this.menuChangeListener != null) {\r
-oldModel.removeChangeListener (this.menuChangeListener);\r
-this.menuChangeListener = null;\r
-}this.model = newModel;\r
-if (newModel != null) {\r
-this.menuChangeListener = this.createMenuChangeListener ();\r
-newModel.addChangeListener (this.menuChangeListener);\r
-}}, "javax.swing.ButtonModel");\r
-Clazz.overrideMethod (c$, "isSelected", \r
-function () {\r
-return this.getModel ().isSelected ();\r
-});\r
-Clazz.overrideMethod (c$, "setSelected", \r
-function (b) {\r
-var model = this.getModel ();\r
-if (b != model.isSelected ()) {\r
-this.getModel ().setSelected (b);\r
-}}, "~B");\r
-Clazz.defineMethod (c$, "isPopupMenuVisible", \r
-function () {\r
-this.ensurePopupMenuCreated ();\r
-return this.$popupMenu.isVisible ();\r
-});\r
-Clazz.defineMethod (c$, "setPopupMenuVisible", \r
-function (b) {\r
-var isVisible = this.isPopupMenuVisible ();\r
-if (b != isVisible && (this.isEnabled () || !b)) {\r
-this.ensurePopupMenuCreated ();\r
-if ((b == true) && this.isShowing ()) {\r
-var p = this.getCustomMenuLocation ();\r
-if (p == null) {\r
-p = this.getPopupMenuOrigin ();\r
-}this.getPopupMenu ().show (this, p.x, p.y);\r
-} else {\r
-this.getPopupMenu ().setVisible (false);\r
-}}}, "~B");\r
-Clazz.defineMethod (c$, "getPopupMenuOrigin", \r
-function () {\r
-var x = 0;\r
-var y = 0;\r
-var pm = this.getPopupMenu ();\r
-var s = this.getSize ();\r
-var pmSize = pm.getSize ();\r
-if (pmSize.width == 0) {\r
-pmSize = pm.getPreferredSize ();\r
-}var position = this.getLocationOnScreen ();\r
-var toolkit = java.awt.Toolkit.getDefaultToolkit ();\r
-var gc = this.getGraphicsConfiguration ();\r
-var screenBounds =  new java.awt.Rectangle (toolkit.getScreenSize ());\r
-if (gc != null) {\r
-screenBounds = gc.getBounds ();\r
-var screenInsets = toolkit.getScreenInsets (gc);\r
-screenBounds.width -= Math.abs (screenInsets.left + screenInsets.right);\r
-screenBounds.height -= Math.abs (screenInsets.top + screenInsets.bottom);\r
-position.x -= Math.abs (screenInsets.left);\r
-position.y -= Math.abs (screenInsets.top);\r
-}var parent = this.getParent ();\r
-if (Clazz.instanceOf (parent, javax.swing.JPopupMenu)) {\r
-var xOffset = javax.swing.UIManager.getInt ("Menu.submenuPopupOffsetX");\r
-var yOffset = javax.swing.UIManager.getInt ("Menu.submenuPopupOffsetY");\r
-if (javax.swing.SwingUtilities.isLeftToRight (this)) {\r
-x = s.width + xOffset;\r
-if (position.x + x + pmSize.width >= screenBounds.width + screenBounds.x && screenBounds.width - s.width < 2 * (position.x - screenBounds.x)) {\r
-x = 0 - xOffset - pmSize.width;\r
-}} else {\r
-x = 0 - xOffset - pmSize.width;\r
-if (position.x + x < screenBounds.x && screenBounds.width - s.width > 2 * (position.x - screenBounds.x)) {\r
-x = s.width + xOffset;\r
-}}y = yOffset;\r
-if (position.y + y + pmSize.height >= screenBounds.height + screenBounds.y && screenBounds.height - s.height < 2 * (position.y - screenBounds.y)) {\r
-y = s.height - yOffset - pmSize.height;\r
-}} else {\r
-var xOffset = javax.swing.UIManager.getInt ("Menu.menuPopupOffsetX");\r
-var yOffset = javax.swing.UIManager.getInt ("Menu.menuPopupOffsetY");\r
-if (javax.swing.SwingUtilities.isLeftToRight (this)) {\r
-x = xOffset;\r
-if (position.x + x + pmSize.width >= screenBounds.width + screenBounds.x && screenBounds.width - s.width < 2 * (position.x - screenBounds.x)) {\r
-x = s.width - xOffset - pmSize.width;\r
-}} else {\r
-x = s.width - xOffset - pmSize.width;\r
-if (position.x + x < screenBounds.x && screenBounds.width - s.width > 2 * (position.x - screenBounds.x)) {\r
-x = xOffset;\r
-}}y = s.height + yOffset;\r
-if (position.y + y + pmSize.height >= screenBounds.height && screenBounds.height - s.height < 2 * (position.y - screenBounds.y)) {\r
-y = 0 - yOffset - pmSize.height;\r
-}}return  new java.awt.Point (x, y);\r
-});\r
-Clazz.defineMethod (c$, "getDelay", \r
-function () {\r
-return this.delay;\r
-});\r
-Clazz.defineMethod (c$, "setDelay", \r
-function (d) {\r
-if (d < 0) throw  new IllegalArgumentException ("Delay must be a positive integer");\r
-this.delay = d;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "ensurePopupMenuCreated", \r
- function () {\r
-if (this.$popupMenu == null) {\r
-this.$popupMenu =  new javax.swing.JPopupMenu ();\r
-this.$popupMenu.setInvoker (this);\r
-this.popupListener = this.createWinListener (this.$popupMenu);\r
-}});\r
-Clazz.defineMethod (c$, "getCustomMenuLocation", \r
- function () {\r
-return this.customMenuLocation;\r
-});\r
-Clazz.defineMethod (c$, "setMenuLocation", \r
-function (x, y) {\r
-this.customMenuLocation =  new java.awt.Point (x, y);\r
-if (this.$popupMenu != null) this.$popupMenu.setLocation (x, y);\r
-}, "~N,~N");\r
-Clazz.defineMethod (c$, "add", \r
-function (menuItem) {\r
-this.ensurePopupMenuCreated ();\r
-return this.$popupMenu.add (menuItem);\r
-}, "javax.swing.JMenuItem");\r
-Clazz.defineMethod (c$, "add", \r
-function (c) {\r
-this.ensurePopupMenuCreated ();\r
-this.$popupMenu.add (c);\r
-return c;\r
-}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "add", \r
-function (c, index) {\r
-this.ensurePopupMenuCreated ();\r
-this.$popupMenu.add (c, index);\r
-return c;\r
-}, "java.awt.Component,~N");\r
-Clazz.defineMethod (c$, "add", \r
-function (s) {\r
-return this.add ( new javax.swing.JMenuItem (s));\r
-}, "~S");\r
-Clazz.defineMethod (c$, "add", \r
-function (a) {\r
-var mi = this.createActionComponent (a);\r
-mi.setAction (a);\r
-this.add (mi);\r
-return mi;\r
-}, "javax.swing.Action");\r
-Clazz.defineMethod (c$, "createActionComponent", \r
-function (a) {\r
-var mi = ((Clazz.isClassDefined ("javax.swing.JMenu$1") ? 0 : javax.swing.JMenu.$JMenu$1$ ()), Clazz.innerTypeInstance (javax.swing.JMenu$1, this, null));\r
-mi.setHorizontalTextPosition (11);\r
-mi.setVerticalTextPosition (0);\r
-return mi;\r
-}, "javax.swing.Action");\r
-Clazz.defineMethod (c$, "createActionChangeListener", \r
-function (b) {\r
-return b.createActionPropertyChangeListener0 (b.getAction ());\r
-}, "javax.swing.JMenuItem");\r
-Clazz.defineMethod (c$, "addSeparator", \r
-function () {\r
-this.ensurePopupMenuCreated ();\r
-this.$popupMenu.addSeparator ();\r
-});\r
-Clazz.defineMethod (c$, "insert", \r
-function (s, pos) {\r
-if (pos < 0) {\r
-throw  new IllegalArgumentException ("index less than zero.");\r
-}this.ensurePopupMenuCreated ();\r
-this.$popupMenu.insert ( new javax.swing.JMenuItem (s), pos);\r
-}, "~S,~N");\r
-Clazz.defineMethod (c$, "insert", \r
-function (mi, pos) {\r
-if (pos < 0) {\r
-throw  new IllegalArgumentException ("index less than zero.");\r
-}this.ensurePopupMenuCreated ();\r
-this.$popupMenu.insert (mi, pos);\r
-return mi;\r
-}, "javax.swing.JMenuItem,~N");\r
-Clazz.defineMethod (c$, "insert", \r
-function (a, pos) {\r
-if (pos < 0) {\r
-throw  new IllegalArgumentException ("index less than zero.");\r
-}this.ensurePopupMenuCreated ();\r
-var mi =  new javax.swing.JMenuItem (a);\r
-mi.setHorizontalTextPosition (11);\r
-mi.setVerticalTextPosition (0);\r
-this.$popupMenu.insert (mi, pos);\r
-return mi;\r
-}, "javax.swing.Action,~N");\r
-Clazz.defineMethod (c$, "insertSeparator", \r
-function (index) {\r
-if (index < 0) {\r
-throw  new IllegalArgumentException ("index less than zero.");\r
-}this.ensurePopupMenuCreated ();\r
-this.$popupMenu.insert ( new javax.swing.JPopupMenu.Separator (), index);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getItem", \r
-function (pos) {\r
-if (pos < 0) {\r
-throw  new IllegalArgumentException ("index less than zero.");\r
-}var c = this.getMenuComponent (pos);\r
-if (Clazz.instanceOf (c, javax.swing.JMenuItem)) {\r
-var mi = c;\r
-return mi;\r
-}return null;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getItemCount", \r
-function () {\r
-return this.getMenuComponentCount ();\r
-});\r
-Clazz.defineMethod (c$, "isTearOff", \r
-function () {\r
-throw  new Error ("boolean isTearOff() {} not yet implemented");\r
-});\r
-Clazz.defineMethod (c$, "remove", \r
-function (pos) {\r
-if (pos < 0) {\r
-throw  new IllegalArgumentException ("index less than zero.");\r
-}if (pos > this.getItemCount ()) {\r
-throw  new IllegalArgumentException ("index greater than the number of items.");\r
-}if (this.$popupMenu != null) this.$popupMenu.remove (pos);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "remove", \r
-function (c) {\r
-if (Clazz.instanceOf (c, javax.swing.JMenuItem)) if (this.$popupMenu != null) this.$popupMenu.remove (c);\r
-if (this.$popupMenu != null) this.$popupMenu.remove (c);\r
-}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "removeAll", \r
-function () {\r
-if (this.$popupMenu != null) this.$popupMenu.removeAll ();\r
-});\r
-Clazz.defineMethod (c$, "getMenuComponentCount", \r
-function () {\r
-var componentCount = 0;\r
-if (this.$popupMenu != null) componentCount = this.$popupMenu.getComponentCount ();\r
-return componentCount;\r
-});\r
-Clazz.defineMethod (c$, "getMenuComponent", \r
-function (n) {\r
-if (this.$popupMenu != null) return this.$popupMenu.getComponent (n);\r
-return null;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getMenuComponents", \r
-function () {\r
-if (this.$popupMenu != null) return this.$popupMenu.getComponents ();\r
-return  new Array (0);\r
-});\r
-Clazz.defineMethod (c$, "isTopLevelMenu", \r
-function () {\r
-if (Clazz.instanceOf (this.getParent (), javax.swing.JMenuBar)) return true;\r
-return false;\r
-});\r
-Clazz.defineMethod (c$, "isMenuComponent", \r
-function (c) {\r
-if (c === this) return true;\r
-if (Clazz.instanceOf (c, javax.swing.JPopupMenu)) {\r
-var comp = c;\r
-if (comp === this.getPopupMenu ()) return true;\r
-}var ncomponents = this.getMenuComponentCount ();\r
-var component = this.getMenuComponents ();\r
-for (var i = 0; i < ncomponents; i++) {\r
-var comp = component[i];\r
-if (comp === c) return true;\r
-if (Clazz.instanceOf (comp, javax.swing.JMenu)) {\r
-var subMenu = comp;\r
-if (subMenu.isMenuComponent (c)) return true;\r
-}}\r
-return false;\r
-}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "getPopupMenu", \r
-function () {\r
-this.ensurePopupMenuCreated ();\r
-return this.$popupMenu;\r
-});\r
-Clazz.defineMethod (c$, "addMenuListener", \r
-function (l) {\r
-this.listenerList.add (javax.swing.event.MenuListener, l);\r
-}, "javax.swing.event.MenuListener");\r
-Clazz.defineMethod (c$, "removeMenuListener", \r
-function (l) {\r
-this.listenerList.remove (javax.swing.event.MenuListener, l);\r
-}, "javax.swing.event.MenuListener");\r
-Clazz.defineMethod (c$, "getMenuListeners", \r
-function () {\r
-return this.listenerList.getListeners (javax.swing.event.MenuListener);\r
-});\r
-Clazz.defineMethod (c$, "fireMenuSelected", \r
-function () {\r
-var listeners = this.listenerList.getListenerList ();\r
-for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === javax.swing.event.MenuListener) {\r
-if (listeners[i + 1] == null) {\r
-throw  new Error (this.getText () + " has a NULL Listener!! " + i);\r
-} else {\r
-if (this.menuEvent == null) this.menuEvent =  new javax.swing.event.MenuEvent (this);\r
-(listeners[i + 1]).menuSelected (this.menuEvent);\r
-}}}\r
-});\r
-Clazz.defineMethod (c$, "fireMenuDeselected", \r
-function () {\r
-var listeners = this.listenerList.getListenerList ();\r
-for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === javax.swing.event.MenuListener) {\r
-if (listeners[i + 1] == null) {\r
-throw  new Error (this.getText () + " has a NULL Listener!! " + i);\r
-} else {\r
-if (this.menuEvent == null) this.menuEvent =  new javax.swing.event.MenuEvent (this);\r
-(listeners[i + 1]).menuDeselected (this.menuEvent);\r
-}}}\r
-});\r
-Clazz.defineMethod (c$, "fireMenuCanceled", \r
-function () {\r
-var listeners = this.listenerList.getListenerList ();\r
-for (var i = listeners.length - 2; i >= 0; i -= 2) {\r
-if (listeners[i] === javax.swing.event.MenuListener) {\r
-if (listeners[i + 1] == null) {\r
-throw  new Error (this.getText () + " has a NULL Listener!! " + i);\r
-} else {\r
-if (this.menuEvent == null) this.menuEvent =  new javax.swing.event.MenuEvent (this);\r
-(listeners[i + 1]).menuCanceled (this.menuEvent);\r
-}}}\r
-});\r
-Clazz.overrideMethod (c$, "configureAcceleratorFromAction", \r
-function (a) {\r
-}, "javax.swing.Action");\r
-Clazz.defineMethod (c$, "createMenuChangeListener", \r
- function () {\r
-return Clazz.innerTypeInstance (javax.swing.JMenu.MenuChangeListener, this, null);\r
-});\r
-Clazz.defineMethod (c$, "createWinListener", \r
-function (p) {\r
-return Clazz.innerTypeInstance (javax.swing.JMenu.WinListener, this, null, p);\r
-}, "javax.swing.JPopupMenu");\r
-Clazz.overrideMethod (c$, "menuSelectionChanged", \r
-function (isIncluded) {\r
-this.setSelected (isIncluded);\r
-}, "~B");\r
-Clazz.overrideMethod (c$, "getSubElements", \r
-function () {\r
-if (this.$popupMenu == null) return  new Array (0);\r
- else {\r
-var result =  new Array (1);\r
-result[0] = this.$popupMenu;\r
-return result;\r
-}});\r
-Clazz.defineMethod (c$, "getComponent", \r
-function () {\r
-return this;\r
-});\r
-Clazz.defineMethod (c$, "applyComponentOrientation", \r
-function (o) {\r
-Clazz.superCall (this, javax.swing.JMenu, "applyComponentOrientation", [o]);\r
-if (this.$popupMenu != null) {\r
-var ncomponents = this.getMenuComponentCount ();\r
-for (var i = 0; i < ncomponents; ++i) {\r
-this.getMenuComponent (i).applyComponentOrientation (o);\r
-}\r
-this.$popupMenu.setComponentOrientation (o);\r
-}}, "java.awt.ComponentOrientation");\r
-Clazz.defineMethod (c$, "setComponentOrientation", \r
-function (o) {\r
-Clazz.superCall (this, javax.swing.JMenu, "setComponentOrientation", [o]);\r
-if (this.$popupMenu != null) {\r
-this.$popupMenu.setComponentOrientation (o);\r
-}}, "java.awt.ComponentOrientation");\r
-Clazz.overrideMethod (c$, "setAccelerator", \r
-function (keyStroke) {\r
-throw  new Error ("setAccelerator() is not defined for JMenu.  Use setMnemonic() instead.");\r
-}, "javax.swing.KeyStroke");\r
-Clazz.defineMethod (c$, "processKeyEvent", \r
-function (evt) {\r
-javax.swing.MenuSelectionManager.defaultManager ().processKeyEvent (evt);\r
-if (evt.isConsumed ()) return;\r
-Clazz.superCall (this, javax.swing.JMenu, "processKeyEvent", [evt]);\r
-}, "java.awt.event.KeyEvent");\r
-Clazz.defineMethod (c$, "doClick", \r
-function (pressTime) {\r
-var me = this.buildMenuElementArray (this);\r
-javax.swing.MenuSelectionManager.defaultManager ().setSelectedPath (me);\r
-}, "~N");\r
-Clazz.defineMethod (c$, "buildMenuElementArray", \r
- function (leaf) {\r
-var elements =  new java.util.Vector ();\r
-var current = leaf.getPopupMenu ();\r
-var pop;\r
-var menu;\r
-var bar;\r
-while (true) {\r
-if (Clazz.instanceOf (current, javax.swing.JPopupMenu)) {\r
-pop = current;\r
-elements.insertElementAt (pop, 0);\r
-current = pop.getInvoker ();\r
-} else if (Clazz.instanceOf (current, javax.swing.JMenu)) {\r
-menu = current;\r
-elements.insertElementAt (menu, 0);\r
-current = menu.getParent ();\r
-} else if (Clazz.instanceOf (current, javax.swing.JMenuBar)) {\r
-bar = current;\r
-elements.insertElementAt (bar, 0);\r
-var me =  new Array (elements.size ());\r
-elements.copyInto (me);\r
-return me;\r
-}}\r
-}, "javax.swing.JMenu");\r
-c$.$JMenu$MenuChangeListener$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.isSelected = false;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.JMenu, "MenuChangeListener", null, javax.swing.event.ChangeListener);\r
-Clazz.overrideMethod (c$, "stateChanged", \r
-function (a) {\r
-var b = a.getSource ();\r
-var c = b.isSelected ();\r
-if (c != this.isSelected) {\r
-if (c == true) {\r
-this.b$["javax.swing.JMenu"].fireMenuSelected ();\r
-} else {\r
-this.b$["javax.swing.JMenu"].fireMenuDeselected ();\r
-}this.isSelected = c;\r
-}}, "javax.swing.event.ChangeEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$JMenu$WinListener$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-Clazz.prepareCallback (this, arguments);\r
-this.popupMenu = null;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.JMenu, "WinListener", java.awt.event.WindowAdapter);\r
-Clazz.makeConstructor (c$, \r
-function (a) {\r
-Clazz.superConstructor (this, javax.swing.JMenu.WinListener, []);\r
-this.popupMenu = a;\r
-}, "javax.swing.JPopupMenu");\r
-Clazz.overrideMethod (c$, "windowClosing", \r
-function (a) {\r
-this.b$["javax.swing.JMenu"].setSelected (false);\r
-}, "java.awt.event.WindowEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.$JMenu$1$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (javax.swing, "JMenu$1", javax.swing.JMenuItem);\r
-Clazz.defineMethod (c$, "createActionPropertyChangeListener", \r
-function (a) {\r
-var pcl = this.b$["javax.swing.JMenu"].createActionChangeListener (this);\r
-if (pcl == null) {\r
-pcl = Clazz.superCall (this, javax.swing.JMenu$1, "createActionPropertyChangeListener", [a]);\r
-}return pcl;\r
-}, "javax.swing.Action");\r
-c$ = Clazz.p0p ();\r
-};\r
-Clazz.defineStatics (c$,\r
-"$$uiClassID", "MenuUI");\r
-});\r
+Clazz.declarePackage ("javax.swing");
+Clazz.load (["java.awt.event.WindowAdapter", "javax.swing.JMenuItem", "$.MenuElement", "javax.swing.event.ChangeListener"], "javax.swing.JMenu", ["java.lang.Error", "$.IllegalArgumentException", "java.util.Vector", "java.awt.Point", "$.Rectangle", "$.Toolkit", "javax.swing.JMenuBar", "$.JPopupMenu", "$.MenuSelectionManager", "$.SwingUtilities", "$.UIManager", "javax.swing.event.MenuEvent", "$.MenuListener"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.$popupMenu = null;
+this.menuChangeListener = null;
+this.menuEvent = null;
+this.delay = 0;
+this.customMenuLocation = null;
+this.popupListener = null;
+if (!Clazz.isClassDefined ("javax.swing.JMenu.MenuChangeListener")) {
+javax.swing.JMenu.$JMenu$MenuChangeListener$ ();
+}
+if (!Clazz.isClassDefined ("javax.swing.JMenu.WinListener")) {
+javax.swing.JMenu.$JMenu$WinListener$ ();
+}
+Clazz.instantialize (this, arguments);
+}, javax.swing, "JMenu", javax.swing.JMenuItem, javax.swing.MenuElement);
+Clazz.makeConstructor (c$, 
+function () {
+Clazz.superConstructor (this, javax.swing.JMenu, []);
+this.init0 ("", null, -2147483648);
+});
+Clazz.makeConstructor (c$, 
+function (s) {
+Clazz.superConstructor (this, javax.swing.JMenu, []);
+this.init0 (s, null, -2147483648);
+}, "~S");
+Clazz.makeConstructor (c$, 
+function (a) {
+Clazz.superConstructor (this, javax.swing.JMenu, []);
+this.init0 ("", null, -2147483648);
+this.setAction (a);
+}, "javax.swing.Action");
+Clazz.makeConstructor (c$, 
+function (s, b) {
+Clazz.superConstructor (this, javax.swing.JMenu, []);
+this.init0 (s, null, -2147483648);
+}, "~S,~B");
+Clazz.overrideMethod (c$, "initFocusability", 
+function () {
+});
+Clazz.overrideMethod (c$, "updateUI", 
+function () {
+this.setUI (javax.swing.UIManager.getUI (this));
+if (this.$popupMenu != null) {
+this.$popupMenu.setUI (javax.swing.UIManager.getUI (this.$popupMenu));
+}});
+Clazz.overrideMethod (c$, "getUIClassID", 
+function () {
+return "MenuUI";
+});
+Clazz.defineMethod (c$, "setModel", 
+function (newModel) {
+var oldModel = this.getModel ();
+Clazz.superCall (this, javax.swing.JMenu, "setModel", [newModel]);
+if (oldModel != null && this.menuChangeListener != null) {
+oldModel.removeChangeListener (this.menuChangeListener);
+this.menuChangeListener = null;
+}this.model = newModel;
+if (newModel != null) {
+this.menuChangeListener = this.createMenuChangeListener ();
+newModel.addChangeListener (this.menuChangeListener);
+}}, "javax.swing.ButtonModel");
+Clazz.overrideMethod (c$, "isSelected", 
+function () {
+return this.getModel ().isSelected ();
+});
+Clazz.overrideMethod (c$, "setSelected", 
+function (b) {
+var model = this.getModel ();
+if (b != model.isSelected ()) {
+this.getModel ().setSelected (b);
+}}, "~B");
+Clazz.defineMethod (c$, "isPopupMenuVisible", 
+function () {
+this.ensurePopupMenuCreated ();
+return this.$popupMenu.isVisible ();
+});
+Clazz.defineMethod (c$, "setPopupMenuVisible", 
+function (b) {
+var isVisible = this.isPopupMenuVisible ();
+if (b != isVisible && (this.isEnabled () || !b)) {
+this.ensurePopupMenuCreated ();
+if ((b == true) && this.isShowing ()) {
+var p = this.getCustomMenuLocation ();
+if (p == null) {
+p = this.getPopupMenuOrigin ();
+}this.getPopupMenu ().show (this, p.x, p.y);
+} else {
+this.getPopupMenu ().setVisible (false);
+}}}, "~B");
+Clazz.defineMethod (c$, "getPopupMenuOrigin", 
+function () {
+var x = 0;
+var y = 0;
+var pm = this.getPopupMenu ();
+var s = this.getSize ();
+var pmSize = pm.getSize ();
+if (pmSize.width == 0) {
+pmSize = pm.getPreferredSize ();
+}var position = this.getLocationOnScreen ();
+var toolkit = java.awt.Toolkit.getDefaultToolkit ();
+var gc = this.getGraphicsConfiguration ();
+var screenBounds =  new java.awt.Rectangle (toolkit.getScreenSize ());
+if (gc != null) {
+screenBounds = gc.getBounds ();
+var screenInsets = toolkit.getScreenInsets (gc);
+screenBounds.width -= Math.abs (screenInsets.left + screenInsets.right);
+screenBounds.height -= Math.abs (screenInsets.top + screenInsets.bottom);
+position.x -= Math.abs (screenInsets.left);
+position.y -= Math.abs (screenInsets.top);
+}var parent = this.getParent ();
+if (Clazz.instanceOf (parent, javax.swing.JPopupMenu)) {
+var xOffset = javax.swing.UIManager.getInt ("Menu.submenuPopupOffsetX");
+var yOffset = javax.swing.UIManager.getInt ("Menu.submenuPopupOffsetY");
+if (javax.swing.SwingUtilities.isLeftToRight (this)) {
+x = s.width + xOffset;
+if (position.x + x + pmSize.width >= screenBounds.width + screenBounds.x && screenBounds.width - s.width < 2 * (position.x - screenBounds.x)) {
+x = 0 - xOffset - pmSize.width;
+}} else {
+x = 0 - xOffset - pmSize.width;
+if (position.x + x < screenBounds.x && screenBounds.width - s.width > 2 * (position.x - screenBounds.x)) {
+x = s.width + xOffset;
+}}y = yOffset;
+if (position.y + y + pmSize.height >= screenBounds.height + screenBounds.y && screenBounds.height - s.height < 2 * (position.y - screenBounds.y)) {
+y = s.height - yOffset - pmSize.height;
+}} else {
+var xOffset = javax.swing.UIManager.getInt ("Menu.menuPopupOffsetX");
+var yOffset = javax.swing.UIManager.getInt ("Menu.menuPopupOffsetY");
+if (javax.swing.SwingUtilities.isLeftToRight (this)) {
+x = xOffset;
+if (position.x + x + pmSize.width >= screenBounds.width + screenBounds.x && screenBounds.width - s.width < 2 * (position.x - screenBounds.x)) {
+x = s.width - xOffset - pmSize.width;
+}} else {
+x = s.width - xOffset - pmSize.width;
+if (position.x + x < screenBounds.x && screenBounds.width - s.width > 2 * (position.x - screenBounds.x)) {
+x = xOffset;
+}}y = s.height + yOffset;
+if (position.y + y + pmSize.height >= screenBounds.height && screenBounds.height - s.height < 2 * (position.y - screenBounds.y)) {
+y = 0 - yOffset - pmSize.height;
+}}return  new java.awt.Point (x, y);
+});
+Clazz.defineMethod (c$, "getDelay", 
+function () {
+return this.delay;
+});
+Clazz.defineMethod (c$, "setDelay", 
+function (d) {
+if (d < 0) throw  new IllegalArgumentException ("Delay must be a positive integer");
+this.delay = d;
+}, "~N");
+Clazz.defineMethod (c$, "ensurePopupMenuCreated", 
+ function () {
+if (this.$popupMenu == null) {
+this.$popupMenu =  new javax.swing.JPopupMenu ();
+this.$popupMenu.setInvoker (this);
+this.popupListener = this.createWinListener (this.$popupMenu);
+}});
+Clazz.defineMethod (c$, "getCustomMenuLocation", 
+ function () {
+return this.customMenuLocation;
+});
+Clazz.defineMethod (c$, "setMenuLocation", 
+function (x, y) {
+this.customMenuLocation =  new java.awt.Point (x, y);
+if (this.$popupMenu != null) this.$popupMenu.setLocation (x, y);
+}, "~N,~N");
+Clazz.defineMethod (c$, "add", 
+function (menuItem) {
+this.ensurePopupMenuCreated ();
+return this.$popupMenu.add (menuItem);
+}, "javax.swing.JMenuItem");
+Clazz.defineMethod (c$, "add", 
+function (c) {
+this.ensurePopupMenuCreated ();
+this.$popupMenu.add (c);
+return c;
+}, "java.awt.Component");
+Clazz.defineMethod (c$, "add", 
+function (c, index) {
+this.ensurePopupMenuCreated ();
+this.$popupMenu.add (c, index);
+return c;
+}, "java.awt.Component,~N");
+Clazz.defineMethod (c$, "add", 
+function (s) {
+return this.add ( new javax.swing.JMenuItem (s));
+}, "~S");
+Clazz.defineMethod (c$, "add", 
+function (a) {
+var mi = this.createActionComponent (a);
+mi.setAction (a);
+this.add (mi);
+return mi;
+}, "javax.swing.Action");
+Clazz.defineMethod (c$, "createActionComponent", 
+function (a) {
+var mi = ((Clazz.isClassDefined ("javax.swing.JMenu$1") ? 0 : javax.swing.JMenu.$JMenu$1$ ()), Clazz.innerTypeInstance (javax.swing.JMenu$1, this, null));
+mi.setHorizontalTextPosition (11);
+mi.setVerticalTextPosition (0);
+return mi;
+}, "javax.swing.Action");
+Clazz.defineMethod (c$, "createActionChangeListener", 
+function (b) {
+return b.createActionPropertyChangeListener0 (b.getAction ());
+}, "javax.swing.JMenuItem");
+Clazz.defineMethod (c$, "addSeparator", 
+function () {
+this.ensurePopupMenuCreated ();
+this.$popupMenu.addSeparator ();
+});
+Clazz.defineMethod (c$, "insert", 
+function (s, pos) {
+if (pos < 0) {
+throw  new IllegalArgumentException ("index less than zero.");
+}this.ensurePopupMenuCreated ();
+this.$popupMenu.insert ( new javax.swing.JMenuItem (s), pos);
+}, "~S,~N");
+Clazz.defineMethod (c$, "insert", 
+function (mi, pos) {
+if (pos < 0) {
+throw  new IllegalArgumentException ("index less than zero.");
+}this.ensurePopupMenuCreated ();
+this.$popupMenu.insert (mi, pos);
+return mi;
+}, "javax.swing.JMenuItem,~N");
+Clazz.defineMethod (c$, "insert", 
+function (a, pos) {
+if (pos < 0) {
+throw  new IllegalArgumentException ("index less than zero.");
+}this.ensurePopupMenuCreated ();
+var mi =  new javax.swing.JMenuItem (a);
+mi.setHorizontalTextPosition (11);
+mi.setVerticalTextPosition (0);
+this.$popupMenu.insert (mi, pos);
+return mi;
+}, "javax.swing.Action,~N");
+Clazz.defineMethod (c$, "insertSeparator", 
+function (index) {
+if (index < 0) {
+throw  new IllegalArgumentException ("index less than zero.");
+}this.ensurePopupMenuCreated ();
+this.$popupMenu.insert ( new javax.swing.JPopupMenu.Separator (), index);
+}, "~N");
+Clazz.defineMethod (c$, "getItem", 
+function (pos) {
+if (pos < 0) {
+throw  new IllegalArgumentException ("index less than zero.");
+}var c = this.getMenuComponent (pos);
+if (Clazz.instanceOf (c, javax.swing.JMenuItem)) {
+var mi = c;
+return mi;
+}return null;
+}, "~N");
+Clazz.defineMethod (c$, "getItemCount", 
+function () {
+return this.getMenuComponentCount ();
+});
+Clazz.defineMethod (c$, "isTearOff", 
+function () {
+throw  new Error ("boolean isTearOff() {} not yet implemented");
+});
+Clazz.defineMethod (c$, "remove", 
+function (pos) {
+if (pos < 0) {
+throw  new IllegalArgumentException ("index less than zero.");
+}if (pos > this.getItemCount ()) {
+throw  new IllegalArgumentException ("index greater than the number of items.");
+}if (this.$popupMenu != null) this.$popupMenu.remove (pos);
+}, "~N");
+Clazz.defineMethod (c$, "remove", 
+function (c) {
+if (Clazz.instanceOf (c, javax.swing.JMenuItem)) if (this.$popupMenu != null) this.$popupMenu.remove (c);
+if (this.$popupMenu != null) this.$popupMenu.remove (c);
+}, "java.awt.Component");
+Clazz.defineMethod (c$, "removeAll", 
+function () {
+if (this.$popupMenu != null) this.$popupMenu.removeAll ();
+});
+Clazz.defineMethod (c$, "getMenuComponentCount", 
+function () {
+var componentCount = 0;
+if (this.$popupMenu != null) componentCount = this.$popupMenu.getComponentCount ();
+return componentCount;
+});
+Clazz.defineMethod (c$, "getMenuComponent", 
+function (n) {
+if (this.$popupMenu != null) return this.$popupMenu.getComponent (n);
+return null;
+}, "~N");
+Clazz.defineMethod (c$, "getMenuComponents", 
+function () {
+if (this.$popupMenu != null) return this.$popupMenu.getComponents ();
+return  new Array (0);
+});
+Clazz.defineMethod (c$, "isTopLevelMenu", 
+function () {
+if (Clazz.instanceOf (this.getParent (), javax.swing.JMenuBar)) return true;
+return false;
+});
+Clazz.defineMethod (c$, "isMenuComponent", 
+function (c) {
+if (c === this) return true;
+if (Clazz.instanceOf (c, javax.swing.JPopupMenu)) {
+var comp = c;
+if (comp === this.getPopupMenu ()) return true;
+}var ncomponents = this.getMenuComponentCount ();
+var component = this.getMenuComponents ();
+for (var i = 0; i < ncomponents; i++) {
+var comp = component[i];
+if (comp === c) return true;
+if (Clazz.instanceOf (comp, javax.swing.JMenu)) {
+var subMenu = comp;
+if (subMenu.isMenuComponent (c)) return true;
+}}
+return false;
+}, "java.awt.Component");
+Clazz.defineMethod (c$, "getPopupMenu", 
+function () {
+this.ensurePopupMenuCreated ();
+return this.$popupMenu;
+});
+Clazz.defineMethod (c$, "addMenuListener", 
+function (l) {
+this.listenerList.add (javax.swing.event.MenuListener, l);
+}, "javax.swing.event.MenuListener");
+Clazz.defineMethod (c$, "removeMenuListener", 
+function (l) {
+this.listenerList.remove (javax.swing.event.MenuListener, l);
+}, "javax.swing.event.MenuListener");
+Clazz.defineMethod (c$, "getMenuListeners", 
+function () {
+return this.listenerList.getListeners (javax.swing.event.MenuListener);
+});
+Clazz.defineMethod (c$, "fireMenuSelected", 
+function () {
+var listeners = this.listenerList.getListenerList ();
+for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === javax.swing.event.MenuListener) {
+if (listeners[i + 1] == null) {
+throw  new Error (this.getText () + " has a NULL Listener!! " + i);
+} else {
+if (this.menuEvent == null) this.menuEvent =  new javax.swing.event.MenuEvent (this);
+(listeners[i + 1]).menuSelected (this.menuEvent);
+}}}
+});
+Clazz.defineMethod (c$, "fireMenuDeselected", 
+function () {
+var listeners = this.listenerList.getListenerList ();
+for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === javax.swing.event.MenuListener) {
+if (listeners[i + 1] == null) {
+throw  new Error (this.getText () + " has a NULL Listener!! " + i);
+} else {
+if (this.menuEvent == null) this.menuEvent =  new javax.swing.event.MenuEvent (this);
+(listeners[i + 1]).menuDeselected (this.menuEvent);
+}}}
+});
+Clazz.defineMethod (c$, "fireMenuCanceled", 
+function () {
+var listeners = this.listenerList.getListenerList ();
+for (var i = listeners.length - 2; i >= 0; i -= 2) {
+if (listeners[i] === javax.swing.event.MenuListener) {
+if (listeners[i + 1] == null) {
+throw  new Error (this.getText () + " has a NULL Listener!! " + i);
+} else {
+if (this.menuEvent == null) this.menuEvent =  new javax.swing.event.MenuEvent (this);
+(listeners[i + 1]).menuCanceled (this.menuEvent);
+}}}
+});
+Clazz.overrideMethod (c$, "configureAcceleratorFromAction", 
+function (a) {
+}, "javax.swing.Action");
+Clazz.defineMethod (c$, "createMenuChangeListener", 
+ function () {
+return Clazz.innerTypeInstance (javax.swing.JMenu.MenuChangeListener, this, null);
+});
+Clazz.defineMethod (c$, "createWinListener", 
+function (p) {
+return Clazz.innerTypeInstance (javax.swing.JMenu.WinListener, this, null, p);
+}, "javax.swing.JPopupMenu");
+Clazz.overrideMethod (c$, "menuSelectionChanged", 
+function (isIncluded) {
+this.setSelected (isIncluded);
+}, "~B");
+Clazz.overrideMethod (c$, "getSubElements", 
+function () {
+if (this.$popupMenu == null) return  new Array (0);
+ else {
+var result =  new Array (1);
+result[0] = this.$popupMenu;
+return result;
+}});
+Clazz.defineMethod (c$, "getComponent", 
+function () {
+return this;
+});
+Clazz.defineMethod (c$, "applyComponentOrientation", 
+function (o) {
+Clazz.superCall (this, javax.swing.JMenu, "applyComponentOrientation", [o]);
+if (this.$popupMenu != null) {
+var ncomponents = this.getMenuComponentCount ();
+for (var i = 0; i < ncomponents; ++i) {
+this.getMenuComponent (i).applyComponentOrientation (o);
+}
+this.$popupMenu.setComponentOrientation (o);
+}}, "java.awt.ComponentOrientation");
+Clazz.defineMethod (c$, "setComponentOrientation", 
+function (o) {
+Clazz.superCall (this, javax.swing.JMenu, "setComponentOrientation", [o]);
+if (this.$popupMenu != null) {
+this.$popupMenu.setComponentOrientation (o);
+}}, "java.awt.ComponentOrientation");
+Clazz.overrideMethod (c$, "setAccelerator", 
+function (keyStroke) {
+throw  new Error ("setAccelerator() is not defined for JMenu.  Use setMnemonic() instead.");
+}, "javax.swing.KeyStroke");
+Clazz.defineMethod (c$, "processKeyEvent", 
+function (evt) {
+javax.swing.MenuSelectionManager.defaultManager ().processKeyEvent (evt);
+if (evt.isConsumed ()) return;
+Clazz.superCall (this, javax.swing.JMenu, "processKeyEvent", [evt]);
+}, "java.awt.event.KeyEvent");
+Clazz.defineMethod (c$, "doClick", 
+function (pressTime) {
+var me = this.buildMenuElementArray (this);
+javax.swing.MenuSelectionManager.defaultManager ().setSelectedPath (me);
+}, "~N");
+Clazz.defineMethod (c$, "buildMenuElementArray", 
+ function (leaf) {
+var elements =  new java.util.Vector ();
+var current = leaf.getPopupMenu ();
+var pop;
+var menu;
+var bar;
+while (true) {
+if (Clazz.instanceOf (current, javax.swing.JPopupMenu)) {
+pop = current;
+elements.insertElementAt (pop, 0);
+current = pop.getInvoker ();
+} else if (Clazz.instanceOf (current, javax.swing.JMenu)) {
+menu = current;
+elements.insertElementAt (menu, 0);
+current = menu.getParent ();
+} else if (Clazz.instanceOf (current, javax.swing.JMenuBar)) {
+bar = current;
+elements.insertElementAt (bar, 0);
+var me =  new Array (elements.size ());
+elements.copyInto (me);
+return me;
+}}
+}, "javax.swing.JMenu");
+c$.$JMenu$MenuChangeListener$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.isSelected = false;
+Clazz.instantialize (this, arguments);
+}, javax.swing.JMenu, "MenuChangeListener", null, javax.swing.event.ChangeListener);
+Clazz.overrideMethod (c$, "stateChanged", 
+function (a) {
+var b = a.getSource ();
+var c = b.isSelected ();
+if (c != this.isSelected) {
+if (c == true) {
+this.b$["javax.swing.JMenu"].fireMenuSelected ();
+} else {
+this.b$["javax.swing.JMenu"].fireMenuDeselected ();
+}this.isSelected = c;
+}}, "javax.swing.event.ChangeEvent");
+c$ = Clazz.p0p ();
+};
+c$.$JMenu$WinListener$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+Clazz.prepareCallback (this, arguments);
+this.popupMenu = null;
+Clazz.instantialize (this, arguments);
+}, javax.swing.JMenu, "WinListener", java.awt.event.WindowAdapter);
+Clazz.makeConstructor (c$, 
+function (a) {
+Clazz.superConstructor (this, javax.swing.JMenu.WinListener, []);
+this.popupMenu = a;
+}, "javax.swing.JPopupMenu");
+Clazz.overrideMethod (c$, "windowClosing", 
+function (a) {
+this.b$["javax.swing.JMenu"].setSelected (false);
+}, "java.awt.event.WindowEvent");
+c$ = Clazz.p0p ();
+};
+c$.$JMenu$1$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (javax.swing, "JMenu$1", javax.swing.JMenuItem);
+Clazz.defineMethod (c$, "createActionPropertyChangeListener", 
+function (a) {
+var pcl = this.b$["javax.swing.JMenu"].createActionChangeListener (this);
+if (pcl == null) {
+pcl = Clazz.superCall (this, javax.swing.JMenu$1, "createActionPropertyChangeListener", [a]);
+}return pcl;
+}, "javax.swing.Action");
+c$ = Clazz.p0p ();
+};
+Clazz.defineStatics (c$,
+"$$uiClassID", "MenuUI");
+});