1 Clazz.declarePackage ("java.awt");
\r
2 Clazz.load (["java.awt.Component", "java.awt.event.AWTEventListener"], ["java.awt.LightweightDispatcher", "$.Container"], ["java.lang.ArrayIndexOutOfBoundsException", "$.IllegalArgumentException", "$.IllegalStateException", "java.util.ArrayList", "java.awt.AWTEventMulticaster", "$.Dimension", "$.GraphicsCallback", "$.Insets", "$.LayoutManager2", "$.Toolkit", "java.awt.event.ContainerEvent", "$.ContainerListener", "$.MouseEvent", "$.MouseWheelEvent", "java.awt.peer.ContainerPeer", "$.LightweightPeer"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.component = null;
\r
5 this.layoutMgr = null;
\r
6 this.dispatcher = null;
\r
7 this.focusCycleRoot = false;
\r
8 this.focusTraversalPolicyProvider = false;
\r
9 this.containerListener = null;
\r
10 this.listeningChildren = 0;
\r
11 this.listeningBoundsChildren = 0;
\r
12 this.descendantsCount = 0;
\r
13 this.preserveBackgroundColor = null;
\r
14 this.numOfHWComponents = 0;
\r
15 this.numOfLWComponents = 0;
\r
16 this.modalComp = null;
\r
17 this.modalAppContext = null;
\r
18 Clazz.instantialize (this, arguments);
\r
19 }, java.awt, "Container", java.awt.Component);
\r
20 Clazz.makeConstructor (c$,
\r
22 Clazz.superConstructor (this, java.awt.Container, []);
\r
23 this.component = new java.util.ArrayList ();
\r
25 Clazz.defineMethod (c$, "initializeFocusTraversalKeys",
\r
28 Clazz.defineMethod (c$, "getComponentCount",
\r
30 return this.countComponents ();
\r
32 Clazz.defineMethod (c$, "countComponents",
\r
34 return this.component.size ();
\r
36 Clazz.defineMethod (c$, "getComponent",
\r
38 if ((n < 0) || (n >= this.component.size ())) {
\r
39 throw new ArrayIndexOutOfBoundsException ("No such child: " + n);
\r
40 }return this.component.get (n);
\r
42 Clazz.defineMethod (c$, "getComponents",
\r
44 return this.getComponents_NoClientCode ();
\r
46 Clazz.defineMethod (c$, "getComponents_NoClientCode",
\r
48 return this.component.toArray (java.awt.Container.EMPTY_ARRAY);
\r
50 Clazz.defineMethod (c$, "getInsets",
\r
52 var peer = this.peer;
\r
53 if (Clazz.instanceOf (peer, java.awt.peer.ContainerPeer)) {
\r
55 return cpeer.getInsets ().clone ();
\r
56 }return new java.awt.Insets (0, 0, 0, 0);
\r
58 Clazz.defineMethod (c$, "add",
\r
60 return this.addImpl (comp, null, -1);
\r
61 }, "java.awt.Component");
\r
62 Clazz.defineMethod (c$, "add",
\r
63 function (name, comp) {
\r
64 return this.addImpl (comp, name, -1);
\r
65 }, "~S,java.awt.Component");
\r
66 Clazz.defineMethod (c$, "add",
\r
67 function (comp, index) {
\r
68 return this.addImpl (comp, null, index);
\r
69 }, "java.awt.Component,~N");
\r
70 Clazz.defineMethod (c$, "checkAddToSelf",
\r
72 if (Clazz.instanceOf (comp, java.awt.Container)) {
\r
73 for (var cn = this; cn != null; cn = cn.parent) {
\r
75 throw new IllegalArgumentException ("adding container's parent to itself");
\r
77 }}, "java.awt.Component");
\r
78 Clazz.defineMethod (c$, "checkNotAWindow",
\r
80 if (Clazz.instanceOf (comp, java.awt.Window)) {
\r
81 throw new IllegalArgumentException ("adding a window to a container");
\r
82 }}, "java.awt.Component");
\r
83 Clazz.defineMethod (c$, "removeDelicately",
\r
84 function (comp, newParent, newIndex) {
\r
85 var index = this.getComponentZOrder (comp);
\r
86 var needRemoveNotify = java.awt.Container.isRemoveNotifyNeeded (comp, this, newParent);
\r
87 if (needRemoveNotify) {
\r
88 comp.removeNotify ();
\r
89 }if (newParent !== this) {
\r
90 if (this.layoutMgr != null) {
\r
91 this.layoutMgr.removeLayoutComponent (comp);
\r
92 }this.adjustListeningChildren (32768, -comp.numListening (32768));
\r
93 this.adjustListeningChildren (65536, -comp.numListening (65536));
\r
94 this.adjustDescendants (-(comp.countHierarchyMembers ()));
\r
96 this.component.remove (index);
\r
97 this.invalidateIfValid ();
\r
99 this.component.remove (index);
\r
100 this.component.add (newIndex, comp);
\r
101 }if (comp.parent == null) {
\r
102 if (this.containerListener != null || (this.eventMask & 2) != 0 || java.awt.Toolkit.enabledOnToolkit (2)) {
\r
103 var e = new java.awt.event.ContainerEvent (this, 301, comp);
\r
104 this.dispatchEvent (e);
\r
105 }comp.createHierarchyEvents (1400, comp, this, 1, java.awt.Toolkit.enabledOnToolkit (32768));
\r
106 if (this.peer != null && this.layoutMgr == null && this.isVisible ()) {
\r
107 this.updateCursorImmediately ();
\r
108 }}return needRemoveNotify;
\r
109 }, "java.awt.Component,java.awt.Container,~N");
\r
110 Clazz.defineMethod (c$, "canContainFocusOwner",
\r
111 function (focusOwnerCandidate) {
\r
112 if (!(this.isEnabled () && this.isDisplayable () && this.isVisible () && this.isFocusable ())) {
\r
115 if (this.parent != null) {
\r
116 return this.parent.canContainFocusOwner (focusOwnerCandidate);
\r
118 }, "java.awt.Component");
\r
119 Clazz.defineMethod (c$, "hasHeavyweightDescendants",
\r
121 return this.numOfHWComponents > 0;
\r
123 Clazz.defineMethod (c$, "hasLightweightDescendants",
\r
125 return this.numOfLWComponents > 0;
\r
127 Clazz.defineMethod (c$, "getHeavyweightContainer",
\r
129 if (this.peer != null && !(Clazz.instanceOf (this.peer, java.awt.peer.LightweightPeer))) {
\r
132 return this.getNativeContainer ();
\r
134 c$.isRemoveNotifyNeeded = Clazz.defineMethod (c$, "isRemoveNotifyNeeded",
\r
135 function (comp, oldContainer, newContainer) {
\r
137 }, "java.awt.Component,java.awt.Container,java.awt.Container");
\r
138 Clazz.defineMethod (c$, "setComponentZOrder",
\r
139 function (comp, index) {
\r
141 var curParent = comp.parent;
\r
142 var oldZindex = this.getComponentZOrder (comp);
\r
143 if (curParent === this && index == oldZindex) {
\r
145 }var peerRecreated = (curParent != null) ? curParent.removeDelicately (comp, this, index) : false;
\r
146 this.addDelicately (comp, curParent, index);
\r
147 if (!peerRecreated && oldZindex != -1) {
\r
148 comp.mixOnZOrderChanging (oldZindex, index);
\r
149 }}}, "java.awt.Component,~N");
\r
150 Clazz.defineMethod (c$, "reparentTraverse",
\r
151 function (parentPeer, child) {
\r
152 this.checkTreeLock ();
\r
153 for (var i = 0; i < child.getComponentCount (); i++) {
\r
154 var comp = child.getComponent (i);
\r
155 if (comp.isLightweight ()) {
\r
156 if (Clazz.instanceOf (comp, java.awt.Container)) {
\r
157 this.reparentTraverse (parentPeer, comp);
\r
159 comp.getPeer ().reparent (parentPeer);
\r
161 }, "java.awt.peer.ContainerPeer,java.awt.Container");
\r
162 Clazz.defineMethod (c$, "reparentChild",
\r
164 if (comp == null) {
\r
166 }if (comp.isLightweight ()) {
\r
167 if (Clazz.instanceOf (comp, java.awt.Container)) {
\r
168 this.reparentTraverse (this.getPeer (), comp);
\r
170 comp.getPeer ().reparent (this.getPeer ());
\r
171 }}, "java.awt.Component");
\r
172 Clazz.defineMethod (c$, "addDelicately",
\r
173 function (comp, curParent, index) {
\r
174 this.checkTreeLock ();
\r
175 if (curParent !== this) {
\r
177 this.component.add (comp);
\r
179 this.component.add (index, comp);
\r
180 }comp.parent = this;
\r
181 this.adjustListeningChildren (32768, comp.numListening (32768));
\r
182 this.adjustListeningChildren (65536, comp.numListening (65536));
\r
183 this.adjustDescendants (comp.countHierarchyMembers ());
\r
185 if (index < this.component.size ()) {
\r
186 this.component.set (index, comp);
\r
187 }}this.invalidateIfValid ();
\r
188 if (this.peer != null) {
\r
189 if (comp.peer == null) {
\r
192 var newNativeContainer = this.getHeavyweightContainer ();
\r
193 var oldNativeContainer = curParent.getHeavyweightContainer ();
\r
194 if (oldNativeContainer !== newNativeContainer) {
\r
195 newNativeContainer.reparentChild (comp);
\r
196 }if (!comp.isLightweight () && this.isLightweight ()) {
\r
197 comp.relocateComponent ();
\r
198 }}}if (curParent !== this) {
\r
199 if (this.layoutMgr != null) {
\r
200 if (Clazz.instanceOf (this.layoutMgr, java.awt.LayoutManager2)) {
\r
201 (this.layoutMgr).addLayoutComponent (comp, null);
\r
203 this.layoutMgr.addLayoutComponent (null, comp);
\r
204 }}if (this.containerListener != null || (this.eventMask & 2) != 0 || java.awt.Toolkit.enabledOnToolkit (2)) {
\r
205 var e = new java.awt.event.ContainerEvent (this, 300, comp);
\r
206 this.dispatchEvent (e);
\r
207 }comp.createHierarchyEvents (1400, comp, this, 1, java.awt.Toolkit.enabledOnToolkit (32768));
\r
209 comp.createHierarchyEvents (1400, comp, this, 1400, java.awt.Toolkit.enabledOnToolkit (32768));
\r
210 }if (this.peer != null && this.layoutMgr == null && this.isVisible ()) {
\r
211 this.updateCursorImmediately ();
\r
212 }}, "java.awt.Component,java.awt.Container,~N");
\r
213 Clazz.defineMethod (c$, "checkTreeLock",
\r
216 Clazz.defineMethod (c$, "getComponentZOrder",
\r
218 if (comp == null) {
\r
221 if (comp.parent !== this) {
\r
223 }return this.component.indexOf (comp);
\r
224 }}, "java.awt.Component");
\r
225 Clazz.defineMethod (c$, "add",
\r
226 function (comp, constraints) {
\r
227 this.addImpl (comp, constraints, -1);
\r
228 }, "java.awt.Component,~O");
\r
229 Clazz.defineMethod (c$, "add",
\r
230 function (comp, constraints, index) {
\r
231 return this.addImpl (comp, constraints, index);
\r
232 }, "java.awt.Component,~O,~N");
\r
233 Clazz.defineMethod (c$, "addImpl",
\r
234 function (comp, constraints, index) {
\r
235 return this.addImplSAEM (comp, constraints, index);
\r
236 }, "java.awt.Component,~O,~N");
\r
237 Clazz.defineMethod (c$, "addImplSAEM",
\r
238 function (comp, constraints, index) {
\r
240 if (index > this.component.size () || (index < 0 && index != -1)) {
\r
241 throw new IllegalArgumentException ("illegal component position");
\r
242 }this.checkAddToSelf (comp);
\r
243 this.checkNotAWindow (comp);
\r
244 if (comp.parent != null) {
\r
245 comp.parent.remove (comp);
\r
246 if (index > this.component.size ()) {
\r
247 throw new IllegalArgumentException ("illegal component position");
\r
248 }}if (index == -1) {
\r
249 this.component.add (comp);
\r
251 this.component.add (index, comp);
\r
252 }comp.parent = this;
\r
253 this.adjustListeningChildren (32768, comp.numListening (32768));
\r
254 this.adjustListeningChildren (65536, comp.numListening (65536));
\r
255 this.adjustDescendants (comp.countHierarchyMembers ());
\r
256 this.invalidateIfValid ();
\r
257 if (this.peer != null) {
\r
259 }if (this.layoutMgr != null) {
\r
260 if (Clazz.instanceOf (this.layoutMgr, java.awt.LayoutManager2)) {
\r
261 (this.layoutMgr).addLayoutComponent (comp, constraints);
\r
262 } else if (Clazz.instanceOf (constraints, String)) {
\r
263 this.layoutMgr.addLayoutComponent (constraints, comp);
\r
264 }}if (this.containerListener != null || (this.eventMask & 2) != 0 || java.awt.Toolkit.enabledOnToolkit (2)) {
\r
265 var e = new java.awt.event.ContainerEvent (this, 300, comp);
\r
266 this.dispatchEvent (e);
\r
267 }comp.createHierarchyEvents (1400, comp, this, 1, java.awt.Toolkit.enabledOnToolkit (32768));
\r
268 if (this.peer != null && this.layoutMgr == null && this.isVisible ()) {
\r
269 this.updateCursorImmediately ();
\r
271 }, "java.awt.Component,~O,~N");
\r
272 Clazz.defineMethod (c$, "checkGD",
\r
273 function (stringID) {
\r
275 Clazz.defineMethod (c$, "remove",
\r
277 this.removeInt (index);
\r
279 Clazz.defineMethod (c$, "removeInt",
\r
282 if (index < 0 || index >= this.component.size ()) {
\r
283 throw new ArrayIndexOutOfBoundsException (index);
\r
284 }var comp = this.component.get (index);
\r
285 if (this.peer != null) {
\r
286 comp.removeNotify ();
\r
287 }if (this.layoutMgr != null) {
\r
288 this.layoutMgr.removeLayoutComponent (comp);
\r
289 }this.adjustListeningChildren (32768, -comp.numListening (32768));
\r
290 this.adjustListeningChildren (65536, -comp.numListening (65536));
\r
291 this.adjustDescendants (-(comp.countHierarchyMembers ()));
\r
292 comp.parent = null;
\r
293 this.component.remove (index);
\r
294 this.invalidateIfValid ();
\r
295 if (this.containerListener != null || (this.eventMask & 2) != 0 || java.awt.Toolkit.enabledOnToolkit (2)) {
\r
296 var e = new java.awt.event.ContainerEvent (this, 301, comp);
\r
297 this.dispatchEvent (e);
\r
298 }comp.createHierarchyEvents (1400, comp, this, 1, java.awt.Toolkit.enabledOnToolkit (32768));
\r
299 if (this.peer != null && this.layoutMgr == null && this.isVisible ()) {
\r
300 this.updateCursorImmediately ();
\r
302 Clazz.defineMethod (c$, "remove",
\r
304 this.removeChild (comp);
\r
305 }, "java.awt.Component");
\r
306 Clazz.defineMethod (c$, "removeChild",
\r
309 if (comp.parent === this) {
\r
310 var index = this.component.indexOf (comp);
\r
312 this.remove (index);
\r
313 }}}}, "java.awt.Component");
\r
314 Clazz.defineMethod (c$, "removeAll",
\r
317 this.adjustListeningChildren (32768, -this.listeningChildren);
\r
318 this.adjustListeningChildren (65536, -this.listeningBoundsChildren);
\r
319 this.adjustDescendants (-this.descendantsCount);
\r
320 while (!this.component.isEmpty ()) {
\r
321 var comp = this.component.remove (this.component.size () - 1);
\r
322 if (this.peer != null) {
\r
323 comp.removeNotify ();
\r
324 }if (this.layoutMgr != null) {
\r
325 this.layoutMgr.removeLayoutComponent (comp);
\r
326 }comp.parent = null;
\r
327 if (this.containerListener != null || (this.eventMask & 2) != 0 || java.awt.Toolkit.enabledOnToolkit (2)) {
\r
328 var e = new java.awt.event.ContainerEvent (this, 301, comp);
\r
329 this.dispatchEvent (e);
\r
330 }comp.createHierarchyEvents (1400, comp, this, 1, java.awt.Toolkit.enabledOnToolkit (32768));
\r
332 if (this.peer != null && this.layoutMgr == null && this.isVisible ()) {
\r
333 this.updateCursorImmediately ();
\r
334 }this.invalidateIfValid ();
\r
336 Clazz.defineMethod (c$, "numListening",
\r
338 var superListening = this.numListeningMask (mask);
\r
339 if (mask == 32768) {
\r
340 return this.listeningChildren + superListening;
\r
341 } else if (mask == 65536) {
\r
342 return this.listeningBoundsChildren + superListening;
\r
344 return superListening;
\r
346 Clazz.defineMethod (c$, "adjustListeningChildren",
\r
347 function (mask, num) {
\r
348 if (num == 0) return;
\r
349 if ((mask & 32768) != 0) {
\r
350 this.listeningChildren += num;
\r
351 }if ((mask & 65536) != 0) {
\r
352 this.listeningBoundsChildren += num;
\r
353 }this.adjustListeningChildrenOnParent (mask, num);
\r
355 Clazz.defineMethod (c$, "adjustDescendants",
\r
357 if (num == 0) return;
\r
358 this.descendantsCount += num;
\r
359 this.adjustDecendantsOnParent (num);
\r
361 Clazz.defineMethod (c$, "adjustDecendantsOnParent",
\r
363 if (this.parent != null) {
\r
364 this.parent.adjustDescendants (num);
\r
366 Clazz.defineMethod (c$, "countHierarchyMembers",
\r
368 return this.descendantsCount + 1;
\r
370 Clazz.defineMethod (c$, "getListenersCount",
\r
371 function (id, enabledOnToolkit) {
\r
372 if (enabledOnToolkit) {
\r
373 return this.descendantsCount;
\r
376 return this.listeningChildren;
\r
379 return this.listeningBoundsChildren;
\r
384 Clazz.defineMethod (c$, "createHierarchyEvents",
\r
385 function (id, changed, changedParent, changeFlags, enabledOnToolkit) {
\r
386 var listeners = this.getListenersCount (id, enabledOnToolkit);
\r
387 for (var count = listeners, i = 0; count > 0; i++) {
\r
388 count -= this.component.get (i).createHierarchyEvents (id, changed, changedParent, changeFlags, enabledOnToolkit);
\r
390 return listeners + this.createHierEventsComp (id, changed, changedParent, changeFlags, enabledOnToolkit);
\r
391 }, "~N,java.awt.Component,java.awt.Container,~N,~B");
\r
392 Clazz.defineMethod (c$, "createChildHierarchyEvents",
\r
393 function (id, changeFlags, enabledOnToolkit) {
\r
394 if (this.component.isEmpty ()) {
\r
396 }var listeners = this.getListenersCount (id, enabledOnToolkit);
\r
397 for (var count = listeners, i = 0; count > 0; i++) {
\r
398 count -= this.component.get (i).createHierarchyEvents (id, this, this.parent, changeFlags, enabledOnToolkit);
\r
401 Clazz.defineMethod (c$, "getLayout",
\r
403 return this.layoutMgr;
\r
405 Clazz.defineMethod (c$, "setLayout",
\r
407 this.layoutMgr = mgr;
\r
408 this.invalidateIfValid ();
\r
409 }, "java.awt.LayoutManager");
\r
410 Clazz.overrideMethod (c$, "doLayout",
\r
414 Clazz.overrideMethod (c$, "layout",
\r
416 var layoutMgr = this.layoutMgr;
\r
417 if (layoutMgr != null) {
\r
418 layoutMgr.layoutContainer (this);
\r
420 Clazz.overrideMethod (c$, "invalidate",
\r
422 var layoutMgr = this.layoutMgr;
\r
423 if (Clazz.instanceOf (layoutMgr, java.awt.LayoutManager2)) {
\r
424 var lm = layoutMgr;
\r
425 lm.invalidateLayout (this);
\r
426 }this.invalidateComp ();
\r
428 Clazz.overrideMethod (c$, "validate",
\r
430 if (!this.isValid ()) {
\r
431 var updateCur = false;
\r
433 if (!this.isValid () && this.peer != null) {
\r
435 if (Clazz.instanceOf (this.peer, java.awt.peer.ContainerPeer)) {
\r
438 p.beginValidate ();
\r
439 }this.validateTree ();
\r
442 updateCur = this.isVisible ();
\r
443 }}}if (updateCur) {
\r
444 this.updateCursorImmediately ();
\r
446 Clazz.defineMethod (c$, "validateTree",
\r
448 if (!this.isValid ()) {
\r
449 if (Clazz.instanceOf (this.peer, java.awt.peer.ContainerPeer)) {
\r
450 (this.peer).beginLayout ();
\r
452 for (var i = 0; i < this.component.size (); i++) {
\r
453 var comp = this.component.get (i);
\r
454 if ((Clazz.instanceOf (comp, java.awt.Container)) && !(Clazz.instanceOf (comp, java.awt.Window)) && !comp.isValid ()) {
\r
455 (comp).validateTree ();
\r
459 if (Clazz.instanceOf (this.peer, java.awt.peer.ContainerPeer)) {
\r
460 (this.peer).endLayout ();
\r
461 }}this.validateComponent ();
\r
463 Clazz.defineMethod (c$, "invalidateTree",
\r
466 for (var i = 0; i < this.component.size (); i++) {
\r
467 var comp = this.component.get (i);
\r
468 if (Clazz.instanceOf (comp, java.awt.Container)) {
\r
469 (comp).invalidateTree ();
\r
471 comp.invalidateIfValid ();
\r
473 this.invalidateIfValid ();
\r
475 Clazz.overrideMethod (c$, "setFont",
\r
477 var oldfont = this.getFont ();
\r
478 this.setFontComp (f);
\r
479 var newfont = this.getFont ();
\r
480 if (newfont !== oldfont && (oldfont == null || !oldfont.equals (newfont))) {
\r
481 this.invalidateTree ();
\r
482 }}, "java.awt.Font");
\r
483 Clazz.overrideMethod (c$, "getPreferredSize",
\r
485 return this.preferredSize ();
\r
487 Clazz.overrideMethod (c$, "preferredSize",
\r
489 var dim = this.prefSize;
\r
490 if (dim == null || !(this.isPreferredSizeSet () || this.isValid ())) {
\r
492 this.prefSize = (this.layoutMgr != null) ? this.layoutMgr.preferredLayoutSize (this) : this.prefSizeComp ();
\r
493 dim = this.prefSize;
\r
494 }}return (dim == null ? null : new java.awt.Dimension (dim));
\r
496 Clazz.overrideMethod (c$, "getMinimumSize",
\r
498 var dim = this.minSize;
\r
499 if (dim == null || !(this.isMinimumSizeSet () || this.isValid ())) {
\r
501 this.minSize = (this.layoutMgr != null) ? this.layoutMgr.minimumLayoutSize (this) : this.minimumSize ();
\r
502 dim = this.minSize;
\r
503 }}if (dim != null) {
\r
504 return new java.awt.Dimension (dim);
\r
508 Clazz.overrideMethod (c$, "getMaximumSize",
\r
510 var dim = this.maxSize;
\r
511 if (dim == null || !(this.isMaximumSizeSet () || this.isValid ())) {
\r
513 if (Clazz.instanceOf (this.layoutMgr, java.awt.LayoutManager2)) {
\r
514 var lm = this.layoutMgr;
\r
515 this.maxSize = lm.maximumLayoutSize (this);
\r
517 this.maxSize = this.getMaxSizeComp ();
\r
518 }dim = this.maxSize;
\r
519 }}if (dim != null) {
\r
520 return new java.awt.Dimension (dim);
\r
524 Clazz.overrideMethod (c$, "getAlignmentX",
\r
527 if (Clazz.instanceOf (this.layoutMgr, java.awt.LayoutManager2)) {
\r
529 var lm = this.layoutMgr;
\r
530 xAlign = lm.getLayoutAlignmentX (this);
\r
532 xAlign = this.getAlignmentXComp ();
\r
535 Clazz.overrideMethod (c$, "getAlignmentY",
\r
538 if (Clazz.instanceOf (this.layoutMgr, java.awt.LayoutManager2)) {
\r
540 var lm = this.layoutMgr;
\r
541 yAlign = lm.getLayoutAlignmentY (this);
\r
543 yAlign = this.getAlignmentYComp ();
\r
546 Clazz.overrideMethod (c$, "paint",
\r
548 java.awt.GraphicsCallback.PaintCallback.getInstance ().runComponents (this.component.toArray (java.awt.Container.EMPTY_ARRAY), g, 2);
\r
549 }, "java.awt.Graphics");
\r
550 Clazz.overrideMethod (c$, "update",
\r
552 if (this.isShowing ()) {
\r
553 g.clearRect (0, 0, this.width, this.height);
\r
555 }}, "java.awt.Graphics");
\r
556 Clazz.defineMethod (c$, "paintComponents",
\r
558 if (this.isShowing ()) {
\r
559 java.awt.GraphicsCallback.PaintAllCallback.getInstance ().runComponents (this.component.toArray (java.awt.Container.EMPTY_ARRAY), g, 4);
\r
560 }}, "java.awt.Graphics");
\r
561 Clazz.overrideMethod (c$, "lightweightPaint",
\r
563 this.lwPaintComp (g);
\r
564 this.paintHeavyweightComponents (g);
\r
565 }, "java.awt.Graphics");
\r
566 Clazz.overrideMethod (c$, "paintHeavyweightComponents",
\r
568 if (this.isShowing ()) {
\r
569 java.awt.GraphicsCallback.PaintHeavyweightComponentsCallback.getInstance ().runComponents (this.component.toArray (java.awt.Container.EMPTY_ARRAY), g, 3);
\r
570 }}, "java.awt.Graphics");
\r
571 Clazz.defineMethod (c$, "addContainerListener",
\r
575 }this.containerListener = java.awt.AWTEventMulticaster.add (this.containerListener, l);
\r
576 this.newEventsOnly = true;
\r
577 }, "java.awt.event.ContainerListener");
\r
578 Clazz.defineMethod (c$, "removeContainerListener",
\r
582 }this.containerListener = java.awt.AWTEventMulticaster.remove (this.containerListener, l);
\r
583 }, "java.awt.event.ContainerListener");
\r
584 Clazz.defineMethod (c$, "getContainerListeners",
\r
586 return (this.getListeners (java.awt.event.ContainerListener));
\r
588 Clazz.overrideMethod (c$, "getListeners",
\r
589 function (listenerType) {
\r
591 if (listenerType === java.awt.event.ContainerListener) {
\r
592 l = this.containerListener;
\r
594 return this.getListenersComp (listenerType);
\r
595 }return java.awt.AWTEventMulticaster.getListeners (l, listenerType);
\r
597 Clazz.overrideMethod (c$, "eventEnabled",
\r
599 var id = e.getID ();
\r
600 if (id == 300 || id == 301) {
\r
601 if ((this.eventMask & 2) != 0 || this.containerListener != null) {
\r
604 }return this.eventTypeEnabled (e.id);
\r
605 }, "java.awt.AWTEvent");
\r
606 Clazz.overrideMethod (c$, "processEvent",
\r
608 this.processEventCont (e);
\r
609 }, "java.awt.AWTEvent");
\r
610 Clazz.defineMethod (c$, "processEventCont",
\r
612 if (Clazz.instanceOf (e, java.awt.event.ContainerEvent)) {
\r
613 this.processContainerEvent (e);
\r
615 }this.processEventComp (e);
\r
616 }, "java.awt.AWTEvent");
\r
617 Clazz.defineMethod (c$, "processContainerEvent",
\r
619 var listener = this.containerListener;
\r
620 if (listener != null) {
\r
621 switch (e.getID ()) {
\r
623 listener.componentAdded (e);
\r
626 listener.componentRemoved (e);
\r
629 }}, "java.awt.event.ContainerEvent");
\r
630 Clazz.overrideMethod (c$, "dispatchEventImpl",
\r
632 if ((this.dispatcher != null) && this.dispatcher.dispatchEvent (e)) {
\r
634 if (this.peer != null) {
\r
635 this.peer.handleEvent (e);
\r
637 }this.dispatchEventImplComp (e);
\r
639 switch (e.getID ()) {
\r
647 }}, "java.awt.AWTEvent");
\r
648 Clazz.defineMethod (c$, "dispatchEventToSelf",
\r
650 this.dispatchEventImplComp (e);
\r
651 }, "java.awt.AWTEvent");
\r
652 Clazz.defineMethod (c$, "getMouseEventTarget",
\r
653 function (x, y, includeSelf, filter, searchHeavyweights) {
\r
655 if (arguments.length == 3) {
\r
656 filter = java.awt.Container.MouseEventTargetFilter.FILTER;
\r
657 searchHeavyWeights = false;
\r
660 if (comp == null || comp === this) {
\r
661 comp = this.getMouseEventTargetImpl (x, y, includeSelf, filter, false, searchHeavyweights);
\r
663 }, "~N,~N,~B,java.awt.Container.EventTargetFilter,~B");
\r
664 Clazz.defineMethod (c$, "getMouseEventTargetImpl",
\r
665 function (x, y, includeSelf, filter, searchHeavyweightChildren, searchHeavyweightDescendants) {
\r
667 for (var i = 0; i < this.component.size (); i++) {
\r
668 var comp = this.component.get (i);
\r
669 if (comp != null && comp.visible && ((!searchHeavyweightChildren && Clazz.instanceOf (comp.peer, java.awt.peer.LightweightPeer)) || (searchHeavyweightChildren && !(Clazz.instanceOf (comp.peer, java.awt.peer.LightweightPeer)))) && comp.contains (x - comp.x, y - comp.y)) {
\r
670 if (Clazz.instanceOf (comp, java.awt.Container)) {
\r
672 var deeper = child.getMouseEventTarget (x - child.x, y - child.y, includeSelf, filter, searchHeavyweightDescendants);
\r
673 if (deeper != null) {
\r
676 if (filter.accept (comp)) {
\r
681 isPeerOK = includeSelf;
\r
682 isMouseOverMe = this.contains (x, y);
\r
683 if (isMouseOverMe && isPeerOK && filter.accept (this)) {
\r
686 }}, "~N,~N,~B,java.awt.Container.EventTargetFilter,~B,~B");
\r
687 Clazz.defineMethod (c$, "proxyEnableEvents",
\r
688 function (events) {
\r
689 if (this.parent != null) {
\r
690 this.parent.proxyEnableEvents (events);
\r
691 }if (this.dispatcher != null) {
\r
692 this.dispatcher.enableEvents (events);
\r
694 Clazz.defineMethod (c$, "deliverEvent",
\r
696 var comp = this.getComponentAt (e.x, e.y);
\r
697 if ((comp != null) && (comp !== this)) {
\r
698 e.translate (-comp.x, -comp.y);
\r
699 comp.deliverEvent (e);
\r
701 this.postEvent (e);
\r
702 }}, "java.awt.Event");
\r
703 Clazz.defineMethod (c$, "getComponentAt",
\r
705 return this.locate (x, y);
\r
707 Clazz.overrideMethod (c$, "locate",
\r
711 Clazz.defineMethod (c$, "getComponentAt",
\r
713 return this.getComponentAt (p.x, p.y);
\r
714 }, "java.awt.Point");
\r
715 Clazz.defineMethod (c$, "getMousePosition",
\r
716 function (allowChildren) {
\r
719 Clazz.overrideMethod (c$, "isSameOrAncestorOf",
\r
720 function (comp, allowChildren) {
\r
721 return this === comp || (allowChildren && this.isParentOf (comp));
\r
722 }, "java.awt.Component,~B");
\r
723 Clazz.defineMethod (c$, "findComponentAt",
\r
726 return this.findComponentAt (x, y, true);
\r
728 Clazz.defineMethod (c$, "findComponentAt",
\r
729 function (x, y, ignoreEnabled) {
\r
732 Clazz.defineMethod (c$, "findComponentAt",
\r
734 return this.findComponentAt (p.x, p.y);
\r
735 }, "java.awt.Point");
\r
736 Clazz.defineMethod (c$, "addNotify",
\r
739 this.addNotifyComp ();
\r
740 if (!(Clazz.instanceOf (this.peer, java.awt.peer.LightweightPeer))) {
\r
741 this.setDispatcher ();
\r
742 }for (var i = 0; i < this.component.size (); i++) {
\r
743 this.component.get (i).addNotify ();
\r
746 Clazz.defineMethod (c$, "setDispatcher",
\r
748 this.dispatcher = new java.awt.LightweightDispatcher (this);
\r
750 Clazz.defineMethod (c$, "removeNotify",
\r
752 for (var i = this.component.size () - 1; i >= 0; i--) {
\r
753 var comp = this.component.get (i);
\r
754 if (comp != null) {
\r
755 comp.setAutoFocusTransferOnDisposal (false);
\r
756 comp.removeNotify ();
\r
757 comp.setAutoFocusTransferOnDisposal (true);
\r
759 if (this.dispatcher != null) {
\r
760 this.dispatcher.dispose ();
\r
761 this.dispatcher = null;
\r
762 }this.removeNotifyComp ();
\r
764 Clazz.defineMethod (c$, "isAncestorOf",
\r
767 if (c == null || ((p = c.getParent ()) == null)) {
\r
769 }while (p != null) {
\r
772 }p = p.getParent ();
\r
775 }, "java.awt.Component");
\r
776 Clazz.overrideMethod (c$, "paramString",
\r
778 var str = this.paramStringComp ();
\r
779 var layoutMgr = this.layoutMgr;
\r
780 if (layoutMgr != null) {
\r
781 str += ",layout=" + layoutMgr.getClass ().getName ();
\r
784 Clazz.defineMethod (c$, "setFocusTraversalKeys",
\r
785 function (id, keystrokes) {
\r
786 }, "~N,java.util.Set");
\r
787 Clazz.defineMethod (c$, "getFocusTraversalKeys",
\r
791 Clazz.defineMethod (c$, "areFocusTraversalKeysSet",
\r
795 Clazz.defineMethod (c$, "isFocusCycleRoot",
\r
796 function (container) {
\r
797 if (this.isFocusCycleRoot () && container === this) {
\r
800 return this.isFocusCycleRootComp (container);
\r
801 }}, "java.awt.Container");
\r
802 Clazz.overrideMethod (c$, "containsFocus",
\r
806 Clazz.defineMethod (c$, "isParentOf",
\r
809 while (comp != null && comp !== this && !(Clazz.instanceOf (comp, java.awt.Window))) {
\r
810 comp = comp.getParent ();
\r
812 return (comp === this);
\r
813 }}, "java.awt.Component");
\r
814 Clazz.defineMethod (c$, "clearMostRecentFocusOwnerOnHide",
\r
817 Clazz.overrideMethod (c$, "clearCurrentFocusCycleRootOnHide",
\r
820 Clazz.defineMethod (c$, "getTraversalRoot",
\r
824 Clazz.defineMethod (c$, "isFocusCycleRoot",
\r
826 return this.focusCycleRoot;
\r
828 Clazz.defineMethod (c$, "setFocusTraversalPolicyProvider",
\r
829 function (provider) {
\r
832 oldProvider = this.focusTraversalPolicyProvider;
\r
833 this.focusTraversalPolicyProvider = provider;
\r
834 }this.firePropertyChangeBool ("focusTraversalPolicyProvider", oldProvider, provider);
\r
836 Clazz.defineMethod (c$, "isFocusTraversalPolicyProvider",
\r
838 return this.focusTraversalPolicyProvider;
\r
840 Clazz.defineMethod (c$, "transferFocusDownCycle",
\r
843 Clazz.defineMethod (c$, "preProcessKeyEvent",
\r
845 var parent = this.parent;
\r
846 if (parent != null) {
\r
847 parent.preProcessKeyEvent (e);
\r
848 }}, "java.awt.event.KeyEvent");
\r
849 Clazz.defineMethod (c$, "postProcessKeyEvent",
\r
851 var parent = this.parent;
\r
852 if (parent != null) {
\r
853 parent.postProcessKeyEvent (e);
\r
854 }}, "java.awt.event.KeyEvent");
\r
855 Clazz.overrideMethod (c$, "postsOldMouseEvents",
\r
859 Clazz.defineMethod (c$, "applyComponentOrientation",
\r
861 this.applyCompOrientComp (o);
\r
863 for (var i = 0; i < this.component.size (); i++) {
\r
864 var comp = this.component.get (i);
\r
865 comp.applyComponentOrientation (o);
\r
867 }}, "java.awt.ComponentOrientation");
\r
868 Clazz.defineMethod (c$, "addPropertyChangeListener",
\r
869 function (listener) {
\r
870 this.addPropChangeListenerComp (listener);
\r
871 }, "java.beans.PropertyChangeListener");
\r
872 Clazz.defineMethod (c$, "addPropertyChangeListener",
\r
873 function (propertyName, listener) {
\r
874 this.addPropChangeListComp (propertyName, listener);
\r
875 }, "~S,java.beans.PropertyChangeListener");
\r
876 Clazz.defineMethod (c$, "increaseComponentCount",
\r
878 if (!c.isDisplayable ()) {
\r
879 throw new IllegalStateException ("Peer does not exist while invoking the increaseComponentCount() method");
\r
882 if (Clazz.instanceOf (c, java.awt.Container)) {
\r
883 addLW = (c).numOfLWComponents;
\r
884 addHW = (c).numOfHWComponents;
\r
885 }if (c.isLightweight ()) {
\r
889 }for (var cont = this; cont != null; cont = cont.getContainer ()) {
\r
890 cont.numOfLWComponents += addLW;
\r
891 cont.numOfHWComponents += addHW;
\r
893 }, "java.awt.Component");
\r
894 Clazz.defineMethod (c$, "decreaseComponentCount",
\r
896 if (!c.isDisplayable ()) {
\r
897 throw new IllegalStateException ("Peer does not exist while invoking the decreaseComponentCount() method");
\r
900 if (Clazz.instanceOf (c, java.awt.Container)) {
\r
901 subLW = (c).numOfLWComponents;
\r
902 subHW = (c).numOfHWComponents;
\r
903 }if (c.isLightweight ()) {
\r
907 }for (var cont = this; cont != null; cont = cont.getContainer ()) {
\r
908 cont.numOfLWComponents -= subLW;
\r
909 cont.numOfHWComponents -= subHW;
\r
911 }, "java.awt.Component");
\r
912 Clazz.declareInterface (java.awt.Container, "EventTargetFilter");
\r
913 Clazz.pu$h(self.c$);
\r
914 c$ = Clazz.declareType (java.awt.Container, "MouseEventTargetFilter", null, java.awt.Container.EventTargetFilter);
\r
915 Clazz.makeConstructor (c$,
\r
918 Clazz.overrideMethod (c$, "accept",
\r
920 return (a.eventMask & 32) != 0 || (a.eventMask & 16) != 0 || (a.eventMask & 131072) != 0 || a.mouseListener != null || a.mouseMotionListener != null || a.mouseWheelListener != null;
\r
921 }, "java.awt.Component");
\r
922 c$.FILTER = c$.prototype.FILTER = new java.awt.Container.MouseEventTargetFilter ();
\r
924 c$.EMPTY_ARRAY = c$.prototype.EMPTY_ARRAY = new Array (0);
\r
925 Clazz.defineStatics (c$,
\r
926 "INCLUDE_SELF", true,
\r
927 "SEARCH_HEAVYWEIGHTS", true);
\r
928 c$ = Clazz.decorateAsClass (function () {
\r
929 this.nativeContainer = null;
\r
930 this.mouseEventTarget = null;
\r
931 this.targetLastEntered = null;
\r
932 this.isMouseInNativeContainer = false;
\r
933 this.eventMask = 0;
\r
934 Clazz.instantialize (this, arguments);
\r
935 }, java.awt, "LightweightDispatcher", null, java.awt.event.AWTEventListener);
\r
936 Clazz.makeConstructor (c$,
\r
937 function (nativeContainer) {
\r
938 this.nativeContainer = nativeContainer;
\r
939 this.mouseEventTarget = null;
\r
940 this.eventMask = 0;
\r
941 }, "java.awt.Container");
\r
942 Clazz.defineMethod (c$, "dispose",
\r
944 this.stopListeningForOtherDrags ();
\r
945 this.mouseEventTarget = null;
\r
947 Clazz.defineMethod (c$, "enableEvents",
\r
948 function (events) {
\r
949 this.eventMask |= events;
\r
951 Clazz.defineMethod (c$, "dispatchEvent",
\r
954 if (Clazz.instanceOf (e, java.awt.event.MouseEvent) && (this.eventMask & 131120) != 0) {
\r
956 ret = this.processMouseEvent (me);
\r
958 }, "java.awt.AWTEvent");
\r
959 Clazz.defineMethod (c$, "isMouseGrab",
\r
961 var modifiers = e.getModifiersEx ();
\r
962 if (e.getID () == 501 || e.getID () == 502) {
\r
963 switch (e.getButton ()) {
\r
974 }return ((modifiers & (7168)) != 0);
\r
975 }, "java.awt.event.MouseEvent");
\r
976 Clazz.defineMethod (c$, "processMouseEvent",
\r
978 var id = e.getID ();
\r
979 var mouseOver = this.nativeContainer.getMouseEventTarget (e.getX (), e.getY (), true);
\r
980 this.trackMouseEnterExit (mouseOver, e);
\r
981 if (!this.isMouseGrab (e) && id != 500) {
\r
982 this.mouseEventTarget = (mouseOver !== this.nativeContainer) ? mouseOver : null;
\r
983 }if (this.mouseEventTarget != null) {
\r
989 this.retargetMouseEvent (this.mouseEventTarget, id, e);
\r
992 this.retargetMouseEvent (this.mouseEventTarget, id, e);
\r
995 if (mouseOver === this.mouseEventTarget) {
\r
996 this.retargetMouseEvent (mouseOver, id, e);
\r
999 this.retargetMouseEvent (this.mouseEventTarget, id, e);
\r
1002 if (this.isMouseGrab (e)) {
\r
1003 this.retargetMouseEvent (this.mouseEventTarget, id, e);
\r
1006 this.retargetMouseEvent (mouseOver, id, e);
\r
1010 }return e.isConsumed ();
\r
1011 }, "java.awt.event.MouseEvent");
\r
1012 Clazz.defineMethod (c$, "trackMouseEnterExit",
\r
1013 function (targetOver, e) {
\r
1014 var targetEnter = null;
\r
1015 var id = e.getID ();
\r
1016 if (id != 505 && id != 506 && id != 1500 && this.isMouseInNativeContainer == false) {
\r
1017 this.isMouseInNativeContainer = true;
\r
1018 this.startListeningForOtherDrags ();
\r
1019 } else if (id == 505) {
\r
1020 this.isMouseInNativeContainer = false;
\r
1021 this.stopListeningForOtherDrags ();
\r
1022 }if (this.isMouseInNativeContainer) {
\r
1023 targetEnter = targetOver;
\r
1024 }if (this.targetLastEntered === targetEnter) {
\r
1026 }if (this.targetLastEntered != null) {
\r
1027 this.retargetMouseEvent (this.targetLastEntered, 505, e);
\r
1030 }if (targetEnter != null) {
\r
1031 this.retargetMouseEvent (targetEnter, 504, e);
\r
1034 }this.targetLastEntered = targetEnter;
\r
1035 }, "java.awt.Component,java.awt.event.MouseEvent");
\r
1036 Clazz.defineMethod (c$, "startListeningForOtherDrags",
\r
1039 Clazz.defineMethod (c$, "stopListeningForOtherDrags",
\r
1042 Clazz.overrideMethod (c$, "eventDispatched",
\r
1044 var isForeignDrag = (Clazz.instanceOf (e, java.awt.event.MouseEvent)) && (e.id == 506) && (e.getSource () !== this.nativeContainer);
\r
1045 if (!isForeignDrag) {
\r
1047 }var srcEvent = e;
\r
1050 var srcComponent = srcEvent.getComponent ();
\r
1051 if (!srcComponent.isShowing ()) {
\r
1053 }var c = this.nativeContainer;
\r
1054 while ((c != null) && !(Clazz.instanceOf (c, java.awt.Window))) {
\r
1055 c = c.getParent_NoClientCode ();
\r
1057 if ((c == null) || (c).isModalBlocked ()) {
\r
1059 }me = new java.awt.event.MouseEvent (this.nativeContainer, 1500, srcEvent.getWhen (), srcEvent.getModifiersEx () | srcEvent.getModifiers (), srcEvent.getX (), srcEvent.getY (), srcEvent.getXOnScreen (), srcEvent.getYOnScreen (), srcEvent.getClickCount (), srcEvent.isPopupTrigger (), srcEvent.getButton ());
\r
1060 (srcEvent).copyPrivateDataInto (me);
\r
1061 }var targetOver = this.nativeContainer.getMouseEventTarget (me.getX (), me.getY (), true);
\r
1062 this.trackMouseEnterExit (targetOver, me);
\r
1063 }, "java.awt.AWTEvent");
\r
1064 Clazz.defineMethod (c$, "retargetMouseEvent",
\r
1065 function (target, id, e) {
\r
1066 if (target == null) {
\r
1068 }var x = e.getX ();
\r
1069 var y = e.getY ();
\r
1071 for (component = target; component != null && component !== this.nativeContainer; component = component.getParent ()) {
\r
1076 if (component != null) {
\r
1078 retargeted = new java.awt.event.MouseWheelEvent (target, id, e.getWhen (), e.getModifiersEx () | e.getModifiers (), x, y, e.getXOnScreen (), e.getYOnScreen (), e.getClickCount (), e.isPopupTrigger (), (e).getScrollType (), (e).getScrollAmount (), (e).getWheelRotation ());
\r
1080 retargeted = new java.awt.event.MouseEvent (target, id, e.getWhen (), e.getModifiersEx () | e.getModifiers (), x, y, e.getXOnScreen (), e.getYOnScreen (), e.getClickCount (), e.isPopupTrigger (), e.getButton ());
\r
1081 }(e).copyPrivateDataInto (retargeted);
\r
1082 if (target === this.nativeContainer) {
\r
1083 (target).dispatchEventToSelf (retargeted);
\r
1085 if (this.nativeContainer.modalComp != null) {
\r
1086 if ((this.nativeContainer.modalComp).isAncestorOf (target)) {
\r
1087 target.dispatchEvent (retargeted);
\r
1091 target.dispatchEvent (retargeted);
\r
1092 }}}}, "java.awt.Component,~N,java.awt.event.MouseEvent");
\r
1093 Clazz.defineStatics (c$,
\r
1094 "LWD_MOUSE_DRAGGED_OVER", 1500,
\r
1095 "MOUSE_MASK", 131120);
\r