Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / javax / swing / PopupFactory.js
index 0949f00..00de6b7 100644 (file)
-Clazz.declarePackage ("javax.swing");\r
-Clazz.load (["java.awt.Panel", "javax.swing.Popup", "$.SwingHeavyWeight", "java.awt.BorderLayout"], "javax.swing.PopupFactory", ["java.lang.Boolean", "$.IllegalArgumentException", "java.util.ArrayList", "$.HashMap", "java.applet.Applet", "java.awt.Container", "$.Insets", "$.Rectangle", "$.Toolkit", "$.Window", "java.awt.event.WindowAdapter", "javax.swing.ClientPropertyKey", "$.JApplet", "$.JComponent", "$.JDialog", "$.JFrame", "$.JLayeredPane", "$.JPanel", "$.JPopupMenu", "$.JRootPane", "$.JSeparator", "$.JToolTip", "$.JWindow", "$.MenuElement", "javax.swing.Popup.DefaultFrame", "$.HeavyWeightWindow", "javax.swing.RootPaneContainer", "$.SwingUtilities"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.popupType = 0;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing, "PopupFactory");\r
-c$.setSharedInstance = Clazz.defineMethod (c$, "setSharedInstance", \r
-function (factory) {\r
-if (factory == null) {\r
-throw  new IllegalArgumentException ("PopupFactory can not be null");\r
-}javax.swing.SwingUtilities.appContextPut (javax.swing.PopupFactory.SharedInstanceKey, factory);\r
-}, "javax.swing.PopupFactory");\r
-c$.getSharedInstance = Clazz.defineMethod (c$, "getSharedInstance", \r
-function () {\r
-var factory = javax.swing.SwingUtilities.appContextGet (javax.swing.PopupFactory.SharedInstanceKey);\r
-if (factory == null) {\r
-factory =  new javax.swing.PopupFactory ();\r
-javax.swing.PopupFactory.setSharedInstance (factory);\r
-}return factory;\r
-});\r
-Clazz.defineMethod (c$, "setPopupType", \r
-function (type) {\r
-this.popupType = type;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "getPopupType", \r
-function () {\r
-return this.popupType;\r
-});\r
-Clazz.defineMethod (c$, "getPopup", \r
-function (owner, contents, x, y) {\r
-if (contents == null) {\r
-throw  new IllegalArgumentException ("Popup.getPopup must be passed non-null contents");\r
-}var popupType = this.getPopupType (owner, contents, x, y);\r
-var popup = this.getPopup (owner, contents, x, y, popupType);\r
-if (popup == null) {\r
-popup = this.getPopup (owner, contents, x, y, 2);\r
-}return popup;\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "getPopupType", \r
- function (owner, contents, ownerX, ownerY) {\r
-var popupType = this.getPopupType ();\r
-if (owner == null || this.invokerInHeavyWeightPopup (owner)) {\r
-popupType = 2;\r
-} else if (popupType == 0 && !(Clazz.instanceOf (contents, javax.swing.JToolTip)) && !(Clazz.instanceOf (contents, javax.swing.JPopupMenu))) {\r
-popupType = 1;\r
-}var c = owner;\r
-while (c != null) {\r
-if (Clazz.instanceOf (c, javax.swing.JComponent)) {\r
-if ((c).getClientProperty (javax.swing.ClientPropertyKey.PopupFactory_FORCE_HEAVYWEIGHT_POPUP) === Boolean.TRUE) {\r
-popupType = 2;\r
-break;\r
-}}c = c.getParent ();\r
-}\r
-return popupType;\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "getPopup", \r
- function (owner, contents, ownerX, ownerY, popupType) {\r
-switch (popupType) {\r
-case 0:\r
-return this.getLightWeightPopup (owner, contents, ownerX, ownerY);\r
-case 1:\r
-return this.getMediumWeightPopup (owner, contents, ownerX, ownerY);\r
-case 2:\r
-return this.getHeavyWeightPopup (owner, contents, ownerX, ownerY);\r
-}\r
-return null;\r
-}, "java.awt.Component,java.awt.Component,~N,~N,~N");\r
-Clazz.defineMethod (c$, "getLightWeightPopup", \r
- function (owner, contents, ownerX, ownerY) {\r
-return javax.swing.PopupFactory.LightWeightPopup.getLightWeightPopup (owner, contents, ownerX, ownerY);\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "getMediumWeightPopup", \r
- function (owner, contents, ownerX, ownerY) {\r
-return javax.swing.PopupFactory.MediumWeightPopup.getMediumWeightPopup (owner, contents, ownerX, ownerY);\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "getHeavyWeightPopup", \r
- function (owner, contents, ownerX, ownerY) {\r
-return javax.swing.PopupFactory.HeavyWeightPopup.getHeavyWeightPopup (owner, contents, ownerX, ownerY);\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "invokerInHeavyWeightPopup", \r
- function (i) {\r
-if (i != null) {\r
-var parent;\r
-for (parent = i.getParent (); parent != null; parent = parent.getParent ()) {\r
-if (Clazz.instanceOf (parent, javax.swing.Popup.HeavyWeightWindow)) {\r
-return true;\r
-}}\r
-}return false;\r
-}, "java.awt.Component");\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareType (javax.swing.PopupFactory, "HeavyWeightPopup", javax.swing.Popup);\r
-c$.getHeavyWeightPopup = Clazz.defineMethod (c$, "getHeavyWeightPopup", \r
-function (a, b, c, d) {\r
-var e = (a != null) ? javax.swing.SwingUtilities.getWindowAncestor (a) : null;\r
-var f = null;\r
-if (e != null) {\r
-f = javax.swing.PopupFactory.HeavyWeightPopup.getRecycledHeavyWeightPopup (e);\r
-}var g = false;\r
-if (b != null && b.isFocusable ()) {\r
-if (Clazz.instanceOf (b, javax.swing.JPopupMenu)) {\r
-var h = b;\r
-var i = h.getComponents ();\r
-for (var j = 0; j < i.length; j++) {\r
-if (!(Clazz.instanceOf (i[j], javax.swing.MenuElement)) && !(Clazz.instanceOf (i[j], javax.swing.JSeparator))) {\r
-g = true;\r
-break;\r
-}}\r
-}}if (f == null || (f.getComponent ()).getFocusableWindowState () != g) {\r
-if (f != null) {\r
-f._dispose ();\r
-}f =  new javax.swing.PopupFactory.HeavyWeightPopup ();\r
-}f.reset (a, b, c, d);\r
-if (g) {\r
-var h = f.getComponent ();\r
-h.setFocusableWindowState (true);\r
-h.setName ("###focusableSwingPopup###");\r
-}return f;\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-c$.getRecycledHeavyWeightPopup = Clazz.defineMethod (c$, "getRecycledHeavyWeightPopup", \r
- function (a) {\r
-{\r
-var b;\r
-var c = javax.swing.PopupFactory.HeavyWeightPopup.getHeavyWeightPopupCache ();\r
-if (c.containsKey (a)) {\r
-b = c.get (a);\r
-} else {\r
-return null;\r
-}var d;\r
-if ((d = b.size ()) > 0) {\r
-var e = b.get (0);\r
-b.remove (0);\r
-return e;\r
-}return null;\r
-}}, "java.awt.Window");\r
-c$.getHeavyWeightPopupCache = Clazz.defineMethod (c$, "getHeavyWeightPopupCache", \r
- function () {\r
-{\r
-var a = javax.swing.SwingUtilities.appContextGet (javax.swing.PopupFactory.HeavyWeightPopup.heavyWeightPopupCacheKey);\r
-if (a == null) {\r
-a =  new java.util.HashMap (2);\r
-javax.swing.SwingUtilities.appContextPut (javax.swing.PopupFactory.HeavyWeightPopup.heavyWeightPopupCacheKey, a);\r
-}return a;\r
-}});\r
-c$.recycleHeavyWeightPopup = Clazz.defineMethod (c$, "recycleHeavyWeightPopup", \r
- function (a) {\r
-{\r
-var b;\r
-var c = javax.swing.SwingUtilities.getWindowAncestor (a.getComponent ());\r
-var d = javax.swing.PopupFactory.HeavyWeightPopup.getHeavyWeightPopupCache ();\r
-if (Clazz.instanceOf (c, javax.swing.Popup.DefaultFrame) || !(c).isVisible ()) {\r
-a._dispose ();\r
-return;\r
-} else if (d.containsKey (c)) {\r
-b = d.get (c);\r
-} else {\r
-b =  new java.util.ArrayList ();\r
-d.put (c, b);\r
-var e = c;\r
-e.addWindowListener (((Clazz.isClassDefined ("javax.swing.PopupFactory$HeavyWeightPopup$1") ? 0 : javax.swing.PopupFactory.HeavyWeightPopup.$PopupFactory$HeavyWeightPopup$1$ ()), Clazz.innerTypeInstance (javax.swing.PopupFactory$HeavyWeightPopup$1, this, Clazz.cloneFinals ("e", e))));\r
-}if (b.size () < 5) {\r
-b.add (a);\r
-} else {\r
-a._dispose ();\r
-}}}, "javax.swing.PopupFactory.HeavyWeightPopup");\r
-Clazz.defineMethod (c$, "hide", \r
-function () {\r
-Clazz.superCall (this, javax.swing.PopupFactory.HeavyWeightPopup, "hide", []);\r
-javax.swing.PopupFactory.HeavyWeightPopup.recycleHeavyWeightPopup (this);\r
-});\r
-Clazz.defineMethod (c$, "dispose", \r
-function () {\r
-});\r
-Clazz.defineMethod (c$, "_dispose", \r
-function () {\r
-Clazz.superCall (this, javax.swing.PopupFactory.HeavyWeightPopup, "dispose", []);\r
-});\r
-c$.$PopupFactory$HeavyWeightPopup$1$ = function () {\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareAnonymous (javax.swing, "PopupFactory$HeavyWeightPopup$1", java.awt.event.WindowAdapter);\r
-Clazz.overrideMethod (c$, "windowClosed", \r
-function (a) {\r
-var b;\r
-{\r
-var c = javax.swing.PopupFactory.HeavyWeightPopup.getHeavyWeightPopupCache ();\r
-b = c.remove (this.f$.e);\r
-}if (b != null) {\r
-for (var c = b.size () - 1; c >= 0; c--) {\r
-(b.get (c))._dispose ();\r
-}\r
-}}, "java.awt.event.WindowEvent");\r
-c$ = Clazz.p0p ();\r
-};\r
-c$.heavyWeightPopupCacheKey = c$.prototype.heavyWeightPopupCacheKey =  new Clazz._O ();\r
-c$ = Clazz.p0p ();\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.owner = null;\r
-this.x = 0;\r
-this.y = 0;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.PopupFactory, "ContainerPopup", javax.swing.Popup);\r
-Clazz.overrideMethod (c$, "hide", \r
-function () {\r
-var a = this.getComponent ();\r
-if (a != null) {\r
-var b = a.getParent ();\r
-if (b != null) {\r
-var c = a.getBounds ();\r
-b.remove (a);\r
-b.repaint (c.x, c.y, c.width, c.height);\r
-}}this.owner = null;\r
-});\r
-Clazz.overrideMethod (c$, "pack", \r
-function () {\r
-var a = this.getComponent ();\r
-if (a != null) {\r
-a.setSize (a.getPreferredSize ());\r
-}});\r
-Clazz.defineMethod (c$, "reset", \r
-function (a, b, c, d) {\r
-if ((Clazz.instanceOf (a, javax.swing.JFrame)) || (Clazz.instanceOf (a, javax.swing.JDialog)) || (Clazz.instanceOf (a, javax.swing.JWindow))) {\r
-a = (a).getLayeredPane ();\r
-}Clazz.superCall (this, javax.swing.PopupFactory.ContainerPopup, "reset", [a, b, c, d]);\r
-this.x = c;\r
-this.y = d;\r
-this.owner = a;\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "overlappedByOwnedWindow", \r
-function () {\r
-var a = this.getComponent ();\r
-if (this.owner != null && a != null) {\r
-var b = javax.swing.SwingUtilities.getWindowAncestor (this.owner);\r
-if (b == null) {\r
-return false;\r
-}var c = b.getOwnedWindows ();\r
-if (c != null) {\r
-var d = a.getBounds ();\r
-for (var e = 0; e < c.length; e++) {\r
-var f = c[e];\r
-if (f.isVisible () && d.intersects (f.getBounds ())) {\r
-return true;\r
-}}\r
-}}return false;\r
-});\r
-Clazz.defineMethod (c$, "fitsOnScreen", \r
-function () {\r
-var a = this.getComponent ();\r
-if (this.owner != null && a != null) {\r
-var b;\r
-var c = a.getWidth ();\r
-var d = a.getHeight ();\r
-for (b = this.owner.getParent (); b != null; b = b.getParent ()) {\r
-if (Clazz.instanceOf (b, javax.swing.JFrame) || Clazz.instanceOf (b, javax.swing.JDialog) || Clazz.instanceOf (b, javax.swing.JWindow)) {\r
-var e = b.getBounds ();\r
-var f = b.getInsets ();\r
-e.x += f.left;\r
-e.y += f.top;\r
-e.width -= (f.left + f.right);\r
-e.height -= (f.top + f.bottom);\r
-var g = b.getGraphicsConfiguration ();\r
-var h = this.getContainerPopupArea (g);\r
-return e.intersection (h).contains (this.x, this.y, c, d);\r
-} else if (Clazz.instanceOf (b, javax.swing.JApplet)) {\r
-var e = b.getBounds ();\r
-var f = b.getLocationOnScreen ();\r
-e.x = f.x;\r
-e.y = f.y;\r
-return e.contains (this.x, this.y, c, d);\r
-} else if (Clazz.instanceOf (b, java.awt.Window) || Clazz.instanceOf (b, java.applet.Applet)) {\r
-break;\r
-}}\r
-}return false;\r
-});\r
-Clazz.defineMethod (c$, "getContainerPopupArea", \r
-function (a) {\r
-var b;\r
-var c = java.awt.Toolkit.getDefaultToolkit ();\r
-var d;\r
-if (a != null) {\r
-b = a.getBounds ();\r
-d = c.getScreenInsets (a);\r
-} else {\r
-b =  new java.awt.Rectangle (c.getScreenSize ());\r
-d =  new java.awt.Insets (0, 0, 0, 0);\r
-}b.x += d.left;\r
-b.y += d.top;\r
-b.width -= (d.left + d.right);\r
-b.height -= (d.top + d.bottom);\r
-return b;\r
-}, "java.awt.GraphicsConfiguration");\r
-c$ = Clazz.p0p ();\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareType (javax.swing.PopupFactory, "LightWeightPopup", javax.swing.PopupFactory.ContainerPopup);\r
-c$.getLightWeightPopup = Clazz.defineMethod (c$, "getLightWeightPopup", \r
-function (a, b, c, d) {\r
-var e = null;\r
-if (e == null) {\r
-e =  new javax.swing.PopupFactory.LightWeightPopup ();\r
-}e.reset (a, b, c, d);\r
-if (!e.fitsOnScreen () || e.overlappedByOwnedWindow ()) {\r
-e.hide ();\r
-return null;\r
-}return e;\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-Clazz.defineMethod (c$, "hide", \r
-function () {\r
-Clazz.superCall (this, javax.swing.PopupFactory.LightWeightPopup, "hide", []);\r
-var a = this.getComponent ();\r
-a.removeAll ();\r
-});\r
-Clazz.overrideMethod (c$, "show", \r
-function () {\r
-var a = null;\r
-if (this.owner != null) {\r
-a = (Clazz.instanceOf (this.owner, java.awt.Container) ? this.owner : this.owner.getParent ());\r
-}for (var b = a; b != null; b = b.getParent ()) {\r
-if (Clazz.instanceOf (b, javax.swing.JRootPane)) {\r
-a = (b).getLayeredPane ();\r
-} else if (Clazz.instanceOf (b, java.awt.Window)) {\r
-if (a == null) {\r
-a = b;\r
-}break;\r
-} else if (Clazz.instanceOf (b, javax.swing.JApplet)) {\r
-break;\r
-}}\r
-var c = javax.swing.SwingUtilities.convertScreenLocationToParent (a, this.x, this.y);\r
-var d = this.getComponent ();\r
-d.setLocation (c.x, c.y);\r
-if (Clazz.instanceOf (a, javax.swing.JLayeredPane)) {\r
-(a).add (d, javax.swing.JLayeredPane.POPUP_LAYER, 0);\r
-} else {\r
-a.add (d);\r
-}});\r
-Clazz.overrideMethod (c$, "createComponent", \r
-function (a) {\r
-var b =  new javax.swing.JPanel ( new java.awt.BorderLayout (), true);\r
-b.setOpaque (true);\r
-return b;\r
-}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "reset", \r
-function (a, b, c, d) {\r
-Clazz.superCall (this, javax.swing.PopupFactory.LightWeightPopup, "reset", [a, b, c, d]);\r
-var e = this.getComponent ();\r
-e.setOpaque (b.isOpaque ());\r
-e.setLocation (c, d);\r
-e.add (b, "Center");\r
-b.invalidate ();\r
-this.pack ();\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-c$.lightWeightPopupCacheKey = c$.prototype.lightWeightPopupCacheKey =  new Clazz._O ();\r
-c$ = Clazz.p0p ();\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.rootPane = null;\r
-Clazz.instantialize (this, arguments);\r
-}, javax.swing.PopupFactory, "MediumWeightPopup", javax.swing.PopupFactory.ContainerPopup);\r
-c$.getMediumWeightPopup = Clazz.defineMethod (c$, "getMediumWeightPopup", \r
-function (a, b, c, d) {\r
-var e = javax.swing.PopupFactory.MediumWeightPopup.getRecycledMediumWeightPopup ();\r
-if (e == null) {\r
-e =  new javax.swing.PopupFactory.MediumWeightPopup ();\r
-}e.reset (a, b, c, d);\r
-if (!e.fitsOnScreen () || e.overlappedByOwnedWindow ()) {\r
-e.hide ();\r
-return null;\r
-}return e;\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-c$.getMediumWeightPopupCache = Clazz.defineMethod (c$, "getMediumWeightPopupCache", \r
- function () {\r
-var a = javax.swing.SwingUtilities.appContextGet (javax.swing.PopupFactory.MediumWeightPopup.mediumWeightPopupCacheKey);\r
-if (a == null) {\r
-a =  new java.util.ArrayList ();\r
-javax.swing.SwingUtilities.appContextPut (javax.swing.PopupFactory.MediumWeightPopup.mediumWeightPopupCacheKey, a);\r
-}return a;\r
-});\r
-c$.recycleMediumWeightPopup = Clazz.defineMethod (c$, "recycleMediumWeightPopup", \r
- function (a) {\r
-{\r
-var b = javax.swing.PopupFactory.MediumWeightPopup.getMediumWeightPopupCache ();\r
-if (b.size () < 5) {\r
-b.add (a);\r
-}}}, "javax.swing.PopupFactory.MediumWeightPopup");\r
-c$.getRecycledMediumWeightPopup = Clazz.defineMethod (c$, "getRecycledMediumWeightPopup", \r
- function () {\r
-{\r
-var a = javax.swing.PopupFactory.MediumWeightPopup.getMediumWeightPopupCache ();\r
-var b;\r
-if ((b = a.size ()) > 0) {\r
-var c = a.get (0);\r
-a.remove (0);\r
-return c;\r
-}return null;\r
-}});\r
-Clazz.defineMethod (c$, "hide", \r
-function () {\r
-Clazz.superCall (this, javax.swing.PopupFactory.MediumWeightPopup, "hide", []);\r
-this.rootPane.getContentPane ().removeAll ();\r
-javax.swing.PopupFactory.MediumWeightPopup.recycleMediumWeightPopup (this);\r
-});\r
-Clazz.overrideMethod (c$, "show", \r
-function () {\r
-var a = this.getComponent ();\r
-var b = null;\r
-if (this.owner != null) {\r
-b = this.owner.getParent ();\r
-}while (!(Clazz.instanceOf (b, java.awt.Window) || Clazz.instanceOf (b, java.applet.Applet)) && (b != null)) {\r
-b = b.getParent ();\r
-}\r
-if (Clazz.instanceOf (b, javax.swing.RootPaneContainer)) {\r
-b = (b).getLayeredPane ();\r
-var c = javax.swing.SwingUtilities.convertScreenLocationToParent (b, this.x, this.y);\r
-a.setVisible (false);\r
-a.setLocation (c.x, c.y);\r
-(b).add (a, javax.swing.JLayeredPane.POPUP_LAYER, 0);\r
-} else {\r
-var c = javax.swing.SwingUtilities.convertScreenLocationToParent (b, this.x, this.y);\r
-a.setLocation (c.x, c.y);\r
-a.setVisible (false);\r
-b.add (a);\r
-}a.setVisible (true);\r
-});\r
-Clazz.overrideMethod (c$, "createComponent", \r
-function (a) {\r
-var b =  new javax.swing.PopupFactory.MediumWeightPopup.MediumWeightComponent ();\r
-this.rootPane =  new javax.swing.JRootPane ();\r
-this.rootPane.setOpaque (true);\r
-b.add (this.rootPane, "Center");\r
-return b;\r
-}, "java.awt.Component");\r
-Clazz.defineMethod (c$, "reset", \r
-function (a, b, c, d) {\r
-Clazz.superCall (this, javax.swing.PopupFactory.MediumWeightPopup, "reset", [a, b, c, d]);\r
-var e = this.getComponent ();\r
-e.setLocation (c, d);\r
-this.rootPane.getContentPane ().add (b, "Center");\r
-b.invalidate ();\r
-e.validate ();\r
-this.pack ();\r
-}, "java.awt.Component,java.awt.Component,~N,~N");\r
-Clazz.pu$h(self.c$);\r
-c$ = Clazz.declareType (javax.swing.PopupFactory.MediumWeightPopup, "MediumWeightComponent", java.awt.Panel, javax.swing.SwingHeavyWeight);\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-Clazz.superConstructor (this, javax.swing.PopupFactory.MediumWeightPopup.MediumWeightComponent, [ new java.awt.BorderLayout ()]);\r
-});\r
-c$ = Clazz.p0p ();\r
-c$.mediumWeightPopupCacheKey = c$.prototype.mediumWeightPopupCacheKey =  new Clazz._O ();\r
-c$ = Clazz.p0p ();\r
-c$.SharedInstanceKey = c$.prototype.SharedInstanceKey =  new Clazz._O ();\r
-Clazz.defineStatics (c$,\r
-"MAX_CACHE_SIZE", 5,\r
-"LIGHT_WEIGHT_POPUP", 0,\r
-"MEDIUM_WEIGHT_POPUP", 1,\r
-"HEAVY_WEIGHT_POPUP", 2);\r
-});\r
+Clazz.declarePackage ("javax.swing");
+Clazz.load (["java.awt.Panel", "javax.swing.Popup", "$.SwingHeavyWeight", "java.awt.BorderLayout"], "javax.swing.PopupFactory", ["java.lang.Boolean", "$.IllegalArgumentException", "java.util.ArrayList", "$.HashMap", "java.applet.Applet", "java.awt.Container", "$.Insets", "$.Rectangle", "$.Toolkit", "$.Window", "java.awt.event.WindowAdapter", "javax.swing.ClientPropertyKey", "$.JApplet", "$.JComponent", "$.JDialog", "$.JFrame", "$.JLayeredPane", "$.JPanel", "$.JPopupMenu", "$.JRootPane", "$.JSeparator", "$.JToolTip", "$.JWindow", "$.MenuElement", "javax.swing.Popup.DefaultFrame", "$.HeavyWeightWindow", "javax.swing.RootPaneContainer", "$.SwingUtilities"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.popupType = 0;
+Clazz.instantialize (this, arguments);
+}, javax.swing, "PopupFactory");
+c$.setSharedInstance = Clazz.defineMethod (c$, "setSharedInstance", 
+function (factory) {
+if (factory == null) {
+throw  new IllegalArgumentException ("PopupFactory can not be null");
+}javax.swing.SwingUtilities.appContextPut (javax.swing.PopupFactory.SharedInstanceKey, factory);
+}, "javax.swing.PopupFactory");
+c$.getSharedInstance = Clazz.defineMethod (c$, "getSharedInstance", 
+function () {
+var factory = javax.swing.SwingUtilities.appContextGet (javax.swing.PopupFactory.SharedInstanceKey);
+if (factory == null) {
+factory =  new javax.swing.PopupFactory ();
+javax.swing.PopupFactory.setSharedInstance (factory);
+}return factory;
+});
+Clazz.defineMethod (c$, "setPopupType", 
+function (type) {
+this.popupType = type;
+}, "~N");
+Clazz.defineMethod (c$, "getPopupType", 
+function () {
+return this.popupType;
+});
+Clazz.defineMethod (c$, "getPopup", 
+function (owner, contents, x, y) {
+if (contents == null) {
+throw  new IllegalArgumentException ("Popup.getPopup must be passed non-null contents");
+}var popupType = this.getPopupType (owner, contents, x, y);
+var popup = this.getPopup (owner, contents, x, y, popupType);
+if (popup == null) {
+popup = this.getPopup (owner, contents, x, y, 2);
+}return popup;
+}, "java.awt.Component,java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "getPopupType", 
+ function (owner, contents, ownerX, ownerY) {
+var popupType = this.getPopupType ();
+if (owner == null || this.invokerInHeavyWeightPopup (owner)) {
+popupType = 2;
+} else if (popupType == 0 && !(Clazz.instanceOf (contents, javax.swing.JToolTip)) && !(Clazz.instanceOf (contents, javax.swing.JPopupMenu))) {
+popupType = 1;
+}var c = owner;
+while (c != null) {
+if (Clazz.instanceOf (c, javax.swing.JComponent)) {
+if ((c).getClientProperty (javax.swing.ClientPropertyKey.PopupFactory_FORCE_HEAVYWEIGHT_POPUP) === Boolean.TRUE) {
+popupType = 2;
+break;
+}}c = c.getParent ();
+}
+return popupType;
+}, "java.awt.Component,java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "getPopup", 
+ function (owner, contents, ownerX, ownerY, popupType) {
+switch (popupType) {
+case 0:
+return this.getLightWeightPopup (owner, contents, ownerX, ownerY);
+case 1:
+return this.getMediumWeightPopup (owner, contents, ownerX, ownerY);
+case 2:
+return this.getHeavyWeightPopup (owner, contents, ownerX, ownerY);
+}
+return null;
+}, "java.awt.Component,java.awt.Component,~N,~N,~N");
+Clazz.defineMethod (c$, "getLightWeightPopup", 
+ function (owner, contents, ownerX, ownerY) {
+return javax.swing.PopupFactory.LightWeightPopup.getLightWeightPopup (owner, contents, ownerX, ownerY);
+}, "java.awt.Component,java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "getMediumWeightPopup", 
+ function (owner, contents, ownerX, ownerY) {
+return javax.swing.PopupFactory.MediumWeightPopup.getMediumWeightPopup (owner, contents, ownerX, ownerY);
+}, "java.awt.Component,java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "getHeavyWeightPopup", 
+ function (owner, contents, ownerX, ownerY) {
+return javax.swing.PopupFactory.HeavyWeightPopup.getHeavyWeightPopup (owner, contents, ownerX, ownerY);
+}, "java.awt.Component,java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "invokerInHeavyWeightPopup", 
+ function (i) {
+if (i != null) {
+var parent;
+for (parent = i.getParent (); parent != null; parent = parent.getParent ()) {
+if (Clazz.instanceOf (parent, javax.swing.Popup.HeavyWeightWindow)) {
+return true;
+}}
+}return false;
+}, "java.awt.Component");
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareType (javax.swing.PopupFactory, "HeavyWeightPopup", javax.swing.Popup);
+c$.getHeavyWeightPopup = Clazz.defineMethod (c$, "getHeavyWeightPopup", 
+function (a, b, c, d) {
+var e = (a != null) ? javax.swing.SwingUtilities.getWindowAncestor (a) : null;
+var f = null;
+if (e != null) {
+f = javax.swing.PopupFactory.HeavyWeightPopup.getRecycledHeavyWeightPopup (e);
+}var g = false;
+if (b != null && b.isFocusable ()) {
+if (Clazz.instanceOf (b, javax.swing.JPopupMenu)) {
+var h = b;
+var i = h.getComponents ();
+for (var j = 0; j < i.length; j++) {
+if (!(Clazz.instanceOf (i[j], javax.swing.MenuElement)) && !(Clazz.instanceOf (i[j], javax.swing.JSeparator))) {
+g = true;
+break;
+}}
+}}if (f == null || (f.getComponent ()).getFocusableWindowState () != g) {
+if (f != null) {
+f._dispose ();
+}f =  new javax.swing.PopupFactory.HeavyWeightPopup ();
+}f.reset (a, b, c, d);
+if (g) {
+var h = f.getComponent ();
+h.setFocusableWindowState (true);
+h.setName ("###focusableSwingPopup###");
+}return f;
+}, "java.awt.Component,java.awt.Component,~N,~N");
+c$.getRecycledHeavyWeightPopup = Clazz.defineMethod (c$, "getRecycledHeavyWeightPopup", 
+ function (a) {
+{
+var b;
+var c = javax.swing.PopupFactory.HeavyWeightPopup.getHeavyWeightPopupCache ();
+if (c.containsKey (a)) {
+b = c.get (a);
+} else {
+return null;
+}var d;
+if ((d = b.size ()) > 0) {
+var e = b.get (0);
+b.remove (0);
+return e;
+}return null;
+}}, "java.awt.Window");
+c$.getHeavyWeightPopupCache = Clazz.defineMethod (c$, "getHeavyWeightPopupCache", 
+ function () {
+{
+var a = javax.swing.SwingUtilities.appContextGet (javax.swing.PopupFactory.HeavyWeightPopup.heavyWeightPopupCacheKey);
+if (a == null) {
+a =  new java.util.HashMap (2);
+javax.swing.SwingUtilities.appContextPut (javax.swing.PopupFactory.HeavyWeightPopup.heavyWeightPopupCacheKey, a);
+}return a;
+}});
+c$.recycleHeavyWeightPopup = Clazz.defineMethod (c$, "recycleHeavyWeightPopup", 
+ function (a) {
+{
+var b;
+var c = javax.swing.SwingUtilities.getWindowAncestor (a.getComponent ());
+var d = javax.swing.PopupFactory.HeavyWeightPopup.getHeavyWeightPopupCache ();
+if (Clazz.instanceOf (c, javax.swing.Popup.DefaultFrame) || !(c).isVisible ()) {
+a._dispose ();
+return;
+} else if (d.containsKey (c)) {
+b = d.get (c);
+} else {
+b =  new java.util.ArrayList ();
+d.put (c, b);
+var e = c;
+e.addWindowListener (((Clazz.isClassDefined ("javax.swing.PopupFactory$HeavyWeightPopup$1") ? 0 : javax.swing.PopupFactory.HeavyWeightPopup.$PopupFactory$HeavyWeightPopup$1$ ()), Clazz.innerTypeInstance (javax.swing.PopupFactory$HeavyWeightPopup$1, this, Clazz.cloneFinals ("e", e))));
+}if (b.size () < 5) {
+b.add (a);
+} else {
+a._dispose ();
+}}}, "javax.swing.PopupFactory.HeavyWeightPopup");
+Clazz.defineMethod (c$, "hide", 
+function () {
+Clazz.superCall (this, javax.swing.PopupFactory.HeavyWeightPopup, "hide", []);
+javax.swing.PopupFactory.HeavyWeightPopup.recycleHeavyWeightPopup (this);
+});
+Clazz.defineMethod (c$, "dispose", 
+function () {
+});
+Clazz.defineMethod (c$, "_dispose", 
+function () {
+Clazz.superCall (this, javax.swing.PopupFactory.HeavyWeightPopup, "dispose", []);
+});
+c$.$PopupFactory$HeavyWeightPopup$1$ = function () {
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareAnonymous (javax.swing, "PopupFactory$HeavyWeightPopup$1", java.awt.event.WindowAdapter);
+Clazz.overrideMethod (c$, "windowClosed", 
+function (a) {
+var b;
+{
+var c = javax.swing.PopupFactory.HeavyWeightPopup.getHeavyWeightPopupCache ();
+b = c.remove (this.f$.e);
+}if (b != null) {
+for (var c = b.size () - 1; c >= 0; c--) {
+(b.get (c))._dispose ();
+}
+}}, "java.awt.event.WindowEvent");
+c$ = Clazz.p0p ();
+};
+c$.heavyWeightPopupCacheKey = c$.prototype.heavyWeightPopupCacheKey =  new Clazz._O ();
+c$ = Clazz.p0p ();
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+this.owner = null;
+this.x = 0;
+this.y = 0;
+Clazz.instantialize (this, arguments);
+}, javax.swing.PopupFactory, "ContainerPopup", javax.swing.Popup);
+Clazz.overrideMethod (c$, "hide", 
+function () {
+var a = this.getComponent ();
+if (a != null) {
+var b = a.getParent ();
+if (b != null) {
+var c = a.getBounds ();
+b.remove (a);
+b.repaint (c.x, c.y, c.width, c.height);
+}}this.owner = null;
+});
+Clazz.overrideMethod (c$, "pack", 
+function () {
+var a = this.getComponent ();
+if (a != null) {
+a.setSize (a.getPreferredSize ());
+}});
+Clazz.defineMethod (c$, "reset", 
+function (a, b, c, d) {
+if ((Clazz.instanceOf (a, javax.swing.JFrame)) || (Clazz.instanceOf (a, javax.swing.JDialog)) || (Clazz.instanceOf (a, javax.swing.JWindow))) {
+a = (a).getLayeredPane ();
+}Clazz.superCall (this, javax.swing.PopupFactory.ContainerPopup, "reset", [a, b, c, d]);
+this.x = c;
+this.y = d;
+this.owner = a;
+}, "java.awt.Component,java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "overlappedByOwnedWindow", 
+function () {
+var a = this.getComponent ();
+if (this.owner != null && a != null) {
+var b = javax.swing.SwingUtilities.getWindowAncestor (this.owner);
+if (b == null) {
+return false;
+}var c = b.getOwnedWindows ();
+if (c != null) {
+var d = a.getBounds ();
+for (var e = 0; e < c.length; e++) {
+var f = c[e];
+if (f.isVisible () && d.intersects (f.getBounds ())) {
+return true;
+}}
+}}return false;
+});
+Clazz.defineMethod (c$, "fitsOnScreen", 
+function () {
+var a = this.getComponent ();
+if (this.owner != null && a != null) {
+var b;
+var c = a.getWidth ();
+var d = a.getHeight ();
+for (b = this.owner.getParent (); b != null; b = b.getParent ()) {
+if (Clazz.instanceOf (b, javax.swing.JFrame) || Clazz.instanceOf (b, javax.swing.JDialog) || Clazz.instanceOf (b, javax.swing.JWindow)) {
+var e = b.getBounds ();
+var f = b.getInsets ();
+e.x += f.left;
+e.y += f.top;
+e.width -= (f.left + f.right);
+e.height -= (f.top + f.bottom);
+var g = b.getGraphicsConfiguration ();
+var h = this.getContainerPopupArea (g);
+return e.intersection (h).contains (this.x, this.y, c, d);
+} else if (Clazz.instanceOf (b, javax.swing.JApplet)) {
+var e = b.getBounds ();
+var f = b.getLocationOnScreen ();
+e.x = f.x;
+e.y = f.y;
+return e.contains (this.x, this.y, c, d);
+} else if (Clazz.instanceOf (b, java.awt.Window) || Clazz.instanceOf (b, java.applet.Applet)) {
+break;
+}}
+}return false;
+});
+Clazz.defineMethod (c$, "getContainerPopupArea", 
+function (a) {
+var b;
+var c = java.awt.Toolkit.getDefaultToolkit ();
+var d;
+if (a != null) {
+b = a.getBounds ();
+d = c.getScreenInsets (a);
+} else {
+b =  new java.awt.Rectangle (c.getScreenSize ());
+d =  new java.awt.Insets (0, 0, 0, 0);
+}b.x += d.left;
+b.y += d.top;
+b.width -= (d.left + d.right);
+b.height -= (d.top + d.bottom);
+return b;
+}, "java.awt.GraphicsConfiguration");
+c$ = Clazz.p0p ();
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareType (javax.swing.PopupFactory, "LightWeightPopup", javax.swing.PopupFactory.ContainerPopup);
+c$.getLightWeightPopup = Clazz.defineMethod (c$, "getLightWeightPopup", 
+function (a, b, c, d) {
+var e = null;
+if (e == null) {
+e =  new javax.swing.PopupFactory.LightWeightPopup ();
+}e.reset (a, b, c, d);
+if (!e.fitsOnScreen () || e.overlappedByOwnedWindow ()) {
+e.hide ();
+return null;
+}return e;
+}, "java.awt.Component,java.awt.Component,~N,~N");
+Clazz.defineMethod (c$, "hide", 
+function () {
+Clazz.superCall (this, javax.swing.PopupFactory.LightWeightPopup, "hide", []);
+var a = this.getComponent ();
+a.removeAll ();
+});
+Clazz.overrideMethod (c$, "show", 
+function () {
+var a = null;
+if (this.owner != null) {
+a = (Clazz.instanceOf (this.owner, java.awt.Container) ? this.owner : this.owner.getParent ());
+}for (var b = a; b != null; b = b.getParent ()) {
+if (Clazz.instanceOf (b, javax.swing.JRootPane)) {
+a = (b).getLayeredPane ();
+} else if (Clazz.instanceOf (b, java.awt.Window)) {
+if (a == null) {
+a = b;
+}break;
+} else if (Clazz.instanceOf (b, javax.swing.JApplet)) {
+break;
+}}
+var c = javax.swing.SwingUtilities.convertScreenLocationToParent (a, this.x, this.y);
+var d = this.getComponent ();
+d.setLocation (c.x, c.y);
+if (Clazz.instanceOf (a, javax.swing.JLayeredPane)) {
+(a).add (d, javax.swing.JLayeredPane.POPUP_LAYER, 0);
+} else {
+a.add (d);
+}});
+Clazz.overrideMethod (c$, "createComponent", 
+function (a) {
+var b =  new javax.swing.JPanel ( new java.awt.BorderLayout (), true);
+b.setOpaque (true);
+return b;
+}, "java.awt.Component");
+Clazz.defineMethod (c$, "reset", 
+function (a, b, c, d) {
+Clazz.superCall (this, javax.swing.PopupFactory.LightWeightPopup, "reset", [a, b, c, d]);
+var e = this.getComponent ();
+e.setOpaque (b.isOpaque ());
+e.setLocation (c, d);
+e.add (b, "Center");
+b.invalidate ();
+this.pack ();
+}, "java.awt.Component,java.awt.Component,~N,~N");
+c$.lightWeightPopupCacheKey = c$.prototype.lightWeightPopupCacheKey =  new Clazz._O ();
+c$ = Clazz.p0p ();
+Clazz.pu$h(self.c$);
+c$ = Clazz.decorateAsClass (function () {
+this.rootPane = null;
+Clazz.instantialize (this, arguments);
+}, javax.swing.PopupFactory, "MediumWeightPopup", javax.swing.PopupFactory.ContainerPopup);
+c$.getMediumWeightPopup = Clazz.defineMethod (c$, "getMediumWeightPopup", 
+function (a, b, c, d) {
+var e = javax.swing.PopupFactory.MediumWeightPopup.getRecycledMediumWeightPopup ();
+if (e == null) {
+e =  new javax.swing.PopupFactory.MediumWeightPopup ();
+}e.reset (a, b, c, d);
+if (!e.fitsOnScreen () || e.overlappedByOwnedWindow ()) {
+e.hide ();
+return null;
+}return e;
+}, "java.awt.Component,java.awt.Component,~N,~N");
+c$.getMediumWeightPopupCache = Clazz.defineMethod (c$, "getMediumWeightPopupCache", 
+ function () {
+var a = javax.swing.SwingUtilities.appContextGet (javax.swing.PopupFactory.MediumWeightPopup.mediumWeightPopupCacheKey);
+if (a == null) {
+a =  new java.util.ArrayList ();
+javax.swing.SwingUtilities.appContextPut (javax.swing.PopupFactory.MediumWeightPopup.mediumWeightPopupCacheKey, a);
+}return a;
+});
+c$.recycleMediumWeightPopup = Clazz.defineMethod (c$, "recycleMediumWeightPopup", 
+ function (a) {
+{
+var b = javax.swing.PopupFactory.MediumWeightPopup.getMediumWeightPopupCache ();
+if (b.size () < 5) {
+b.add (a);
+}}}, "javax.swing.PopupFactory.MediumWeightPopup");
+c$.getRecycledMediumWeightPopup = Clazz.defineMethod (c$, "getRecycledMediumWeightPopup", 
+ function () {
+{
+var a = javax.swing.PopupFactory.MediumWeightPopup.getMediumWeightPopupCache ();
+var b;
+if ((b = a.size ()) > 0) {
+var c = a.get (0);
+a.remove (0);
+return c;
+}return null;
+}});
+Clazz.defineMethod (c$, "hide", 
+function () {
+Clazz.superCall (this, javax.swing.PopupFactory.MediumWeightPopup, "hide", []);
+this.rootPane.getContentPane ().removeAll ();
+javax.swing.PopupFactory.MediumWeightPopup.recycleMediumWeightPopup (this);
+});
+Clazz.overrideMethod (c$, "show", 
+function () {
+var a = this.getComponent ();
+var b = null;
+if (this.owner != null) {
+b = this.owner.getParent ();
+}while (!(Clazz.instanceOf (b, java.awt.Window) || Clazz.instanceOf (b, java.applet.Applet)) && (b != null)) {
+b = b.getParent ();
+}
+if (Clazz.instanceOf (b, javax.swing.RootPaneContainer)) {
+b = (b).getLayeredPane ();
+var c = javax.swing.SwingUtilities.convertScreenLocationToParent (b, this.x, this.y);
+a.setVisible (false);
+a.setLocation (c.x, c.y);
+(b).add (a, javax.swing.JLayeredPane.POPUP_LAYER, 0);
+} else {
+var c = javax.swing.SwingUtilities.convertScreenLocationToParent (b, this.x, this.y);
+a.setLocation (c.x, c.y);
+a.setVisible (false);
+b.add (a);
+}a.setVisible (true);
+});
+Clazz.overrideMethod (c$, "createComponent", 
+function (a) {
+var b =  new javax.swing.PopupFactory.MediumWeightPopup.MediumWeightComponent ();
+this.rootPane =  new javax.swing.JRootPane ();
+this.rootPane.setOpaque (true);
+b.add (this.rootPane, "Center");
+return b;
+}, "java.awt.Component");
+Clazz.defineMethod (c$, "reset", 
+function (a, b, c, d) {
+Clazz.superCall (this, javax.swing.PopupFactory.MediumWeightPopup, "reset", [a, b, c, d]);
+var e = this.getComponent ();
+e.setLocation (c, d);
+this.rootPane.getContentPane ().add (b, "Center");
+b.invalidate ();
+e.validate ();
+this.pack ();
+}, "java.awt.Component,java.awt.Component,~N,~N");
+Clazz.pu$h(self.c$);
+c$ = Clazz.declareType (javax.swing.PopupFactory.MediumWeightPopup, "MediumWeightComponent", java.awt.Panel, javax.swing.SwingHeavyWeight);
+Clazz.makeConstructor (c$, 
+function () {
+Clazz.superConstructor (this, javax.swing.PopupFactory.MediumWeightPopup.MediumWeightComponent, [ new java.awt.BorderLayout ()]);
+});
+c$ = Clazz.p0p ();
+c$.mediumWeightPopupCacheKey = c$.prototype.mediumWeightPopupCacheKey =  new Clazz._O ();
+c$ = Clazz.p0p ();
+c$.SharedInstanceKey = c$.prototype.SharedInstanceKey =  new Clazz._O ();
+Clazz.defineStatics (c$,
+"MAX_CACHE_SIZE", 5,
+"LIGHT_WEIGHT_POPUP", 0,
+"MEDIUM_WEIGHT_POPUP", 1,
+"HEAVY_WEIGHT_POPUP", 2);
+});