1 Clazz.declarePackage ("javax.swing");
\r
2 Clazz.load (["javax.swing.JComponent", "$.JScrollBar", "$.ScrollPaneConstants", "javax.swing.plaf.UIResource"], "javax.swing.JScrollPane", ["java.lang.Boolean", "$.ClassCastException", "$.IllegalArgumentException", "java.awt.Point", "$.Rectangle", "javax.swing.JViewport", "$.ScrollPaneLayout", "$.Scrollable", "$.SwingUtilities", "$.UIManager"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.viewportBorder = null;
\r
5 this.verticalScrollBarPolicy = 20;
\r
6 this.horizontalScrollBarPolicy = 30;
\r
7 this.viewport = null;
\r
8 this.verticalScrollBar = null;
\r
9 this.horizontalScrollBar = null;
\r
10 this.rowHeader = null;
\r
11 this.columnHeader = null;
\r
12 this.lowerLeft = null;
\r
13 this.lowerRight = null;
\r
14 this.upperLeft = null;
\r
15 this.upperRight = null;
\r
16 this.wheelScrollState = true;
\r
17 if (!Clazz.isClassDefined ("javax.swing.JScrollPane.ScrollBar")) {
\r
18 javax.swing.JScrollPane.$JScrollPane$ScrollBar$ ();
\r
20 Clazz.instantialize (this, arguments);
\r
21 }, javax.swing, "JScrollPane", javax.swing.JComponent, javax.swing.ScrollPaneConstants);
\r
22 Clazz.makeConstructor (c$,
\r
23 function (view, vsbPolicy, hsbPolicy) {
\r
24 Clazz.superConstructor (this, javax.swing.JScrollPane, []);
\r
25 this.setLayout ( new javax.swing.ScrollPaneLayout.UIResource ());
\r
26 this.setVerticalScrollBarPolicy (vsbPolicy);
\r
27 this.setHorizontalScrollBarPolicy (hsbPolicy);
\r
28 this.setViewport (this.createViewport ());
\r
29 this.setVerticalScrollBar (this.createVerticalScrollBar ());
\r
30 this.setHorizontalScrollBar (this.createHorizontalScrollBar ());
\r
32 this.setViewportView (view);
\r
33 }this.setUIProperty ("opaque", new Boolean (true));
\r
35 if (!this.getComponentOrientation ().isLeftToRight ()) {
\r
36 this.viewport.setViewPosition ( new java.awt.Point (2147483647, 0));
\r
37 }}, "java.awt.Component,~N,~N");
\r
38 Clazz.makeConstructor (c$,
\r
40 this.construct (view, 20, 30);
\r
41 }, "java.awt.Component");
\r
42 Clazz.makeConstructor (c$,
\r
43 function (vsbPolicy, hsbPolicy) {
\r
44 this.construct (null, vsbPolicy, hsbPolicy);
\r
46 Clazz.makeConstructor (c$,
\r
48 this.construct (null, 20, 30);
\r
50 Clazz.overrideMethod (c$, "getUI",
\r
54 Clazz.overrideMethod (c$, "updateUI",
\r
56 this.setUI (javax.swing.UIManager.getUI (this));
\r
58 Clazz.overrideMethod (c$, "getUIClassID",
\r
60 return "ScrollPaneUI";
\r
62 Clazz.defineMethod (c$, "setLayout",
\r
64 if (Clazz.instanceOf (layout, javax.swing.ScrollPaneLayout)) {
\r
65 Clazz.superCall (this, javax.swing.JScrollPane, "setLayout", [layout]);
\r
66 (layout).syncWithScrollPane (this);
\r
67 } else if (layout == null) {
\r
68 Clazz.superCall (this, javax.swing.JScrollPane, "setLayout", [layout]);
\r
70 var s = "layout of JScrollPane must be a ScrollPaneLayout";
\r
71 throw new ClassCastException (s);
\r
72 }}, "java.awt.LayoutManager");
\r
73 Clazz.overrideMethod (c$, "isValidateRoot",
\r
77 Clazz.defineMethod (c$, "getVerticalScrollBarPolicy",
\r
79 return this.verticalScrollBarPolicy;
\r
81 Clazz.defineMethod (c$, "setVerticalScrollBarPolicy",
\r
89 throw new IllegalArgumentException ("invalid verticalScrollBarPolicy");
\r
91 var old = this.verticalScrollBarPolicy;
\r
92 this.verticalScrollBarPolicy = policy;
\r
93 this.firePropertyChangeInt ("verticalScrollBarPolicy", old, policy);
\r
97 Clazz.defineMethod (c$, "getHorizontalScrollBarPolicy",
\r
99 return this.horizontalScrollBarPolicy;
\r
101 Clazz.defineMethod (c$, "setHorizontalScrollBarPolicy",
\r
102 function (policy) {
\r
109 throw new IllegalArgumentException ("invalid horizontalScrollBarPolicy");
\r
111 var old = this.horizontalScrollBarPolicy;
\r
112 this.horizontalScrollBarPolicy = policy;
\r
113 this.firePropertyChangeInt ("horizontalScrollBarPolicy", old, policy);
\r
114 this.revalidate ();
\r
117 Clazz.defineMethod (c$, "getViewportBorder",
\r
119 return this.viewportBorder;
\r
121 Clazz.defineMethod (c$, "setViewportBorder",
\r
122 function (viewportBorder) {
\r
123 var oldValue = this.viewportBorder;
\r
124 this.viewportBorder = viewportBorder;
\r
125 this.firePropertyChangeObject ("viewportBorder", oldValue, viewportBorder);
\r
126 }, "javax.swing.border.Border");
\r
127 Clazz.defineMethod (c$, "getViewportBorderBounds",
\r
129 var borderR = new java.awt.Rectangle (this.getSize ());
\r
130 var insets = this.getInsets ();
\r
131 borderR.x = insets.left;
\r
132 borderR.y = insets.top;
\r
133 borderR.width -= insets.left + insets.right;
\r
134 borderR.height -= insets.top + insets.bottom;
\r
135 var leftToRight = javax.swing.SwingUtilities.isLeftToRight (this);
\r
136 var colHead = this.getColumnHeader ();
\r
137 if ((colHead != null) && (colHead.isVisible ())) {
\r
138 var colHeadHeight = colHead.getHeight ();
\r
139 borderR.y += colHeadHeight;
\r
140 borderR.height -= colHeadHeight;
\r
141 }var rowHead = this.getRowHeader ();
\r
142 if ((rowHead != null) && (rowHead.isVisible ())) {
\r
143 var rowHeadWidth = rowHead.getWidth ();
\r
145 borderR.x += rowHeadWidth;
\r
146 }borderR.width -= rowHeadWidth;
\r
147 }var vsb = this.getVerticalScrollBar ();
\r
148 if ((vsb != null) && (vsb.isVisible ())) {
\r
149 var vsbWidth = vsb.getWidth ();
\r
150 if (!leftToRight) {
\r
151 borderR.x += vsbWidth;
\r
152 }borderR.width -= vsbWidth;
\r
153 }var hsb = this.getHorizontalScrollBar ();
\r
154 if ((hsb != null) && (hsb.isVisible ())) {
\r
155 borderR.height -= hsb.getHeight ();
\r
158 Clazz.defineMethod (c$, "createHorizontalScrollBar",
\r
160 return Clazz.innerTypeInstance (javax.swing.JScrollPane.ScrollBar, this, null, 0);
\r
162 Clazz.defineMethod (c$, "getHorizontalScrollBar",
\r
164 return this.horizontalScrollBar;
\r
166 Clazz.defineMethod (c$, "setHorizontalScrollBar",
\r
167 function (horizontalScrollBar) {
\r
168 var old = this.getHorizontalScrollBar ();
\r
169 this.horizontalScrollBar = horizontalScrollBar;
\r
170 if (horizontalScrollBar != null) {
\r
171 this.add (horizontalScrollBar, "HORIZONTAL_SCROLLBAR");
\r
172 } else if (old != null) {
\r
174 }this.firePropertyChangeObject ("horizontalScrollBar", old, horizontalScrollBar);
\r
175 this.revalidate ();
\r
177 }, "javax.swing.JScrollBar");
\r
178 Clazz.defineMethod (c$, "createVerticalScrollBar",
\r
180 return Clazz.innerTypeInstance (javax.swing.JScrollPane.ScrollBar, this, null, 1);
\r
182 Clazz.defineMethod (c$, "getVerticalScrollBar",
\r
184 return this.verticalScrollBar;
\r
186 Clazz.defineMethod (c$, "setVerticalScrollBar",
\r
187 function (verticalScrollBar) {
\r
188 var old = this.getVerticalScrollBar ();
\r
189 this.verticalScrollBar = verticalScrollBar;
\r
190 this.add (verticalScrollBar, "VERTICAL_SCROLLBAR");
\r
191 this.firePropertyChangeObject ("verticalScrollBar", old, verticalScrollBar);
\r
192 this.revalidate ();
\r
194 }, "javax.swing.JScrollBar");
\r
195 Clazz.defineMethod (c$, "createViewport",
\r
197 return new javax.swing.JViewport ();
\r
199 Clazz.defineMethod (c$, "getViewport",
\r
201 return this.viewport;
\r
203 Clazz.defineMethod (c$, "setViewport",
\r
204 function (viewport) {
\r
205 var old = this.getViewport ();
\r
206 this.viewport = viewport;
\r
207 if (viewport != null) {
\r
208 this.add (viewport, "VIEWPORT");
\r
209 } else if (old != null) {
\r
211 }this.firePropertyChangeObject ("viewport", old, viewport);
\r
212 this.revalidate ();
\r
214 }, "javax.swing.JViewport");
\r
215 Clazz.defineMethod (c$, "setViewportView",
\r
217 if (this.getViewport () == null) {
\r
218 this.setViewport (this.createViewport ());
\r
219 }this.getViewport ().setView (view);
\r
220 }, "java.awt.Component");
\r
221 Clazz.defineMethod (c$, "getRowHeader",
\r
223 return this.rowHeader;
\r
225 Clazz.defineMethod (c$, "setRowHeader",
\r
226 function (rowHeader) {
\r
227 var old = this.getRowHeader ();
\r
228 this.rowHeader = rowHeader;
\r
229 if (rowHeader != null) {
\r
230 this.add (rowHeader, "ROW_HEADER");
\r
231 } else if (old != null) {
\r
233 }this.firePropertyChangeObject ("rowHeader", old, rowHeader);
\r
234 this.revalidate ();
\r
236 }, "javax.swing.JViewport");
\r
237 Clazz.defineMethod (c$, "setRowHeaderView",
\r
239 if (this.getRowHeader () == null) {
\r
240 this.setRowHeader (this.createViewport ());
\r
241 }this.getRowHeader ().setView (view);
\r
242 }, "java.awt.Component");
\r
243 Clazz.defineMethod (c$, "getColumnHeader",
\r
245 return this.columnHeader;
\r
247 Clazz.defineMethod (c$, "setColumnHeader",
\r
248 function (columnHeader) {
\r
249 var old = this.getColumnHeader ();
\r
250 this.columnHeader = columnHeader;
\r
251 if (columnHeader != null) {
\r
252 this.add (columnHeader, "COLUMN_HEADER");
\r
253 } else if (old != null) {
\r
255 }this.firePropertyChangeObject ("columnHeader", old, columnHeader);
\r
256 this.revalidate ();
\r
258 }, "javax.swing.JViewport");
\r
259 Clazz.defineMethod (c$, "setColumnHeaderView",
\r
261 if (this.getColumnHeader () == null) {
\r
262 this.setColumnHeader (this.createViewport ());
\r
263 }this.getColumnHeader ().setView (view);
\r
264 }, "java.awt.Component");
\r
265 Clazz.defineMethod (c$, "getCorner",
\r
267 var isLeftToRight = this.getComponentOrientation ().isLeftToRight ();
\r
268 if (key.equals ("LOWER_LEADING_CORNER")) {
\r
269 key = isLeftToRight ? "LOWER_LEFT_CORNER" : "LOWER_RIGHT_CORNER";
\r
270 } else if (key.equals ("LOWER_TRAILING_CORNER")) {
\r
271 key = isLeftToRight ? "LOWER_RIGHT_CORNER" : "LOWER_LEFT_CORNER";
\r
272 } else if (key.equals ("UPPER_LEADING_CORNER")) {
\r
273 key = isLeftToRight ? "UPPER_LEFT_CORNER" : "UPPER_RIGHT_CORNER";
\r
274 } else if (key.equals ("UPPER_TRAILING_CORNER")) {
\r
275 key = isLeftToRight ? "UPPER_RIGHT_CORNER" : "UPPER_LEFT_CORNER";
\r
276 }if (key.equals ("LOWER_LEFT_CORNER")) {
\r
277 return this.lowerLeft;
\r
278 } else if (key.equals ("LOWER_RIGHT_CORNER")) {
\r
279 return this.lowerRight;
\r
280 } else if (key.equals ("UPPER_LEFT_CORNER")) {
\r
281 return this.upperLeft;
\r
282 } else if (key.equals ("UPPER_RIGHT_CORNER")) {
\r
283 return this.upperRight;
\r
287 Clazz.defineMethod (c$, "setCorner",
\r
288 function (key, corner) {
\r
290 var isLeftToRight = this.getComponentOrientation ().isLeftToRight ();
\r
291 if (key.equals ("LOWER_LEADING_CORNER")) {
\r
292 key = isLeftToRight ? "LOWER_LEFT_CORNER" : "LOWER_RIGHT_CORNER";
\r
293 } else if (key.equals ("LOWER_TRAILING_CORNER")) {
\r
294 key = isLeftToRight ? "LOWER_RIGHT_CORNER" : "LOWER_LEFT_CORNER";
\r
295 } else if (key.equals ("UPPER_LEADING_CORNER")) {
\r
296 key = isLeftToRight ? "UPPER_LEFT_CORNER" : "UPPER_RIGHT_CORNER";
\r
297 } else if (key.equals ("UPPER_TRAILING_CORNER")) {
\r
298 key = isLeftToRight ? "UPPER_RIGHT_CORNER" : "UPPER_LEFT_CORNER";
\r
299 }if (key.equals ("LOWER_LEFT_CORNER")) {
\r
300 old = this.lowerLeft;
\r
301 this.lowerLeft = corner;
\r
302 } else if (key.equals ("LOWER_RIGHT_CORNER")) {
\r
303 old = this.lowerRight;
\r
304 this.lowerRight = corner;
\r
305 } else if (key.equals ("UPPER_LEFT_CORNER")) {
\r
306 old = this.upperLeft;
\r
307 this.upperLeft = corner;
\r
308 } else if (key.equals ("UPPER_RIGHT_CORNER")) {
\r
309 old = this.upperRight;
\r
310 this.upperRight = corner;
\r
312 throw new IllegalArgumentException ("invalid corner key");
\r
313 }if (old != null) {
\r
315 }if (corner != null) {
\r
316 this.add (corner, key);
\r
317 }this.firePropertyChangeObject (key, old, corner);
\r
318 this.revalidate ();
\r
320 }, "~S,java.awt.Component");
\r
321 Clazz.defineMethod (c$, "setComponentOrientation",
\r
323 Clazz.superCall (this, javax.swing.JScrollPane, "setComponentOrientation", [co]);
\r
324 if (this.verticalScrollBar != null) this.verticalScrollBar.setComponentOrientation (co);
\r
325 if (this.horizontalScrollBar != null) this.horizontalScrollBar.setComponentOrientation (co);
\r
326 }, "java.awt.ComponentOrientation");
\r
327 Clazz.defineMethod (c$, "isWheelScrollingEnabled",
\r
329 return this.wheelScrollState;
\r
331 Clazz.defineMethod (c$, "setWheelScrollingEnabled",
\r
332 function (handleWheel) {
\r
333 var old = this.wheelScrollState;
\r
334 this.wheelScrollState = handleWheel;
\r
335 this.firePropertyChangeBool ("wheelScrollingEnabled", old, handleWheel);
\r
337 Clazz.defineMethod (c$, "paramString",
\r
339 var viewportBorderString = (this.viewportBorder != null ? this.viewportBorder.toString () : "");
\r
340 var viewportString = (this.viewport != null ? this.viewport.toString () : "");
\r
341 var verticalScrollBarPolicyString;
\r
342 if (this.verticalScrollBarPolicy == 20) {
\r
343 verticalScrollBarPolicyString = "VERTICAL_SCROLLBAR_AS_NEEDED";
\r
344 } else if (this.verticalScrollBarPolicy == 21) {
\r
345 verticalScrollBarPolicyString = "VERTICAL_SCROLLBAR_NEVER";
\r
346 } else if (this.verticalScrollBarPolicy == 22) {
\r
347 verticalScrollBarPolicyString = "VERTICAL_SCROLLBAR_ALWAYS";
\r
348 } else verticalScrollBarPolicyString = "";
\r
349 var horizontalScrollBarPolicyString;
\r
350 if (this.horizontalScrollBarPolicy == 30) {
\r
351 horizontalScrollBarPolicyString = "HORIZONTAL_SCROLLBAR_AS_NEEDED";
\r
352 } else if (this.horizontalScrollBarPolicy == 31) {
\r
353 horizontalScrollBarPolicyString = "HORIZONTAL_SCROLLBAR_NEVER";
\r
354 } else if (this.horizontalScrollBarPolicy == 32) {
\r
355 horizontalScrollBarPolicyString = "HORIZONTAL_SCROLLBAR_ALWAYS";
\r
356 } else horizontalScrollBarPolicyString = "";
\r
357 var horizontalScrollBarString = (this.horizontalScrollBar != null ? this.horizontalScrollBar.toString () : "");
\r
358 var verticalScrollBarString = (this.verticalScrollBar != null ? this.verticalScrollBar.toString () : "");
\r
359 var columnHeaderString = (this.columnHeader != null ? this.columnHeader.toString () : "");
\r
360 var rowHeaderString = (this.rowHeader != null ? this.rowHeader.toString () : "");
\r
361 var lowerLeftString = (this.lowerLeft != null ? this.lowerLeft.toString () : "");
\r
362 var lowerRightString = (this.lowerRight != null ? this.lowerRight.toString () : "");
\r
363 var upperLeftString = (this.upperLeft != null ? this.upperLeft.toString () : "");
\r
364 var upperRightString = (this.upperRight != null ? this.upperRight.toString () : "");
\r
365 return Clazz.superCall (this, javax.swing.JScrollPane, "paramString", []) + ",columnHeader=" + columnHeaderString + ",horizontalScrollBar=" + horizontalScrollBarString + ",horizontalScrollBarPolicy=" + horizontalScrollBarPolicyString + ",lowerLeft=" + lowerLeftString + ",lowerRight=" + lowerRightString + ",rowHeader=" + rowHeaderString + ",upperLeft=" + upperLeftString + ",upperRight=" + upperRightString + ",verticalScrollBar=" + verticalScrollBarString + ",verticalScrollBarPolicy=" + verticalScrollBarPolicyString + ",viewport=" + viewportString + ",viewportBorder=" + viewportBorderString;
\r
367 c$.$JScrollPane$ScrollBar$ = function () {
\r
368 Clazz.pu$h(self.c$);
\r
369 c$ = Clazz.decorateAsClass (function () {
\r
370 Clazz.prepareCallback (this, arguments);
\r
371 this.unitIncrementSet = false;
\r
372 this.blockIncrementSet = false;
\r
373 Clazz.instantialize (this, arguments);
\r
374 }, javax.swing.JScrollPane, "ScrollBar", javax.swing.JScrollBar, javax.swing.plaf.UIResource);
\r
375 Clazz.makeConstructor (c$,
\r
377 Clazz.superConstructor (this, javax.swing.JScrollPane.ScrollBar, [a]);
\r
378 this.putClientProperty ("JScrollBar.fastWheelScrolling", Boolean.TRUE);
\r
380 Clazz.defineMethod (c$, "setUnitIncrement",
\r
382 this.unitIncrementSet = true;
\r
383 this.putClientProperty ("JScrollBar.fastWheelScrolling", null);
\r
384 Clazz.superCall (this, javax.swing.JScrollPane.ScrollBar, "setUnitIncrement", [a]);
\r
386 Clazz.defineMethod (c$, "getUnitIncrement",
\r
388 var b = this.b$["javax.swing.JScrollPane"].getViewport ();
\r
389 if (!this.unitIncrementSet && (b != null) && (Clazz.instanceOf (b.getView (), javax.swing.Scrollable))) {
\r
390 var c = (b.getView ());
\r
391 var d = b.getViewRect ();
\r
392 return c.getScrollableUnitIncrement (d, this.getOrientation (), a);
\r
394 return Clazz.superCall (this, javax.swing.JScrollPane.ScrollBar, "getUnitIncrement", [a]);
\r
396 Clazz.defineMethod (c$, "setBlockIncrement",
\r
398 this.blockIncrementSet = true;
\r
399 this.putClientProperty ("JScrollBar.fastWheelScrolling", null);
\r
400 Clazz.superCall (this, javax.swing.JScrollPane.ScrollBar, "setBlockIncrement", [a]);
\r
402 Clazz.defineMethod (c$, "getBlockIncrement",
\r
404 var b = this.b$["javax.swing.JScrollPane"].getViewport ();
\r
405 if (this.blockIncrementSet || b == null) {
\r
406 return Clazz.superCall (this, javax.swing.JScrollPane.ScrollBar, "getBlockIncrement", [a]);
\r
407 } else if (Clazz.instanceOf (b.getView (), javax.swing.Scrollable)) {
\r
408 var c = (b.getView ());
\r
409 var d = b.getViewRect ();
\r
410 return c.getScrollableBlockIncrement (d, this.getOrientation (), a);
\r
411 } else if (this.getOrientation () == 1) {
\r
412 return b.getExtentSize ().height;
\r
414 return b.getExtentSize ().width;
\r
418 Clazz.defineStatics (c$,
\r
419 "$uiClassID", "ScrollPaneUI");
\r