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