]> source.dussan.org Git - vaadin-framework.git/commitdiff
Modified expanding component example. Added SplitPanel example.
authorTeppo Kurki <teppo.kurki@itmill.com>
Wed, 21 Jan 2009 13:19:12 +0000 (13:19 +0000)
committerTeppo Kurki <teppo.kurki@itmill.com>
Wed, 21 Jan 2009 13:19:12 +0000 (13:19 +0000)
svn changeset:6610/svn branch:trunk

src/com/itmill/toolkit/demo/sampler/FeatureSet.java
src/com/itmill/toolkit/demo/sampler/features/layouts/ExpandingComponentExample.java
src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java [new file with mode: 0644]

index 97638b28768f7c9cf46a588270734cd72aa49f07..d411e5d93e5b6ccc0d83967ad7b87792123ecbd3 100644 (file)
@@ -26,6 +26,7 @@ import com.itmill.toolkit.demo.sampler.features.layouts.GridLayoutBasic;
 import com.itmill.toolkit.demo.sampler.features.layouts.HorizontalLayoutBasic;
 import com.itmill.toolkit.demo.sampler.features.layouts.LayoutAlignment;
 import com.itmill.toolkit.demo.sampler.features.layouts.LayoutSpacing;
+import com.itmill.toolkit.demo.sampler.features.layouts.SplitPanelBasic;
 import com.itmill.toolkit.demo.sampler.features.layouts.VerticalLayoutBasic;
 import com.itmill.toolkit.demo.sampler.features.link.LinkCurrentWindow;
 import com.itmill.toolkit.demo.sampler.features.link.LinkNoDecorations;
@@ -212,6 +213,7 @@ public class FeatureSet extends Feature {
                     new LayoutSpacing(), //
                     new LayoutAlignment(), //
                     new ExpandingComponent(), //
+                    new SplitPanelBasic(), //
             });
         }
     }
index db58c4b4793bc47f956878c8016c16740d467d84..f4e5922e0021dd02a07bf69249dc39c9cd133606 100644 (file)
@@ -33,7 +33,6 @@ public class ExpandingComponentExample extends VerticalLayout {
         if (nativeWindowURL == null) {\r
             getApplication().addWindow(createWindow());\r
         }\r
-        System.err.println(nativeWindowURL);\r
         getApplication().getMainWindow().open(\r
                 new ExternalResource(nativeWindowURL), "_blank");\r
     }\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.java
new file mode 100644 (file)
index 0000000..bf2afda
--- /dev/null
@@ -0,0 +1,39 @@
+package com.itmill.toolkit.demo.sampler.features.layouts;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.SplitPanel;\r
+\r
+public class SplitPanelBasic extends Feature {\r
+\r
+    @Override\r
+    public String getName() {\r
+        return "SplitPanel";\r
+    }\r
+\r
+    @Override\r
+    public String getDescription() {\r
+        return "SplitPanel is a component container that can contain two components."\r
+                + " The split orientation can be either horizontal or vertical. Various"\r
+                + " settings regarding eg. region sizes and resizeability can be set."\r
+                + "<br>Click the button for a demo in a new window.";\r
+    }\r
+\r
+    @Override\r
+    public APIResource[] getRelatedAPI() {\r
+        return new APIResource[] { new APIResource(SplitPanel.class),\r
+\r
+        };\r
+    }\r
+\r
+    @Override\r
+    public Class[] getRelatedFeatures() {\r
+        return new Class[] {};\r
+    }\r
+\r
+    @Override\r
+    public NamedExternalResource[] getRelatedResources() {\r
+        return null;\r
+    }\r
+}\r
diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.png b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.png
new file mode 100644 (file)
index 0000000..0e0cfc4
Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.png differ
diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java
new file mode 100644 (file)
index 0000000..4712fda
--- /dev/null
@@ -0,0 +1,115 @@
+package com.itmill.toolkit.demo.sampler.features.layouts;\r
+\r
+import java.net.URL;\r
+\r
+import com.itmill.toolkit.demo.sampler.ExampleUtil;\r
+import com.itmill.toolkit.terminal.ExternalResource;\r
+import com.itmill.toolkit.ui.AbstractSelect;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.SplitPanel;\r
+import com.itmill.toolkit.ui.TabSheet;\r
+import com.itmill.toolkit.ui.Tree;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Window;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+\r
+public class SplitPanelBasicExample extends VerticalLayout {\r
+\r
+    private URL nativeWindowURL = null;\r
+    private Button b1;\r
+\r
+    public SplitPanelBasicExample() {\r
+        setSpacing(true);\r
+\r
+        b1 = new Button("Open a new window with a SplitPanel", this,\r
+                "openButtonClick");\r
+        addComponent(b1);\r
+\r
+    }\r
+\r
+    public void openButtonClick(ClickEvent event) {\r
+        if (nativeWindowURL == null) {\r
+            getApplication().addWindow(createWindow());\r
+        }\r
+        getApplication().getMainWindow().open(\r
+                new ExternalResource(nativeWindowURL), "_blank");\r
+    }\r
+\r
+    /*\r
+     * Create new window which contains the layout obtained from\r
+     * createDemoLayout()\r
+     */\r
+    private Window createWindow() {\r
+        // Create a new window for the SplitPanel\r
+        final Window w = new Window("SplitPanel Demo");\r
+        getApplication().addWindow(w);\r
+        w.setLayout(createDemoLayout());\r
+        nativeWindowURL = w.getURL();\r
+        return w;\r
+    }\r
+\r
+    /*\r
+     * Creates the actual Layout with two SplitPanels and some content\r
+     */\r
+    private SplitPanel createDemoLayout() {\r
+        // Create a new SplitPanel\r
+        SplitPanel demoSP = new SplitPanel();\r
+        // Set orientation\r
+        demoSP.setOrientation(SplitPanel.ORIENTATION_HORIZONTAL);\r
+        // Set split position (from left edge) in pixels\r
+        demoSP.setSplitPosition(200, UNITS_PIXELS);\r
+\r
+        // Create an example tree component, set to full size\r
+        Tree t = new Tree("Hardware Inventory", ExampleUtil\r
+                .getHardwareContainer());\r
+        t.setItemCaptionPropertyId(ExampleUtil.hw_PROPERTY_NAME);\r
+        t.setItemCaptionMode(AbstractSelect.ITEM_CAPTION_MODE_PROPERTY);\r
+        t.setSizeFull();\r
+\r
+        // Add the Tree component to the SplitPanel\r
+        demoSP.addComponent(t);\r
+\r
+        // Create a second SplitPanel\r
+        SplitPanel subSP = new SplitPanel();\r
+        // Set orientation\r
+        subSP.setOrientation(SplitPanel.ORIENTATION_VERTICAL);\r
+        // Set split position in percentage\r
+        subSP.setSplitPosition(80);\r
+        // Set the split locked (= not resizeable)\r
+        subSP.setLocked(true);\r
+\r
+        // Create an example tabsheet component with some content\r
+        final TabSheet ts = new TabSheet();\r
+        final Label l1 = new Label(\r
+                "This window shows an example of a SplitPanel component."\r
+                        + " A second SplitPanel is inserted into the first one"\r
+                        + " to allow a split into three regions.");\r
+        final Label l2 = new Label(\r
+                "Try resizing the window (horizontally) and you will"\r
+                        + " notice that the leftmost region does not resize because"\r
+                        + " the split position is set in pixels."\r
+                        + " If you resize the window vertically you will see"\r
+                        + " how the split position ratio works.");\r
+        final Label l3 = new Label(\r
+                "You may resize the left and right regions by dragging the"\r
+                        + " vertical split handle left or right. Resizing the"\r
+                        + " upper and lower regions has been disabled.");\r
+        ts.addTab(l1);\r
+        ts.setTabCaption(l1, "SplitPanel demo");\r
+        ts.addTab(l2);\r
+        ts.setTabCaption(l2, "Resizing");\r
+        ts.addTab(l3);\r
+        ts.setTabCaption(l3, "Resizing the regions");\r
+        ts.setSizeFull();\r
+\r
+        // Add the components to the sub-SplitPanel\r
+        subSP.addComponent(ts);\r
+        subSP.addComponent(new Label("Comment area"));\r
+\r
+        // Add sub-SplitPanel to main SplitPanel\r
+        demoSP.addComponent(subSP);\r
+\r
+        return demoSP;\r
+    }\r
+}
\ No newline at end of file