Improve tabbed area and scrolled page.
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / widgets / ScrolledPage.java
index 5dd00adf21b23cba56c09ed3718f572f3a7bc435..7e38a2b093bdfe85acb9ced27277cc332b0be116 100644 (file)
@@ -18,7 +18,11 @@ public class ScrolledPage extends Composite {
        private ScrolledComposite scrolledComposite;
 
        public ScrolledPage(Composite parent, int style) {
-               super(new ScrolledComposite(parent, SWT.V_SCROLL), style);
+               this(parent, style, false);
+       }
+
+       public ScrolledPage(Composite parent, int style, boolean alwaysShowScroll) {
+               super(createScrolledComposite(parent, alwaysShowScroll), style);
                scrolledComposite = (ScrolledComposite) getParent();
                scrolledComposite.setContent(this);
 
@@ -27,6 +31,12 @@ public class ScrolledPage extends Composite {
                scrolledComposite.addControlListener(new ScrollControlListener());
        }
 
+       private static ScrolledComposite createScrolledComposite(Composite parent, boolean alwaysShowScroll) {
+               ScrolledComposite scrolledComposite = new ScrolledComposite(parent, SWT.V_SCROLL);
+               scrolledComposite.setAlwaysShowScrollBars(alwaysShowScroll);
+               return scrolledComposite;
+       }
+
        @Override
        public void layout(boolean changed, boolean all) {
                updateScroll();
@@ -49,8 +59,7 @@ public class ScrolledPage extends Composite {
                scrolledComposite.setLayoutData(layoutData);
        }
 
-       private class ScrollControlListener extends
-                       org.eclipse.swt.events.ControlAdapter {
+       private class ScrollControlListener extends org.eclipse.swt.events.ControlAdapter {
                private static final long serialVersionUID = -3586986238567483316L;
 
                public void controlResized(ControlEvent e) {