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