1 Clazz.declarePackage ("javax.swing");
\r
2 Clazz.load (["javax.swing.JComponent"], "javax.swing.JLayeredPane", ["java.util.ArrayList", "$.Hashtable", "java.awt.Color"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.componentToLayer = null;
\r
5 this.optimizedDrawingPossible = true;
\r
6 Clazz.instantialize (this, arguments);
\r
7 }, javax.swing, "JLayeredPane", javax.swing.JComponent);
\r
8 Clazz.makeConstructor (c$,
\r
10 Clazz.superConstructor (this, javax.swing.JLayeredPane, []);
\r
11 this.setLayout (null);
\r
13 Clazz.defineMethod (c$, "validateOptimizedDrawing",
\r
15 var layeredComponentFound = false;
\r
18 for (var c, $c = 0, $$c = this.getComponents (); $c < $$c.length && ((c = $$c[$c]) || true); $c++) {
\r
20 if ((Clazz.instanceOf (c, javax.swing.JComponent) && (layer = (c).getClientProperty ("layeredContainerLayer")) != null)) {
\r
21 if (layer != null && layer.equals (javax.swing.JLayeredPane.FRAME_CONTENT_LAYER)) continue;
\r
22 layeredComponentFound = true;
\r
25 }if (layeredComponentFound) this.optimizedDrawingPossible = false;
\r
26 else this.optimizedDrawingPossible = true;
\r
28 Clazz.overrideMethod (c$, "addImpl",
\r
29 function (comp, constraints, index) {
\r
30 var layer = javax.swing.JLayeredPane.DEFAULT_LAYER.intValue ();
\r
32 if (Clazz.instanceOf (constraints, Integer)) {
\r
33 layer = (constraints).intValue ();
\r
34 this.setLayer (comp, layer);
\r
35 } else layer = this.getLayer (comp);
\r
36 pos = this.insertIndexForLayer (layer, index);
\r
37 this.addImplSAEM (comp, constraints, pos);
\r
40 this.validateOptimizedDrawing ();
\r
42 }, "java.awt.Component,~O,~N");
\r
43 Clazz.defineMethod (c$, "remove",
\r
45 var c = this.getComponent (index);
\r
46 Clazz.superCall (this, javax.swing.JLayeredPane, "remove", [index]);
\r
47 if (c != null && !(Clazz.instanceOf (c, javax.swing.JComponent))) {
\r
48 this.getComponentToLayer ().remove (c);
\r
49 }this.validateOptimizedDrawing ();
\r
51 Clazz.defineMethod (c$, "removeAll",
\r
53 var children = this.getComponents ();
\r
54 var cToL = this.getComponentToLayer ();
\r
55 for (var counter = children.length - 1; counter >= 0; counter--) {
\r
56 var c = children[counter];
\r
57 if (c != null && !(Clazz.instanceOf (c, javax.swing.JComponent))) {
\r
60 Clazz.superCall (this, javax.swing.JLayeredPane, "removeAll", []);
\r
62 Clazz.overrideMethod (c$, "isOptimizedDrawingEnabled",
\r
64 return this.optimizedDrawingPossible;
\r
66 c$.putLayer = Clazz.defineMethod (c$, "putLayer",
\r
67 function (c, layer) {
\r
69 layerObj = new Integer (layer);
\r
70 c.putClientProperty ("layeredContainerLayer", layerObj);
\r
71 }, "javax.swing.JComponent,~N");
\r
72 c$.getLayer = Clazz.defineMethod (c$, "getLayer",
\r
75 if ((i = c.getClientProperty ("layeredContainerLayer")) != null) return i.intValue ();
\r
76 return javax.swing.JLayeredPane.DEFAULT_LAYER.intValue ();
\r
77 }, "javax.swing.JComponent");
\r
78 c$.getLayeredPaneAbove = Clazz.defineMethod (c$, "getLayeredPaneAbove",
\r
80 if (c == null) return null;
\r
81 var parent = c.getParent ();
\r
82 while (parent != null && !(Clazz.instanceOf (parent, javax.swing.JLayeredPane))) parent = parent.getParent ();
\r
85 }, "java.awt.Component");
\r
86 Clazz.defineMethod (c$, "setLayer",
\r
87 function (c, layer) {
\r
88 this.setLayer (c, layer, -1);
\r
89 }, "java.awt.Component,~N");
\r
90 Clazz.defineMethod (c$, "setLayer",
\r
91 function (c, layer, position) {
\r
93 layerObj = this.getObjectForLayer (layer);
\r
94 if (layer == this.getLayer (c) && position == this.getPosition (c)) {
\r
95 this.repaint (c.getBounds ());
\r
97 }if (Clazz.instanceOf (c, javax.swing.JComponent)) (c).putClientProperty ("layeredContainerLayer", layerObj);
\r
98 else this.getComponentToLayer ().put (c, layerObj);
\r
99 if (c.getParent () == null || c.getParent () !== this) {
\r
100 this.repaint (c.getBounds ());
\r
102 }var index = this.insertIndexForLayer (c, layer, position);
\r
103 this.setComponentZOrder (c, index);
\r
104 this.repaint (c.getBounds ());
\r
105 }, "java.awt.Component,~N,~N");
\r
106 Clazz.defineMethod (c$, "getLayer",
\r
109 if (Clazz.instanceOf (c, javax.swing.JComponent)) i = (c).getClientProperty ("layeredContainerLayer");
\r
110 else i = this.getComponentToLayer ().get (c);
\r
111 if (i == null) return javax.swing.JLayeredPane.DEFAULT_LAYER.intValue ();
\r
112 return i.intValue ();
\r
113 }, "java.awt.Component");
\r
114 Clazz.defineMethod (c$, "getIndexOf",
\r
118 count = this.getComponentCount ();
\r
119 for (i = 0; i < count; i++) {
\r
120 if (c === this.getComponent (i)) return i;
\r
123 }, "java.awt.Component");
\r
124 Clazz.defineMethod (c$, "moveToFront",
\r
126 this.setPosition (c, 0);
\r
127 }, "java.awt.Component");
\r
128 Clazz.defineMethod (c$, "moveToBack",
\r
130 this.setPosition (c, -1);
\r
131 }, "java.awt.Component");
\r
132 Clazz.defineMethod (c$, "setPosition",
\r
133 function (c, position) {
\r
134 this.setLayer (c, this.getLayer (c), position);
\r
135 }, "java.awt.Component,~N");
\r
136 Clazz.defineMethod (c$, "getPosition",
\r
144 count = this.getComponentCount ();
\r
145 startLocation = this.getIndexOf (c);
\r
146 if (startLocation == -1) return -1;
\r
147 startLayer = this.getLayer (c);
\r
148 for (i = startLocation - 1; i >= 0; i--) {
\r
149 curLayer = this.getLayer (this.getComponent (i));
\r
150 if (curLayer == startLayer) pos++;
\r
154 }, "java.awt.Component");
\r
155 Clazz.defineMethod (c$, "highestLayer",
\r
157 if (this.getComponentCount () > 0) return this.getLayer (this.getComponent (0));
\r
160 Clazz.defineMethod (c$, "lowestLayer",
\r
162 var count = this.getComponentCount ();
\r
163 if (count > 0) return this.getLayer (this.getComponent (count - 1));
\r
166 Clazz.defineMethod (c$, "getComponentCountInLayer",
\r
171 var layerCount = 0;
\r
172 count = this.getComponentCount ();
\r
173 for (i = 0; i < count; i++) {
\r
174 curLayer = this.getLayer (this.getComponent (i));
\r
175 if (curLayer == layer) {
\r
177 } else if (layerCount > 0 || curLayer < layer) {
\r
182 Clazz.defineMethod (c$, "getComponentsInLayer",
\r
187 var layerCount = 0;
\r
189 results = new Array (this.getComponentCountInLayer (layer));
\r
190 count = this.getComponentCount ();
\r
191 for (i = 0; i < count; i++) {
\r
192 curLayer = this.getLayer (this.getComponent (i));
\r
193 if (curLayer == layer) {
\r
194 results[layerCount++] = this.getComponent (i);
\r
195 } else if (layerCount > 0 || curLayer < layer) {
\r
200 Clazz.defineMethod (c$, "paint",
\r
202 if (this.isOpaque ()) {
\r
203 var r = g.getClipBounds ();
\r
204 var c = this.getBackground ();
\r
205 if (c == null) c = java.awt.Color.lightGray;
\r
208 g.fillRect (r.x, r.y, r.width, r.height);
\r
210 g.fillRect (0, 0, this.getWidth (), this.getHeight ());
\r
211 }}Clazz.superCall (this, javax.swing.JLayeredPane, "paint", [g]);
\r
212 }, "java.awt.Graphics");
\r
213 Clazz.defineMethod (c$, "getComponentToLayer",
\r
215 if (this.componentToLayer == null) this.componentToLayer = new java.util.Hashtable (4);
\r
216 return this.componentToLayer;
\r
218 Clazz.defineMethod (c$, "getObjectForLayer",
\r
223 layerObj = javax.swing.JLayeredPane.DEFAULT_LAYER;
\r
226 layerObj = javax.swing.JLayeredPane.PALETTE_LAYER;
\r
229 layerObj = javax.swing.JLayeredPane.MODAL_LAYER;
\r
232 layerObj = javax.swing.JLayeredPane.POPUP_LAYER;
\r
235 layerObj = javax.swing.JLayeredPane.DRAG_LAYER;
\r
238 layerObj = new Integer (layer);
\r
242 Clazz.defineMethod (c$, "insertIndexForLayer",
\r
243 function (layer, position) {
\r
244 return this.insertIndexForLayer (null, layer, position);
\r
246 Clazz.defineMethod (c$, "insertIndexForLayer",
\r
247 function (comp, layer, position) {
\r
251 var layerStart = -1;
\r
253 var componentCount = this.getComponentCount ();
\r
254 var compList = new java.util.ArrayList (componentCount);
\r
255 for (var index = 0; index < componentCount; index++) {
\r
256 if (this.getComponent (index) !== comp) {
\r
257 compList.add (this.getComponent (index));
\r
259 count = compList.size ();
\r
260 for (i = 0; i < count; i++) {
\r
261 curLayer = this.getLayer (compList.get (i));
\r
262 if (layerStart == -1 && curLayer == layer) {
\r
264 }if (curLayer < layer) {
\r
272 if (layerStart == -1 && layerEnd == -1) return count;
\r
273 if (layerStart != -1 && layerEnd == -1) layerEnd = count;
\r
274 if (layerEnd != -1 && layerStart == -1) layerStart = layerEnd;
\r
275 if (position == -1) return layerEnd;
\r
276 if (position > -1 && layerStart + position <= layerEnd) return layerStart + position;
\r
278 }, "java.awt.Component,~N,~N");
\r
279 Clazz.defineMethod (c$, "paramString",
\r
281 var optimizedDrawingPossibleString = (this.optimizedDrawingPossible ? "true" : "false");
\r
282 return Clazz.superCall (this, javax.swing.JLayeredPane, "paramString", []) + ",optimizedDrawingPossible=" + optimizedDrawingPossibleString;
\r
284 c$.DEFAULT_LAYER = c$.prototype.DEFAULT_LAYER = new Integer (0);
\r
285 c$.PALETTE_LAYER = c$.prototype.PALETTE_LAYER = new Integer (100);
\r
286 c$.MODAL_LAYER = c$.prototype.MODAL_LAYER = new Integer (200);
\r
287 c$.POPUP_LAYER = c$.prototype.POPUP_LAYER = new Integer (300);
\r
288 c$.DRAG_LAYER = c$.prototype.DRAG_LAYER = new Integer (400);
\r
289 c$.FRAME_CONTENT_LAYER = c$.prototype.FRAME_CONTENT_LAYER = new Integer (-30000);
\r
290 Clazz.defineStatics (c$,
\r
291 "LAYER_PROPERTY", "layeredContainerLayer");
\r