1 Clazz.declarePackage ("javax.swing");
\r
2 Clazz.load (["java.awt.LayoutManager"], "javax.swing.ViewportLayout", ["java.awt.Dimension", "javax.swing.Scrollable"], function () {
\r
3 c$ = Clazz.declareType (javax.swing, "ViewportLayout", null, java.awt.LayoutManager);
\r
4 Clazz.overrideMethod (c$, "addLayoutComponent",
\r
6 }, "~S,java.awt.Component");
\r
7 Clazz.overrideMethod (c$, "removeLayoutComponent",
\r
9 }, "java.awt.Component");
\r
10 Clazz.overrideMethod (c$, "preferredLayoutSize",
\r
12 var view = (parent).getView ();
\r
14 return new java.awt.Dimension (0, 0);
\r
15 } else if (Clazz.instanceOf (view, javax.swing.Scrollable)) {
\r
16 return (view).getPreferredScrollableViewportSize ();
\r
18 return view.getPreferredSize ();
\r
19 }}, "java.awt.Container");
\r
20 Clazz.overrideMethod (c$, "minimumLayoutSize",
\r
22 return new java.awt.Dimension (4, 4);
\r
23 }, "java.awt.Container");
\r
24 Clazz.overrideMethod (c$, "layoutContainer",
\r
27 var view = vp.getView ();
\r
28 var scrollableView = null;
\r
31 } else if (Clazz.instanceOf (view, javax.swing.Scrollable)) {
\r
32 scrollableView = view;
\r
33 }var insets = vp.getInsets ();
\r
34 var viewPrefSize = view.getPreferredSize ();
\r
35 var vpSize = vp.getSize ();
\r
36 var extentSize = vp.toViewCoordinates (vpSize);
\r
37 var viewSize = new java.awt.Dimension (viewPrefSize);
\r
38 if (scrollableView != null) {
\r
39 if (scrollableView.getScrollableTracksViewportWidth ()) {
\r
40 viewSize.width = vpSize.width;
\r
41 }if (scrollableView.getScrollableTracksViewportHeight ()) {
\r
42 viewSize.height = vpSize.height;
\r
43 }}var viewPosition = vp.getViewPosition ();
\r
44 if (scrollableView == null || vp.getParent () == null || vp.getParent ().getComponentOrientation ().isLeftToRight ()) {
\r
45 if ((viewPosition.x + extentSize.width) > viewSize.width) {
\r
46 viewPosition.x = Math.max (0, viewSize.width - extentSize.width);
\r
48 if (extentSize.width > viewSize.width) {
\r
49 viewPosition.x = viewSize.width - extentSize.width;
\r
51 viewPosition.x = Math.max (0, Math.min (viewSize.width - extentSize.width, viewPosition.x));
\r
52 }}if ((viewPosition.y + extentSize.height) > viewSize.height) {
\r
53 viewPosition.y = Math.max (0, viewSize.height - extentSize.height);
\r
54 }if (scrollableView == null) {
\r
55 if ((viewPosition.x == 0) && (vpSize.width > viewPrefSize.width)) {
\r
56 viewSize.width = vpSize.width;
\r
57 }if ((viewPosition.y == 0) && (vpSize.height > viewPrefSize.height)) {
\r
58 viewSize.height = vpSize.height;
\r
59 }}vp.setViewPosition (viewPosition);
\r
60 vp.setViewSize (viewSize);
\r
61 }, "java.awt.Container");
\r
62 c$.SHARED_INSTANCE = c$.prototype.SHARED_INSTANCE = new javax.swing.ViewportLayout ();
\r