Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / java / awt / EventQueue.js
index 806cf5d..2b8f3ad 100644 (file)
-Clazz.declarePackage ("java.awt");\r
-Clazz.load (["java.lang.Thread"], ["java.awt.EventQueueItem", "$.EventQueue", "$.Queue"], ["java.lang.Error", "java.lang.reflect.InvocationTargetException", "java.util.EmptyStackException", "java.awt.ActiveEvent", "$.Component", "$.EventDispatchThread", "$.SentEvent", "$.SequencedEvent", "$.Toolkit", "java.awt.event.ActionEvent", "$.FocusEvent", "$.InputEvent", "$.InputMethodEvent", "$.InvocationEvent", "$.KeyEvent", "$.MouseEvent", "$.PaintEvent", "$.WindowEvent", "jssun.awt.AWTAutoShutdown", "$.AppContext", "$.PeerEvent", "$.SunToolkit", "swingjs.JSToolkit"], function () {\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.queues = null;\r
-this.nextQueue = null;\r
-this.previousQueue = null;\r
-this.dispatchThread = null;\r
-this.threadGroup = null;\r
-this.mostRecentEventTime = 0;\r
-this.currentEvent = null;\r
-this.waitForID = 0;\r
-this.name = null;\r
-Clazz.instantialize (this, arguments);\r
-}, java.awt, "EventQueue");\r
-Clazz.prepareFields (c$, function () {\r
-this.queues =  new Array (4);\r
-this.threadGroup = Thread.currentThread ().getThreadGroup ();\r
-this.mostRecentEventTime = System.currentTimeMillis ();\r
-this.name = "AWT-EventQueue-" + java.awt.EventQueue.nextThreadNum ();\r
-});\r
-c$.nextThreadNum = Clazz.defineMethod (c$, "nextThreadNum", \r
- function () {\r
-return java.awt.EventQueue.threadInitNumber++;\r
-});\r
-c$.noEvents = Clazz.defineMethod (c$, "noEvents", \r
-function (eventQueue) {\r
-return eventQueue.noEvents ();\r
-}, "java.awt.EventQueue");\r
-c$.getNextQueue = Clazz.defineMethod (c$, "getNextQueue", \r
-function (eventQueue) {\r
-return eventQueue.nextQueue;\r
-}, "java.awt.EventQueue");\r
-c$.removeSourceEvents = Clazz.defineMethod (c$, "removeSourceEvents", \r
-function (eventQueue, source, removeAllEvents) {\r
-eventQueue.removeSourceEvents (source, removeAllEvents);\r
-}, "java.awt.EventQueue,~O,~B");\r
-Clazz.makeConstructor (c$, \r
-function () {\r
-for (var i = 0; i < 4; i++) {\r
-this.queues[i] =  new java.awt.Queue ();\r
-}\r
-});\r
-Clazz.defineMethod (c$, "postEvent", \r
-function (event) {\r
-jssun.awt.SunToolkit.flushPendingEvents ();\r
-this.postEventPrivate (event);\r
-}, "java.awt.AWTEvent");\r
-Clazz.defineMethod (c$, "postEventPrivate", \r
-function (theEvent) {\r
-theEvent.isPosted = true;\r
-{\r
-if (this.dispatchThread == null && this.nextQueue == null) {\r
-if (theEvent.getSource () === jssun.awt.AWTAutoShutdown.getInstance ()) {\r
-return;\r
-} else {\r
-this.initDispatchThread ();\r
-}}if (this.nextQueue != null) {\r
-this.nextQueue.postEventPrivate (theEvent);\r
-return;\r
-}this.postEventNow (theEvent, java.awt.EventQueue.getPriority (theEvent));\r
-}}, "java.awt.AWTEvent");\r
-c$.getPriority = Clazz.defineMethod (c$, "getPriority", \r
- function (theEvent) {\r
-if (Clazz.instanceOf (theEvent, jssun.awt.PeerEvent)) {\r
-var flags = (theEvent).getFlags ();\r
-if ((flags & 2) != 0) return 3;\r
-if ((flags & 1) != 0) return 2;\r
-if ((flags & 4) != 0) return 0;\r
-}switch (theEvent.getID ()) {\r
-case 1201:\r
-case 800:\r
-case 801:\r
-return 0;\r
-default:\r
-return 1;\r
-}\r
-}, "java.awt.AWTEvent");\r
-Clazz.defineMethod (c$, "postEventNow", \r
- function (theEvent, priority) {\r
-if (this.coalesceEvent (theEvent, priority)) {\r
-return;\r
-}var newItem =  new java.awt.EventQueueItem (theEvent);\r
-this.cacheEQItem (newItem);\r
-if (this.queues[priority].head == null) {\r
-var shouldNotify = this.noEvents ();\r
-this.queues[priority].head = this.queues[priority].tail = newItem;\r
-if (shouldNotify) {\r
-if (theEvent.getSource () !== jssun.awt.AWTAutoShutdown.getInstance ()) {\r
-jssun.awt.AWTAutoShutdown.getInstance ().notifyThreadBusy (this.dispatchThread);\r
-}}} else {\r
-this.queues[priority].tail.next = newItem;\r
-this.queues[priority].tail = newItem;\r
-}}, "java.awt.AWTEvent,~N");\r
-Clazz.defineMethod (c$, "coalescePaintEvent", \r
- function (e) {\r
-var sourcePeer = (e.getSource ()).peer;\r
-if (sourcePeer != null) {\r
-sourcePeer.coalescePaintEvent (e);\r
-}var cache = (e.getSource ()).eventCache;\r
-if (cache == null) {\r
-return false;\r
-}var index = java.awt.EventQueue.eventToCacheIndex (e);\r
-if (index != -1 && cache[index] != null) {\r
-var merged = this.mergePaintEvents (e, cache[index].event);\r
-if (merged != null) {\r
-cache[index].event = merged;\r
-return true;\r
-}}return false;\r
-}, "java.awt.event.PaintEvent");\r
-Clazz.defineMethod (c$, "mergePaintEvents", \r
- function (a, b) {\r
-var aRect = a.getUpdateRect ();\r
-var bRect = b.getUpdateRect ();\r
-if (bRect.contains (aRect)) {\r
-return b;\r
-}if (aRect.contains (bRect)) {\r
-return a;\r
-}return null;\r
-}, "java.awt.event.PaintEvent,java.awt.event.PaintEvent");\r
-Clazz.defineMethod (c$, "coalesceMouseEvent", \r
- function (e) {\r
-var cache = (e.getSource ()).eventCache;\r
-if (cache == null) {\r
-return false;\r
-}var index = java.awt.EventQueue.eventToCacheIndex (e);\r
-if (index != -1 && cache[index] != null) {\r
-cache[index].event = e;\r
-return true;\r
-}return false;\r
-}, "java.awt.event.MouseEvent");\r
-Clazz.defineMethod (c$, "coalescePeerEvent", \r
- function (e) {\r
-var cache = (e.getSource ()).eventCache;\r
-if (cache == null) {\r
-return false;\r
-}var index = java.awt.EventQueue.eventToCacheIndex (e);\r
-if (index != -1 && cache[index] != null) {\r
-e = e.coalesceEvents (cache[index].event);\r
-if (e != null) {\r
-cache[index].event = e;\r
-return true;\r
-} else {\r
-cache[index] = null;\r
-}}return false;\r
-}, "jssun.awt.PeerEvent");\r
-Clazz.defineMethod (c$, "coalesceOtherEvent", \r
- function (e, priority) {\r
-var id = e.getID ();\r
-var source = e.getSource ();\r
-for (var entry = this.queues[priority].head; entry != null; entry = entry.next) {\r
-if (entry.event.getSource () === source && entry.id == id) {\r
-var coalescedEvent = source.coalesceEvents (entry.event, e);\r
-if (coalescedEvent != null) {\r
-entry.event = coalescedEvent;\r
-return true;\r
-}}}\r
-return false;\r
-}, "java.awt.AWTEvent,~N");\r
-Clazz.defineMethod (c$, "coalesceEvent", \r
- function (e, priority) {\r
-if (!(Clazz.instanceOf (e.getSource (), java.awt.Component))) {\r
-return false;\r
-}if (Clazz.instanceOf (e, jssun.awt.PeerEvent)) {\r
-return this.coalescePeerEvent (e);\r
-}if ((e.getSource ()).isCoalescingEnabled () && this.coalesceOtherEvent (e, priority)) {\r
-return true;\r
-}if (Clazz.instanceOf (e, java.awt.event.PaintEvent)) {\r
-return this.coalescePaintEvent (e);\r
-}if (Clazz.instanceOf (e, java.awt.event.MouseEvent)) {\r
-return this.coalesceMouseEvent (e);\r
-}return false;\r
-}, "java.awt.AWTEvent,~N");\r
-Clazz.defineMethod (c$, "cacheEQItem", \r
- function (entry) {\r
-var index = java.awt.EventQueue.eventToCacheIndex (entry.event);\r
-if (index != -1 && Clazz.instanceOf (entry.event.getSource (), java.awt.Component)) {\r
-var source = entry.event.getSource ();\r
-if (source.eventCache == null) {\r
-source.eventCache =  new Array (5);\r
-}source.eventCache[index] = entry;\r
-}}, "java.awt.EventQueueItem");\r
-Clazz.defineMethod (c$, "uncacheEQItem", \r
- function (entry) {\r
-var index = java.awt.EventQueue.eventToCacheIndex (entry.event);\r
-if (index != -1 && Clazz.instanceOf (entry.event.getSource (), java.awt.Component)) {\r
-var source = entry.event.getSource ();\r
-if (source.eventCache == null) {\r
-return;\r
-}source.eventCache[index] = null;\r
-}}, "java.awt.EventQueueItem");\r
-c$.eventToCacheIndex = Clazz.defineMethod (c$, "eventToCacheIndex", \r
- function (e) {\r
-switch (e.getID ()) {\r
-case 800:\r
-return 0;\r
-case 801:\r
-return 1;\r
-case 503:\r
-return 2;\r
-case 506:\r
-return 3;\r
-default:\r
-return -1;\r
-}\r
-}, "java.awt.AWTEvent");\r
-Clazz.defineMethod (c$, "noEvents", \r
- function () {\r
-for (var i = 0; i < 4; i++) {\r
-if (this.queues[i].head != null) {\r
-return false;\r
-}}\r
-return true;\r
-});\r
-Clazz.defineMethod (c$, "getNextEvent", \r
-function () {\r
-jssun.awt.SunToolkit.flushPendingEvents ();\r
-{\r
-for (var i = 3; i >= 0; i--) {\r
-if (this.queues[i].head != null) {\r
-var entry = this.queues[i].head;\r
-this.queues[i].head = entry.next;\r
-if (entry.next == null) {\r
-this.queues[i].tail = null;\r
-}this.uncacheEQItem (entry);\r
-return entry.event;\r
-}}\r
-jssun.awt.AWTAutoShutdown.getInstance ().notifyThreadFree (this.dispatchThread);\r
-}return null;\r
-});\r
-Clazz.defineMethod (c$, "getNextEventForID", \r
-function (id) {\r
-jssun.awt.SunToolkit.flushPendingEvents ();\r
-{\r
-for (var i = 0; i < 4; i++) {\r
-for (var entry = this.queues[i].head, prev = null; entry != null; prev = entry, entry = entry.next) {\r
-if (entry.id == id) {\r
-if (prev == null) {\r
-this.queues[i].head = entry.next;\r
-} else {\r
-prev.next = entry.next;\r
-}if (this.queues[i].tail === entry) {\r
-this.queues[i].tail = prev;\r
-}this.uncacheEQItem (entry);\r
-return entry.event;\r
-}}\r
-}\r
-this.waitForID = id;\r
-this.waitForID = 0;\r
-}return null;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "peekEvent", \r
-function () {\r
-for (var i = 3; i >= 0; i--) {\r
-if (this.queues[i].head != null) {\r
-return this.queues[i].head.event;\r
-}}\r
-return null;\r
-});\r
-Clazz.defineMethod (c$, "peekEvent", \r
-function (id) {\r
-for (var i = 3; i >= 0; i--) {\r
-var q = this.queues[i].head;\r
-for (; q != null; q = q.next) {\r
-if (q.id == id) {\r
-return q.event;\r
-}}\r
-}\r
-return null;\r
-}, "~N");\r
-Clazz.defineMethod (c$, "dispatchEvent", \r
-function (event) {\r
-var src = event.getSource ();\r
-this.dispatchEventImpl (event, src, false);\r
-}, "java.awt.AWTEvent");\r
-Clazz.defineMethod (c$, "dispatchEventAndWait", \r
-function (event, src) {\r
-this.dispatchEventImpl (event, src, true);\r
-}, "java.awt.AWTEvent,~O");\r
-Clazz.defineMethod (c$, "dispatchEventImpl", \r
- function (event, src, andWait) {\r
-event.isPosted = true;\r
-if (Clazz.instanceOf (event, java.awt.ActiveEvent)) {\r
-this.setCurrentEventAndMostRecentTimeImpl (event);\r
-swingjs.JSToolkit.dispatchEvent (event, null, andWait);\r
-} else if (Clazz.instanceOf (src, java.awt.Component)) {\r
-swingjs.JSToolkit.dispatchEvent (event, src, andWait);\r
-event.dispatched ();\r
-} else if (Clazz.instanceOf (src, jssun.awt.AWTAutoShutdown)) {\r
-if (this.noEvents ()) {\r
-this.dispatchThread.stopDispatching ();\r
-}} else {\r
-System.err.println ("unable to dispatch event: " + event);\r
-}}, "java.awt.AWTEvent,~O,~B");\r
-c$.getMostRecentEventTime = Clazz.defineMethod (c$, "getMostRecentEventTime", \r
-function () {\r
-return 0;\r
-});\r
-Clazz.defineMethod (c$, "getMostRecentEventTimeEx", \r
-function () {\r
-return this.mostRecentEventTime;\r
-});\r
-c$.getCurrentEvent = Clazz.defineMethod (c$, "getCurrentEvent", \r
-function () {\r
-return java.awt.Toolkit.getEventQueue ().getCurrentEventImpl ();\r
-});\r
-Clazz.defineMethod (c$, "getCurrentEventImpl", \r
- function () {\r
-return (swingjs.JSToolkit.isDispatchThread () ? (this.currentEvent) : null);\r
-});\r
-Clazz.defineMethod (c$, "push", \r
-function (newEventQueue) {\r
-if (this.nextQueue != null) {\r
-this.nextQueue.push (newEventQueue);\r
-return;\r
-}{\r
-while (this.peekEvent () != null) {\r
-try {\r
-newEventQueue.postEventPrivate (this.getNextEvent ());\r
-} catch (ie) {\r
-if (Clazz.exceptionOf (ie, InterruptedException)) {\r
-} else {\r
-throw ie;\r
-}\r
-}\r
-}\r
-newEventQueue.previousQueue = this;\r
-}if (this.dispatchThread != null) {\r
-this.dispatchThread.stopDispatchingLater ();\r
-}this.nextQueue = newEventQueue;\r
-var appContext = jssun.awt.AppContext.getAppContext ();\r
-if (appContext.get (jssun.awt.AppContext.EVENT_QUEUE_KEY) === this) {\r
-appContext.put (jssun.awt.AppContext.EVENT_QUEUE_KEY, newEventQueue);\r
-}}, "java.awt.EventQueue");\r
-Clazz.defineMethod (c$, "pop", \r
-function () {\r
-var prev = this.previousQueue;\r
-{\r
-{\r
-if (this.nextQueue != null) {\r
-this.nextQueue.pop ();\r
-return;\r
-}if (this.previousQueue == null) {\r
-throw  new java.util.EmptyStackException ();\r
-}this.previousQueue.nextQueue = null;\r
-while (this.peekEvent () != null) {\r
-try {\r
-this.previousQueue.postEventPrivate (this.getNextEvent ());\r
-} catch (ie) {\r
-if (Clazz.exceptionOf (ie, InterruptedException)) {\r
-} else {\r
-throw ie;\r
-}\r
-}\r
-}\r
-var appContext = jssun.awt.AppContext.getAppContext ();\r
-if (appContext.get (jssun.awt.AppContext.EVENT_QUEUE_KEY) === this) {\r
-appContext.put (jssun.awt.AppContext.EVENT_QUEUE_KEY, this.previousQueue);\r
-}this.previousQueue = null;\r
-}}var dt = this.dispatchThread;\r
-if (dt != null) {\r
-dt.stopDispatching ();\r
-}});\r
-c$.isDispatchThread = Clazz.defineMethod (c$, "isDispatchThread", \r
-function () {\r
-return swingjs.JSToolkit.isDispatchThread ();\r
-});\r
-Clazz.defineMethod (c$, "initDispatchThread", \r
-function () {\r
-{\r
-if (this.dispatchThread == null) {\r
-var t =  new java.awt.EventDispatchThread (this.threadGroup, this.name, this);\r
-jssun.awt.AWTAutoShutdown.getInstance ().notifyThreadBusy (t);\r
-this.dispatchThread = t;\r
-this.dispatchThread.start ();\r
-}}});\r
-Clazz.defineMethod (c$, "detachDispatchThread", \r
-function () {\r
-this.dispatchThread = null;\r
-});\r
-Clazz.defineMethod (c$, "getDispatchThread", \r
-function () {\r
-return this.dispatchThread;\r
-});\r
-Clazz.defineMethod (c$, "removeSourceEvents", \r
-function (source, removeAllEvents) {\r
-jssun.awt.SunToolkit.flushPendingEvents ();\r
-{\r
-for (var i = 0; i < 4; i++) {\r
-var entry = this.queues[i].head;\r
-var prev = null;\r
-while (entry != null) {\r
-if ((entry.event.getSource () === source) && (removeAllEvents || !(Clazz.instanceOf (entry.event, java.awt.SequencedEvent) || Clazz.instanceOf (entry.event, java.awt.SentEvent) || Clazz.instanceOf (entry.event, java.awt.event.FocusEvent) || Clazz.instanceOf (entry.event, java.awt.event.WindowEvent) || Clazz.instanceOf (entry.event, java.awt.event.KeyEvent) || Clazz.instanceOf (entry.event, java.awt.event.InputMethodEvent)))) {\r
-if (Clazz.instanceOf (entry.event, java.awt.SequencedEvent)) {\r
-(entry.event).dispose ();\r
-}if (Clazz.instanceOf (entry.event, java.awt.SentEvent)) {\r
-(entry.event).dispose ();\r
-}if (prev == null) {\r
-this.queues[i].head = entry.next;\r
-} else {\r
-prev.next = entry.next;\r
-}this.uncacheEQItem (entry);\r
-} else {\r
-prev = entry;\r
-}entry = entry.next;\r
-}\r
-this.queues[i].tail = prev;\r
-}\r
-}}, "~O,~B");\r
-c$.setCurrentEventAndMostRecentTime = Clazz.defineMethod (c$, "setCurrentEventAndMostRecentTime", \r
-function (e) {\r
-java.awt.Toolkit.getEventQueue ().setCurrentEventAndMostRecentTimeImpl (e);\r
-}, "java.awt.AWTEvent");\r
-Clazz.defineMethod (c$, "setCurrentEventAndMostRecentTimeImpl", \r
- function (e) {\r
-if (swingjs.JSToolkit.isDispatchThread ()) {\r
-return;\r
-}this.currentEvent = e;\r
-var mostRecentEventTime2 = -9223372036854775808;\r
-if (Clazz.instanceOf (e, java.awt.event.InputEvent)) {\r
-var ie = e;\r
-mostRecentEventTime2 = ie.getWhen ();\r
-} else if (Clazz.instanceOf (e, java.awt.event.InputMethodEvent)) {\r
-var ime = e;\r
-mostRecentEventTime2 = ime.getWhen ();\r
-} else if (Clazz.instanceOf (e, java.awt.event.ActionEvent)) {\r
-var ae = e;\r
-mostRecentEventTime2 = ae.getWhen ();\r
-} else if (Clazz.instanceOf (e, java.awt.event.InvocationEvent)) {\r
-var ie = e;\r
-mostRecentEventTime2 = ie.getWhen ();\r
-}this.mostRecentEventTime = Math.max (this.mostRecentEventTime, mostRecentEventTime2);\r
-}, "java.awt.AWTEvent");\r
-c$.invokeLater = Clazz.defineMethod (c$, "invokeLater", \r
-function (runnable) {\r
-java.awt.Toolkit.getEventQueue ().postEvent ( new java.awt.event.InvocationEvent (java.awt.Toolkit.getDefaultToolkit (), runnable));\r
-}, "Runnable");\r
-c$.invokeAndWait = Clazz.defineMethod (c$, "invokeAndWait", \r
-function (runnable) {\r
-java.awt.EventQueue.invokeAndWaitStatic (java.awt.Toolkit.getDefaultToolkit (), runnable);\r
-}, "Runnable");\r
-c$.invokeAndWaitStatic = Clazz.defineMethod (c$, "invokeAndWaitStatic", \r
- function (source, runnable) {\r
-if (java.awt.EventQueue.isDispatchThread ()) {\r
-throw  new Error ("Cannot call invokeAndWait from the event dispatcher thread");\r
-}var event =  new java.awt.event.InvocationEvent (source, runnable, null, true);\r
-swingjs.JSToolkit.dispatchEvent (event, null, true);\r
-var eventThrowable = event.getThrowable ();\r
-if (eventThrowable != null) {\r
-throw  new java.lang.reflect.InvocationTargetException (eventThrowable);\r
-}}, "~O,Runnable");\r
-Clazz.defineMethod (c$, "wakeup", \r
-function (isShutdown) {\r
-{\r
-if (this.nextQueue != null) {\r
-this.nextQueue.wakeup (isShutdown);\r
-} else if (this.dispatchThread != null) {\r
-try {\r
-this.dispatchThread.start ();\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, IllegalThreadStateException)) {\r
-this.dispatchThread.run ();\r
-} else {\r
-throw e;\r
-}\r
-}\r
-} else if (!isShutdown) {\r
-this.initDispatchThread ();\r
-}}}, "~B");\r
-Clazz.defineStatics (c$,\r
-"threadInitNumber", 0,\r
-"LOW_PRIORITY", 0,\r
-"NORM_PRIORITY", 1,\r
-"HIGH_PRIORITY", 2,\r
-"ULTIMATE_PRIORITY", 3,\r
-"NUM_PRIORITIES", 4,\r
-"PAINT", 0,\r
-"UPDATE", 1,\r
-"MOVE", 2,\r
-"DRAG", 3,\r
-"PEER", 4,\r
-"CACHE_LENGTH", 5);\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.head = null;\r
-this.tail = null;\r
-Clazz.instantialize (this, arguments);\r
-}, java.awt, "Queue");\r
-c$ = Clazz.decorateAsClass (function () {\r
-this.event = null;\r
-this.id = 0;\r
-this.next = null;\r
-Clazz.instantialize (this, arguments);\r
-}, java.awt, "EventQueueItem");\r
-Clazz.makeConstructor (c$, \r
-function (evt) {\r
-this.event = evt;\r
-this.id = evt.getID ();\r
-}, "java.awt.AWTEvent");\r
-});\r
+Clazz.declarePackage ("java.awt");
+Clazz.load (["java.lang.Thread"], ["java.awt.EventQueueItem", "$.EventQueue", "$.Queue"], ["java.lang.Error", "java.lang.reflect.InvocationTargetException", "java.util.EmptyStackException", "java.awt.ActiveEvent", "$.Component", "$.EventDispatchThread", "$.SentEvent", "$.SequencedEvent", "$.Toolkit", "java.awt.event.ActionEvent", "$.FocusEvent", "$.InputEvent", "$.InputMethodEvent", "$.InvocationEvent", "$.KeyEvent", "$.MouseEvent", "$.PaintEvent", "$.WindowEvent", "jssun.awt.AWTAutoShutdown", "$.AppContext", "$.PeerEvent", "$.SunToolkit", "swingjs.JSToolkit"], function () {
+c$ = Clazz.decorateAsClass (function () {
+this.queues = null;
+this.nextQueue = null;
+this.previousQueue = null;
+this.dispatchThread = null;
+this.threadGroup = null;
+this.mostRecentEventTime = 0;
+this.currentEvent = null;
+this.waitForID = 0;
+this.name = null;
+Clazz.instantialize (this, arguments);
+}, java.awt, "EventQueue");
+Clazz.prepareFields (c$, function () {
+this.queues =  new Array (4);
+this.threadGroup = Thread.currentThread ().getThreadGroup ();
+this.mostRecentEventTime = System.currentTimeMillis ();
+this.name = "AWT-EventQueue-" + java.awt.EventQueue.nextThreadNum ();
+});
+c$.nextThreadNum = Clazz.defineMethod (c$, "nextThreadNum", 
+ function () {
+return java.awt.EventQueue.threadInitNumber++;
+});
+c$.noEvents = Clazz.defineMethod (c$, "noEvents", 
+function (eventQueue) {
+return eventQueue.noEvents ();
+}, "java.awt.EventQueue");
+c$.getNextQueue = Clazz.defineMethod (c$, "getNextQueue", 
+function (eventQueue) {
+return eventQueue.nextQueue;
+}, "java.awt.EventQueue");
+c$.removeSourceEvents = Clazz.defineMethod (c$, "removeSourceEvents", 
+function (eventQueue, source, removeAllEvents) {
+eventQueue.removeSourceEvents (source, removeAllEvents);
+}, "java.awt.EventQueue,~O,~B");
+Clazz.makeConstructor (c$, 
+function () {
+for (var i = 0; i < 4; i++) {
+this.queues[i] =  new java.awt.Queue ();
+}
+});
+Clazz.defineMethod (c$, "postEvent", 
+function (event) {
+jssun.awt.SunToolkit.flushPendingEvents ();
+this.postEventPrivate (event);
+}, "java.awt.AWTEvent");
+Clazz.defineMethod (c$, "postEventPrivate", 
+function (theEvent) {
+theEvent.isPosted = true;
+{
+if (this.dispatchThread == null && this.nextQueue == null) {
+if (theEvent.getSource () === jssun.awt.AWTAutoShutdown.getInstance ()) {
+return;
+} else {
+this.initDispatchThread ();
+}}if (this.nextQueue != null) {
+this.nextQueue.postEventPrivate (theEvent);
+return;
+}this.postEventNow (theEvent, java.awt.EventQueue.getPriority (theEvent));
+}}, "java.awt.AWTEvent");
+c$.getPriority = Clazz.defineMethod (c$, "getPriority", 
+ function (theEvent) {
+if (Clazz.instanceOf (theEvent, jssun.awt.PeerEvent)) {
+var flags = (theEvent).getFlags ();
+if ((flags & 2) != 0) return 3;
+if ((flags & 1) != 0) return 2;
+if ((flags & 4) != 0) return 0;
+}switch (theEvent.getID ()) {
+case 1201:
+case 800:
+case 801:
+return 0;
+default:
+return 1;
+}
+}, "java.awt.AWTEvent");
+Clazz.defineMethod (c$, "postEventNow", 
+ function (theEvent, priority) {
+if (this.coalesceEvent (theEvent, priority)) {
+return;
+}var newItem =  new java.awt.EventQueueItem (theEvent);
+this.cacheEQItem (newItem);
+if (this.queues[priority].head == null) {
+var shouldNotify = this.noEvents ();
+this.queues[priority].head = this.queues[priority].tail = newItem;
+if (shouldNotify) {
+if (theEvent.getSource () !== jssun.awt.AWTAutoShutdown.getInstance ()) {
+jssun.awt.AWTAutoShutdown.getInstance ().notifyThreadBusy (this.dispatchThread);
+}}} else {
+this.queues[priority].tail.next = newItem;
+this.queues[priority].tail = newItem;
+}}, "java.awt.AWTEvent,~N");
+Clazz.defineMethod (c$, "coalescePaintEvent", 
+ function (e) {
+var sourcePeer = (e.getSource ()).peer;
+if (sourcePeer != null) {
+sourcePeer.coalescePaintEvent (e);
+}var cache = (e.getSource ()).eventCache;
+if (cache == null) {
+return false;
+}var index = java.awt.EventQueue.eventToCacheIndex (e);
+if (index != -1 && cache[index] != null) {
+var merged = this.mergePaintEvents (e, cache[index].event);
+if (merged != null) {
+cache[index].event = merged;
+return true;
+}}return false;
+}, "java.awt.event.PaintEvent");
+Clazz.defineMethod (c$, "mergePaintEvents", 
+ function (a, b) {
+var aRect = a.getUpdateRect ();
+var bRect = b.getUpdateRect ();
+if (bRect.contains (aRect)) {
+return b;
+}if (aRect.contains (bRect)) {
+return a;
+}return null;
+}, "java.awt.event.PaintEvent,java.awt.event.PaintEvent");
+Clazz.defineMethod (c$, "coalesceMouseEvent", 
+ function (e) {
+var cache = (e.getSource ()).eventCache;
+if (cache == null) {
+return false;
+}var index = java.awt.EventQueue.eventToCacheIndex (e);
+if (index != -1 && cache[index] != null) {
+cache[index].event = e;
+return true;
+}return false;
+}, "java.awt.event.MouseEvent");
+Clazz.defineMethod (c$, "coalescePeerEvent", 
+ function (e) {
+var cache = (e.getSource ()).eventCache;
+if (cache == null) {
+return false;
+}var index = java.awt.EventQueue.eventToCacheIndex (e);
+if (index != -1 && cache[index] != null) {
+e = e.coalesceEvents (cache[index].event);
+if (e != null) {
+cache[index].event = e;
+return true;
+} else {
+cache[index] = null;
+}}return false;
+}, "jssun.awt.PeerEvent");
+Clazz.defineMethod (c$, "coalesceOtherEvent", 
+ function (e, priority) {
+var id = e.getID ();
+var source = e.getSource ();
+for (var entry = this.queues[priority].head; entry != null; entry = entry.next) {
+if (entry.event.getSource () === source && entry.id == id) {
+var coalescedEvent = source.coalesceEvents (entry.event, e);
+if (coalescedEvent != null) {
+entry.event = coalescedEvent;
+return true;
+}}}
+return false;
+}, "java.awt.AWTEvent,~N");
+Clazz.defineMethod (c$, "coalesceEvent", 
+ function (e, priority) {
+if (!(Clazz.instanceOf (e.getSource (), java.awt.Component))) {
+return false;
+}if (Clazz.instanceOf (e, jssun.awt.PeerEvent)) {
+return this.coalescePeerEvent (e);
+}if ((e.getSource ()).isCoalescingEnabled () && this.coalesceOtherEvent (e, priority)) {
+return true;
+}if (Clazz.instanceOf (e, java.awt.event.PaintEvent)) {
+return this.coalescePaintEvent (e);
+}if (Clazz.instanceOf (e, java.awt.event.MouseEvent)) {
+return this.coalesceMouseEvent (e);
+}return false;
+}, "java.awt.AWTEvent,~N");
+Clazz.defineMethod (c$, "cacheEQItem", 
+ function (entry) {
+var index = java.awt.EventQueue.eventToCacheIndex (entry.event);
+if (index != -1 && Clazz.instanceOf (entry.event.getSource (), java.awt.Component)) {
+var source = entry.event.getSource ();
+if (source.eventCache == null) {
+source.eventCache =  new Array (5);
+}source.eventCache[index] = entry;
+}}, "java.awt.EventQueueItem");
+Clazz.defineMethod (c$, "uncacheEQItem", 
+ function (entry) {
+var index = java.awt.EventQueue.eventToCacheIndex (entry.event);
+if (index != -1 && Clazz.instanceOf (entry.event.getSource (), java.awt.Component)) {
+var source = entry.event.getSource ();
+if (source.eventCache == null) {
+return;
+}source.eventCache[index] = null;
+}}, "java.awt.EventQueueItem");
+c$.eventToCacheIndex = Clazz.defineMethod (c$, "eventToCacheIndex", 
+ function (e) {
+switch (e.getID ()) {
+case 800:
+return 0;
+case 801:
+return 1;
+case 503:
+return 2;
+case 506:
+return 3;
+default:
+return -1;
+}
+}, "java.awt.AWTEvent");
+Clazz.defineMethod (c$, "noEvents", 
+ function () {
+for (var i = 0; i < 4; i++) {
+if (this.queues[i].head != null) {
+return false;
+}}
+return true;
+});
+Clazz.defineMethod (c$, "getNextEvent", 
+function () {
+jssun.awt.SunToolkit.flushPendingEvents ();
+{
+for (var i = 3; i >= 0; i--) {
+if (this.queues[i].head != null) {
+var entry = this.queues[i].head;
+this.queues[i].head = entry.next;
+if (entry.next == null) {
+this.queues[i].tail = null;
+}this.uncacheEQItem (entry);
+return entry.event;
+}}
+jssun.awt.AWTAutoShutdown.getInstance ().notifyThreadFree (this.dispatchThread);
+}return null;
+});
+Clazz.defineMethod (c$, "getNextEventForID", 
+function (id) {
+jssun.awt.SunToolkit.flushPendingEvents ();
+{
+for (var i = 0; i < 4; i++) {
+for (var entry = this.queues[i].head, prev = null; entry != null; prev = entry, entry = entry.next) {
+if (entry.id == id) {
+if (prev == null) {
+this.queues[i].head = entry.next;
+} else {
+prev.next = entry.next;
+}if (this.queues[i].tail === entry) {
+this.queues[i].tail = prev;
+}this.uncacheEQItem (entry);
+return entry.event;
+}}
+}
+this.waitForID = id;
+this.waitForID = 0;
+}return null;
+}, "~N");
+Clazz.defineMethod (c$, "peekEvent", 
+function () {
+for (var i = 3; i >= 0; i--) {
+if (this.queues[i].head != null) {
+return this.queues[i].head.event;
+}}
+return null;
+});
+Clazz.defineMethod (c$, "peekEvent", 
+function (id) {
+for (var i = 3; i >= 0; i--) {
+var q = this.queues[i].head;
+for (; q != null; q = q.next) {
+if (q.id == id) {
+return q.event;
+}}
+}
+return null;
+}, "~N");
+Clazz.defineMethod (c$, "dispatchEvent", 
+function (event) {
+var src = event.getSource ();
+this.dispatchEventImpl (event, src, false);
+}, "java.awt.AWTEvent");
+Clazz.defineMethod (c$, "dispatchEventAndWait", 
+function (event, src) {
+this.dispatchEventImpl (event, src, true);
+}, "java.awt.AWTEvent,~O");
+Clazz.defineMethod (c$, "dispatchEventImpl", 
+ function (event, src, andWait) {
+event.isPosted = true;
+if (Clazz.instanceOf (event, java.awt.ActiveEvent)) {
+this.setCurrentEventAndMostRecentTimeImpl (event);
+swingjs.JSToolkit.dispatchEvent (event, null, andWait);
+} else if (Clazz.instanceOf (src, java.awt.Component)) {
+swingjs.JSToolkit.dispatchEvent (event, src, andWait);
+event.dispatched ();
+} else if (Clazz.instanceOf (src, jssun.awt.AWTAutoShutdown)) {
+if (this.noEvents ()) {
+this.dispatchThread.stopDispatching ();
+}} else {
+System.err.println ("unable to dispatch event: " + event);
+}}, "java.awt.AWTEvent,~O,~B");
+c$.getMostRecentEventTime = Clazz.defineMethod (c$, "getMostRecentEventTime", 
+function () {
+return 0;
+});
+Clazz.defineMethod (c$, "getMostRecentEventTimeEx", 
+function () {
+return this.mostRecentEventTime;
+});
+c$.getCurrentEvent = Clazz.defineMethod (c$, "getCurrentEvent", 
+function () {
+return java.awt.Toolkit.getEventQueue ().getCurrentEventImpl ();
+});
+Clazz.defineMethod (c$, "getCurrentEventImpl", 
+ function () {
+return (swingjs.JSToolkit.isDispatchThread () ? (this.currentEvent) : null);
+});
+Clazz.defineMethod (c$, "push", 
+function (newEventQueue) {
+if (this.nextQueue != null) {
+this.nextQueue.push (newEventQueue);
+return;
+}{
+while (this.peekEvent () != null) {
+try {
+newEventQueue.postEventPrivate (this.getNextEvent ());
+} catch (ie) {
+if (Clazz.exceptionOf (ie, InterruptedException)) {
+} else {
+throw ie;
+}
+}
+}
+newEventQueue.previousQueue = this;
+}if (this.dispatchThread != null) {
+this.dispatchThread.stopDispatchingLater ();
+}this.nextQueue = newEventQueue;
+var appContext = jssun.awt.AppContext.getAppContext ();
+if (appContext.get (jssun.awt.AppContext.EVENT_QUEUE_KEY) === this) {
+appContext.put (jssun.awt.AppContext.EVENT_QUEUE_KEY, newEventQueue);
+}}, "java.awt.EventQueue");
+Clazz.defineMethod (c$, "pop", 
+function () {
+var prev = this.previousQueue;
+{
+{
+if (this.nextQueue != null) {
+this.nextQueue.pop ();
+return;
+}if (this.previousQueue == null) {
+throw  new java.util.EmptyStackException ();
+}this.previousQueue.nextQueue = null;
+while (this.peekEvent () != null) {
+try {
+this.previousQueue.postEventPrivate (this.getNextEvent ());
+} catch (ie) {
+if (Clazz.exceptionOf (ie, InterruptedException)) {
+} else {
+throw ie;
+}
+}
+}
+var appContext = jssun.awt.AppContext.getAppContext ();
+if (appContext.get (jssun.awt.AppContext.EVENT_QUEUE_KEY) === this) {
+appContext.put (jssun.awt.AppContext.EVENT_QUEUE_KEY, this.previousQueue);
+}this.previousQueue = null;
+}}var dt = this.dispatchThread;
+if (dt != null) {
+dt.stopDispatching ();
+}});
+c$.isDispatchThread = Clazz.defineMethod (c$, "isDispatchThread", 
+function () {
+return swingjs.JSToolkit.isDispatchThread ();
+});
+Clazz.defineMethod (c$, "initDispatchThread", 
+function () {
+{
+if (this.dispatchThread == null) {
+var t =  new java.awt.EventDispatchThread (this.threadGroup, this.name, this);
+jssun.awt.AWTAutoShutdown.getInstance ().notifyThreadBusy (t);
+this.dispatchThread = t;
+this.dispatchThread.start ();
+}}});
+Clazz.defineMethod (c$, "detachDispatchThread", 
+function () {
+this.dispatchThread = null;
+});
+Clazz.defineMethod (c$, "getDispatchThread", 
+function () {
+return this.dispatchThread;
+});
+Clazz.defineMethod (c$, "removeSourceEvents", 
+function (source, removeAllEvents) {
+jssun.awt.SunToolkit.flushPendingEvents ();
+{
+for (var i = 0; i < 4; i++) {
+var entry = this.queues[i].head;
+var prev = null;
+while (entry != null) {
+if ((entry.event.getSource () === source) && (removeAllEvents || !(Clazz.instanceOf (entry.event, java.awt.SequencedEvent) || Clazz.instanceOf (entry.event, java.awt.SentEvent) || Clazz.instanceOf (entry.event, java.awt.event.FocusEvent) || Clazz.instanceOf (entry.event, java.awt.event.WindowEvent) || Clazz.instanceOf (entry.event, java.awt.event.KeyEvent) || Clazz.instanceOf (entry.event, java.awt.event.InputMethodEvent)))) {
+if (Clazz.instanceOf (entry.event, java.awt.SequencedEvent)) {
+(entry.event).dispose ();
+}if (Clazz.instanceOf (entry.event, java.awt.SentEvent)) {
+(entry.event).dispose ();
+}if (prev == null) {
+this.queues[i].head = entry.next;
+} else {
+prev.next = entry.next;
+}this.uncacheEQItem (entry);
+} else {
+prev = entry;
+}entry = entry.next;
+}
+this.queues[i].tail = prev;
+}
+}}, "~O,~B");
+c$.setCurrentEventAndMostRecentTime = Clazz.defineMethod (c$, "setCurrentEventAndMostRecentTime", 
+function (e) {
+java.awt.Toolkit.getEventQueue ().setCurrentEventAndMostRecentTimeImpl (e);
+}, "java.awt.AWTEvent");
+Clazz.defineMethod (c$, "setCurrentEventAndMostRecentTimeImpl", 
+ function (e) {
+if (swingjs.JSToolkit.isDispatchThread ()) {
+return;
+}this.currentEvent = e;
+var mostRecentEventTime2 = -9223372036854775808;
+if (Clazz.instanceOf (e, java.awt.event.InputEvent)) {
+var ie = e;
+mostRecentEventTime2 = ie.getWhen ();
+} else if (Clazz.instanceOf (e, java.awt.event.InputMethodEvent)) {
+var ime = e;
+mostRecentEventTime2 = ime.getWhen ();
+} else if (Clazz.instanceOf (e, java.awt.event.ActionEvent)) {
+var ae = e;
+mostRecentEventTime2 = ae.getWhen ();
+} else if (Clazz.instanceOf (e, java.awt.event.InvocationEvent)) {
+var ie = e;
+mostRecentEventTime2 = ie.getWhen ();
+}this.mostRecentEventTime = Math.max (this.mostRecentEventTime, mostRecentEventTime2);
+}, "java.awt.AWTEvent");
+c$.invokeLater = Clazz.defineMethod (c$, "invokeLater", 
+function (runnable) {
+java.awt.Toolkit.getEventQueue ().postEvent ( new java.awt.event.InvocationEvent (java.awt.Toolkit.getDefaultToolkit (), runnable));
+}, "Runnable");
+c$.invokeAndWait = Clazz.defineMethod (c$, "invokeAndWait", 
+function (runnable) {
+java.awt.EventQueue.invokeAndWaitStatic (java.awt.Toolkit.getDefaultToolkit (), runnable);
+}, "Runnable");
+c$.invokeAndWaitStatic = Clazz.defineMethod (c$, "invokeAndWaitStatic", 
+ function (source, runnable) {
+if (java.awt.EventQueue.isDispatchThread ()) {
+throw  new Error ("Cannot call invokeAndWait from the event dispatcher thread");
+}var event =  new java.awt.event.InvocationEvent (source, runnable, null, true);
+swingjs.JSToolkit.dispatchEvent (event, null, true);
+var eventThrowable = event.getThrowable ();
+if (eventThrowable != null) {
+throw  new java.lang.reflect.InvocationTargetException (eventThrowable);
+}}, "~O,Runnable");
+Clazz.defineMethod (c$, "wakeup", 
+function (isShutdown) {
+{
+if (this.nextQueue != null) {
+this.nextQueue.wakeup (isShutdown);
+} else if (this.dispatchThread != null) {
+try {
+this.dispatchThread.start ();
+} catch (e) {
+if (Clazz.exceptionOf (e, IllegalThreadStateException)) {
+this.dispatchThread.run ();
+} else {
+throw e;
+}
+}
+} else if (!isShutdown) {
+this.initDispatchThread ();
+}}}, "~B");
+Clazz.defineStatics (c$,
+"threadInitNumber", 0,
+"LOW_PRIORITY", 0,
+"NORM_PRIORITY", 1,
+"HIGH_PRIORITY", 2,
+"ULTIMATE_PRIORITY", 3,
+"NUM_PRIORITIES", 4,
+"PAINT", 0,
+"UPDATE", 1,
+"MOVE", 2,
+"DRAG", 3,
+"PEER", 4,
+"CACHE_LENGTH", 5);
+c$ = Clazz.decorateAsClass (function () {
+this.head = null;
+this.tail = null;
+Clazz.instantialize (this, arguments);
+}, java.awt, "Queue");
+c$ = Clazz.decorateAsClass (function () {
+this.event = null;
+this.id = 0;
+this.next = null;
+Clazz.instantialize (this, arguments);
+}, java.awt, "EventQueueItem");
+Clazz.makeConstructor (c$, 
+function (evt) {
+this.event = evt;
+this.id = evt.getID ();
+}, "java.awt.AWTEvent");
+});