b08b3f59e94473d4b55cb69c5c9dc65c4f73729c
[jalviewjs.git] / site / swingjs / j2s / javax / swing / ViewportLayout.js
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
5 function (name, c) {\r
6 }, "~S,java.awt.Component");\r
7 Clazz.overrideMethod (c$, "removeLayoutComponent", \r
8 function (c) {\r
9 }, "java.awt.Component");\r
10 Clazz.overrideMethod (c$, "preferredLayoutSize", \r
11 function (parent) {\r
12 var view = (parent).getView ();\r
13 if (view == null) {\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
17 } else {\r
18 return view.getPreferredSize ();\r
19 }}, "java.awt.Container");\r
20 Clazz.overrideMethod (c$, "minimumLayoutSize", \r
21 function (parent) {\r
22 return  new java.awt.Dimension (4, 4);\r
23 }, "java.awt.Container");\r
24 Clazz.overrideMethod (c$, "layoutContainer", \r
25 function (parent) {\r
26 var vp = parent;\r
27 var view = vp.getView ();\r
28 var scrollableView = null;\r
29 if (view == null) {\r
30 return;\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
47 }} else {\r
48 if (extentSize.width > viewSize.width) {\r
49 viewPosition.x = viewSize.width - extentSize.width;\r
50 } else {\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
63 });\r