JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / site / j2s / java / awt / SequencedEvent.js
1 Clazz.declarePackage ("java.awt");\r
2 Clazz.load (["java.awt.AWTEvent", "$.ActiveEvent", "java.util.LinkedList"], "java.awt.SequencedEvent", ["java.lang.Thread", "java.awt.Component", "$.Conditional", "$.EventQueue", "$.SentEvent", "$.Toolkit", "jssun.awt.AppContext", "$.SunToolkit", "swingjs.JSToolkit"], function () {\r
3 c$ = Clazz.decorateAsClass (function () {\r
4 this.nested = null;\r
5 this.appContext = null;\r
6 this.disposed = false;\r
7 Clazz.instantialize (this, arguments);\r
8 }, java.awt, "SequencedEvent", java.awt.AWTEvent, java.awt.ActiveEvent);\r
9 Clazz.makeConstructor (c$, \r
10 function (nested) {\r
11 Clazz.superConstructor (this, java.awt.SequencedEvent, [nested.getSource (), 1006]);\r
12 this.nested = nested;\r
13 {\r
14 java.awt.SequencedEvent.list.add (this);\r
15 }}, "java.awt.AWTEvent");\r
16 Clazz.overrideMethod (c$, "dispatch", \r
17 function () {\r
18 try {\r
19 this.appContext = jssun.awt.AppContext.getAppContext ();\r
20 if (java.awt.SequencedEvent.getFirst () !== this) {\r
21 if (java.awt.EventQueue.isDispatchThread ()) {\r
22 var edt = Thread.currentThread ();\r
23 edt.pumpEvents (1007, ((Clazz.isClassDefined ("java.awt.SequencedEvent$1") ? 0 : java.awt.SequencedEvent.$SequencedEvent$1$ ()), Clazz.innerTypeInstance (java.awt.SequencedEvent$1, this, null)));\r
24 } else {\r
25 while (!this.isFirstOrDisposed ()) {\r
26 {\r
27 try {\r
28 swingjs.JSToolkit.warn ("Cannot wait in SequenceEvent");\r
29 java.awt.SequencedEvent.wait (1000);\r
30 } catch (e) {\r
31 if (Clazz.exceptionOf (e, InterruptedException)) {\r
32 break;\r
33 } else {\r
34 throw e;\r
35 }\r
36 }\r
37 }}\r
38 }}if (!this.disposed) {\r
39 java.awt.Toolkit.getEventQueue ().dispatchEvent (this.nested);\r
40 }} finally {\r
41 this.dispose ();\r
42 }\r
43 });\r
44 c$.isOwnerAppContextDisposed = Clazz.defineMethod (c$, "isOwnerAppContextDisposed", \r
45  function (se) {\r
46 if (se != null) {\r
47 var target = se.nested.getSource ();\r
48 if (Clazz.instanceOf (target, java.awt.Component)) {\r
49 return (target).appContext.isDisposed ();\r
50 }}return false;\r
51 }, "java.awt.SequencedEvent");\r
52 Clazz.defineMethod (c$, "isFirstOrDisposed", \r
53 function () {\r
54 if (this.disposed) {\r
55 return true;\r
56 }return this === java.awt.SequencedEvent.getFirstWithContext () || this.disposed;\r
57 });\r
58 c$.getFirst = Clazz.defineMethod (c$, "getFirst", \r
59  function () {\r
60 return java.awt.SequencedEvent.list.getFirst ();\r
61 });\r
62 c$.getFirstWithContext = Clazz.defineMethod (c$, "getFirstWithContext", \r
63  function () {\r
64 var first = java.awt.SequencedEvent.getFirst ();\r
65 while (java.awt.SequencedEvent.isOwnerAppContextDisposed (first)) {\r
66 first.dispose ();\r
67 first = java.awt.SequencedEvent.getFirst ();\r
68 }\r
69 return first;\r
70 });\r
71 Clazz.defineMethod (c$, "dispose", \r
72 function () {\r
73 {\r
74 if (this.disposed) {\r
75 return;\r
76 }this.disposed = true;\r
77 }if (this.appContext != null) {\r
78 jssun.awt.SunToolkit.postEvent (this.appContext,  new java.awt.SentEvent ());\r
79 }var next = null;\r
80 {\r
81 java.awt.SequencedEvent.notifyAll ();\r
82 if (java.awt.SequencedEvent.list.getFirst () === this) {\r
83 java.awt.SequencedEvent.list.removeFirst ();\r
84 if (!java.awt.SequencedEvent.list.isEmpty ()) {\r
85 next = java.awt.SequencedEvent.list.getFirst ();\r
86 }} else {\r
87 java.awt.SequencedEvent.list.remove (this);\r
88 }}if (next != null && next.appContext != null) {\r
89 jssun.awt.SunToolkit.postEvent (next.appContext,  new java.awt.SentEvent ());\r
90 }});\r
91 c$.$SequencedEvent$1$ = function () {\r
92 Clazz.pu$h(self.c$);\r
93 c$ = Clazz.declareAnonymous (java.awt, "SequencedEvent$1", null, java.awt.Conditional);\r
94 Clazz.overrideMethod (c$, "evaluate", \r
95 function () {\r
96 return !this.b$["java.awt.SequencedEvent"].isFirstOrDisposed ();\r
97 });\r
98 c$ = Clazz.p0p ();\r
99 };\r
100 Clazz.defineStatics (c$,\r
101 "ID", 1006);\r
102 c$.list = c$.prototype.list =  new java.util.LinkedList ();\r
103 });\r