372dab8c6f4421eec14212c61fcf2a76ae04090e
[jalviewjs.git] / site / swingjs / j2s / javax / swing / JScrollPane.js
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
19 }\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
31 if (view != null) {\r
32 this.setViewportView (view);\r
33 }this.setUIProperty ("opaque", new Boolean (true));\r
34 this.updateUI ();\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
39 function (view) {\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
45 }, "~N,~N");\r
46 Clazz.makeConstructor (c$, \r
47 function () {\r
48 this.construct (null, 20, 30);\r
49 });\r
50 Clazz.overrideMethod (c$, "getUI", \r
51 function () {\r
52 return this.ui;\r
53 });\r
54 Clazz.overrideMethod (c$, "updateUI", \r
55 function () {\r
56 this.setUI (javax.swing.UIManager.getUI (this));\r
57 });\r
58 Clazz.overrideMethod (c$, "getUIClassID", \r
59 function () {\r
60 return "ScrollPaneUI";\r
61 });\r
62 Clazz.defineMethod (c$, "setLayout", \r
63 function (layout) {\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
69 } else {\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
74 function () {\r
75 return true;\r
76 });\r
77 Clazz.defineMethod (c$, "getVerticalScrollBarPolicy", \r
78 function () {\r
79 return this.verticalScrollBarPolicy;\r
80 });\r
81 Clazz.defineMethod (c$, "setVerticalScrollBarPolicy", \r
82 function (policy) {\r
83 switch (policy) {\r
84 case 20:\r
85 case 21:\r
86 case 22:\r
87 break;\r
88 default:\r
89 throw  new IllegalArgumentException ("invalid verticalScrollBarPolicy");\r
90 }\r
91 var old = this.verticalScrollBarPolicy;\r
92 this.verticalScrollBarPolicy = policy;\r
93 this.firePropertyChangeInt ("verticalScrollBarPolicy", old, policy);\r
94 this.revalidate ();\r
95 this.repaint ();\r
96 }, "~N");\r
97 Clazz.defineMethod (c$, "getHorizontalScrollBarPolicy", \r
98 function () {\r
99 return this.horizontalScrollBarPolicy;\r
100 });\r
101 Clazz.defineMethod (c$, "setHorizontalScrollBarPolicy", \r
102 function (policy) {\r
103 switch (policy) {\r
104 case 30:\r
105 case 31:\r
106 case 32:\r
107 break;\r
108 default:\r
109 throw  new IllegalArgumentException ("invalid horizontalScrollBarPolicy");\r
110 }\r
111 var old = this.horizontalScrollBarPolicy;\r
112 this.horizontalScrollBarPolicy = policy;\r
113 this.firePropertyChangeInt ("horizontalScrollBarPolicy", old, policy);\r
114 this.revalidate ();\r
115 this.repaint ();\r
116 }, "~N");\r
117 Clazz.defineMethod (c$, "getViewportBorder", \r
118 function () {\r
119 return this.viewportBorder;\r
120 });\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
128 function () {\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
144 if (leftToRight) {\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
156 }return borderR;\r
157 });\r
158 Clazz.defineMethod (c$, "createHorizontalScrollBar", \r
159 function () {\r
160 return Clazz.innerTypeInstance (javax.swing.JScrollPane.ScrollBar, this, null, 0);\r
161 });\r
162 Clazz.defineMethod (c$, "getHorizontalScrollBar", \r
163 function () {\r
164 return this.horizontalScrollBar;\r
165 });\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
173 this.remove (old);\r
174 }this.firePropertyChangeObject ("horizontalScrollBar", old, horizontalScrollBar);\r
175 this.revalidate ();\r
176 this.repaint ();\r
177 }, "javax.swing.JScrollBar");\r
178 Clazz.defineMethod (c$, "createVerticalScrollBar", \r
179 function () {\r
180 return Clazz.innerTypeInstance (javax.swing.JScrollPane.ScrollBar, this, null, 1);\r
181 });\r
182 Clazz.defineMethod (c$, "getVerticalScrollBar", \r
183 function () {\r
184 return this.verticalScrollBar;\r
185 });\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
193 this.repaint ();\r
194 }, "javax.swing.JScrollBar");\r
195 Clazz.defineMethod (c$, "createViewport", \r
196 function () {\r
197 return  new javax.swing.JViewport ();\r
198 });\r
199 Clazz.defineMethod (c$, "getViewport", \r
200 function () {\r
201 return this.viewport;\r
202 });\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
210 this.remove (old);\r
211 }this.firePropertyChangeObject ("viewport", old, viewport);\r
212 this.revalidate ();\r
213 this.repaint ();\r
214 }, "javax.swing.JViewport");\r
215 Clazz.defineMethod (c$, "setViewportView", \r
216 function (view) {\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
222 function () {\r
223 return this.rowHeader;\r
224 });\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
232 this.remove (old);\r
233 }this.firePropertyChangeObject ("rowHeader", old, rowHeader);\r
234 this.revalidate ();\r
235 this.repaint ();\r
236 }, "javax.swing.JViewport");\r
237 Clazz.defineMethod (c$, "setRowHeaderView", \r
238 function (view) {\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
244 function () {\r
245 return this.columnHeader;\r
246 });\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
254 this.remove (old);\r
255 }this.firePropertyChangeObject ("columnHeader", old, columnHeader);\r
256 this.revalidate ();\r
257 this.repaint ();\r
258 }, "javax.swing.JViewport");\r
259 Clazz.defineMethod (c$, "setColumnHeaderView", \r
260 function (view) {\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
266 function (key) {\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
284 } else {\r
285 return null;\r
286 }}, "~S");\r
287 Clazz.defineMethod (c$, "setCorner", \r
288 function (key, corner) {\r
289 var old;\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
311 } else {\r
312 throw  new IllegalArgumentException ("invalid corner key");\r
313 }if (old != null) {\r
314 this.remove (old);\r
315 }if (corner != null) {\r
316 this.add (corner, key);\r
317 }this.firePropertyChangeObject (key, old, corner);\r
318 this.revalidate ();\r
319 this.repaint ();\r
320 }, "~S,java.awt.Component");\r
321 Clazz.defineMethod (c$, "setComponentOrientation", \r
322 function (co) {\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
328 function () {\r
329 return this.wheelScrollState;\r
330 });\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
336 }, "~B");\r
337 Clazz.defineMethod (c$, "paramString", \r
338 function () {\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
366 });\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
376 function (a) {\r
377 Clazz.superConstructor (this, javax.swing.JScrollPane.ScrollBar, [a]);\r
378 this.putClientProperty ("JScrollBar.fastWheelScrolling", Boolean.TRUE);\r
379 }, "~N");\r
380 Clazz.defineMethod (c$, "setUnitIncrement", \r
381 function (a) {\r
382 this.unitIncrementSet = true;\r
383 this.putClientProperty ("JScrollBar.fastWheelScrolling", null);\r
384 Clazz.superCall (this, javax.swing.JScrollPane.ScrollBar, "setUnitIncrement", [a]);\r
385 }, "~N");\r
386 Clazz.defineMethod (c$, "getUnitIncrement", \r
387 function (a) {\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
393 } else {\r
394 return Clazz.superCall (this, javax.swing.JScrollPane.ScrollBar, "getUnitIncrement", [a]);\r
395 }}, "~N");\r
396 Clazz.defineMethod (c$, "setBlockIncrement", \r
397 function (a) {\r
398 this.blockIncrementSet = true;\r
399 this.putClientProperty ("JScrollBar.fastWheelScrolling", null);\r
400 Clazz.superCall (this, javax.swing.JScrollPane.ScrollBar, "setBlockIncrement", [a]);\r
401 }, "~N");\r
402 Clazz.defineMethod (c$, "getBlockIncrement", \r
403 function (a) {\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
413 } else {\r
414 return b.getExtentSize ().width;\r
415 }}, "~N");\r
416 c$ = Clazz.p0p ();\r
417 };\r
418 Clazz.defineStatics (c$,\r
419 "$uiClassID", "ScrollPaneUI");\r
420 });\r