diff options
author | Teppo Kurki <teppo.kurki@itmill.com> | 2009-01-21 13:19:12 +0000 |
---|---|---|
committer | Teppo Kurki <teppo.kurki@itmill.com> | 2009-01-21 13:19:12 +0000 |
commit | 9aa50d98209fefd3d24cfcaf285d5d4efcad9a24 (patch) | |
tree | 896a2c5b8b41fd5d22c8ac6b46eb2bfa5f28dec1 | |
parent | 122449a2e6415db6f10f9c65817c6fdc6e7c9c6e (diff) | |
download | vaadin-framework-9aa50d98209fefd3d24cfcaf285d5d4efcad9a24.tar.gz vaadin-framework-9aa50d98209fefd3d24cfcaf285d5d4efcad9a24.zip |
Modified expanding component example. Added SplitPanel example.
svn changeset:6610/svn branch:trunk
5 files changed, 156 insertions, 1 deletions
diff --git a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java index 97638b2876..d411e5d93e 100644 --- a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java +++ b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java @@ -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(), // }); } } diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/ExpandingComponentExample.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/ExpandingComponentExample.java index db58c4b479..f4e5922e00 100644 --- a/src/com/itmill/toolkit/demo/sampler/features/layouts/ExpandingComponentExample.java +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/ExpandingComponentExample.java @@ -33,7 +33,6 @@ public class ExpandingComponentExample extends VerticalLayout { if (nativeWindowURL == null) {
getApplication().addWindow(createWindow());
}
- System.err.println(nativeWindowURL);
getApplication().getMainWindow().open(
new ExternalResource(nativeWindowURL), "_blank");
}
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 index 0000000000..bf2afda6bb --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.java @@ -0,0 +1,39 @@ +package com.itmill.toolkit.demo.sampler.features.layouts;
+
+import com.itmill.toolkit.demo.sampler.APIResource;
+import com.itmill.toolkit.demo.sampler.Feature;
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;
+import com.itmill.toolkit.ui.SplitPanel;
+
+public class SplitPanelBasic extends Feature {
+
+ @Override
+ public String getName() {
+ return "SplitPanel";
+ }
+
+ @Override
+ public String getDescription() {
+ return "SplitPanel is a component container that can contain two components."
+ + " The split orientation can be either horizontal or vertical. Various"
+ + " settings regarding eg. region sizes and resizeability can be set."
+ + "<br>Click the button for a demo in a new window.";
+ }
+
+ @Override
+ public APIResource[] getRelatedAPI() {
+ return new APIResource[] { new APIResource(SplitPanel.class),
+
+ };
+ }
+
+ @Override
+ public Class[] getRelatedFeatures() {
+ return new Class[] {};
+ }
+
+ @Override
+ public NamedExternalResource[] getRelatedResources() {
+ return null;
+ }
+}
diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.png b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.png Binary files differnew file mode 100644 index 0000000000..0e0cfc43bd --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.png 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 index 0000000000..4712fda82a --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java @@ -0,0 +1,115 @@ +package com.itmill.toolkit.demo.sampler.features.layouts;
+
+import java.net.URL;
+
+import com.itmill.toolkit.demo.sampler.ExampleUtil;
+import com.itmill.toolkit.terminal.ExternalResource;
+import com.itmill.toolkit.ui.AbstractSelect;
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.SplitPanel;
+import com.itmill.toolkit.ui.TabSheet;
+import com.itmill.toolkit.ui.Tree;
+import com.itmill.toolkit.ui.VerticalLayout;
+import com.itmill.toolkit.ui.Window;
+import com.itmill.toolkit.ui.Button.ClickEvent;
+
+public class SplitPanelBasicExample extends VerticalLayout {
+
+ private URL nativeWindowURL = null;
+ private Button b1;
+
+ public SplitPanelBasicExample() {
+ setSpacing(true);
+
+ b1 = new Button("Open a new window with a SplitPanel", this,
+ "openButtonClick");
+ addComponent(b1);
+
+ }
+
+ public void openButtonClick(ClickEvent event) {
+ if (nativeWindowURL == null) {
+ getApplication().addWindow(createWindow());
+ }
+ getApplication().getMainWindow().open(
+ new ExternalResource(nativeWindowURL), "_blank");
+ }
+
+ /*
+ * Create new window which contains the layout obtained from
+ * createDemoLayout()
+ */
+ private Window createWindow() {
+ // Create a new window for the SplitPanel
+ final Window w = new Window("SplitPanel Demo");
+ getApplication().addWindow(w);
+ w.setLayout(createDemoLayout());
+ nativeWindowURL = w.getURL();
+ return w;
+ }
+
+ /*
+ * Creates the actual Layout with two SplitPanels and some content
+ */
+ private SplitPanel createDemoLayout() {
+ // Create a new SplitPanel
+ SplitPanel demoSP = new SplitPanel();
+ // Set orientation
+ demoSP.setOrientation(SplitPanel.ORIENTATION_HORIZONTAL);
+ // Set split position (from left edge) in pixels
+ demoSP.setSplitPosition(200, UNITS_PIXELS);
+
+ // Create an example tree component, set to full size
+ Tree t = new Tree("Hardware Inventory", ExampleUtil
+ .getHardwareContainer());
+ t.setItemCaptionPropertyId(ExampleUtil.hw_PROPERTY_NAME);
+ t.setItemCaptionMode(AbstractSelect.ITEM_CAPTION_MODE_PROPERTY);
+ t.setSizeFull();
+
+ // Add the Tree component to the SplitPanel
+ demoSP.addComponent(t);
+
+ // Create a second SplitPanel
+ SplitPanel subSP = new SplitPanel();
+ // Set orientation
+ subSP.setOrientation(SplitPanel.ORIENTATION_VERTICAL);
+ // Set split position in percentage
+ subSP.setSplitPosition(80);
+ // Set the split locked (= not resizeable)
+ subSP.setLocked(true);
+
+ // Create an example tabsheet component with some content
+ final TabSheet ts = new TabSheet();
+ final Label l1 = new Label(
+ "This window shows an example of a SplitPanel component."
+ + " A second SplitPanel is inserted into the first one"
+ + " to allow a split into three regions.");
+ final Label l2 = new Label(
+ "Try resizing the window (horizontally) and you will"
+ + " notice that the leftmost region does not resize because"
+ + " the split position is set in pixels."
+ + " If you resize the window vertically you will see"
+ + " how the split position ratio works.");
+ final Label l3 = new Label(
+ "You may resize the left and right regions by dragging the"
+ + " vertical split handle left or right. Resizing the"
+ + " upper and lower regions has been disabled.");
+ ts.addTab(l1);
+ ts.setTabCaption(l1, "SplitPanel demo");
+ ts.addTab(l2);
+ ts.setTabCaption(l2, "Resizing");
+ ts.addTab(l3);
+ ts.setTabCaption(l3, "Resizing the regions");
+ ts.setSizeFull();
+
+ // Add the components to the sub-SplitPanel
+ subSP.addComponent(ts);
+ subSP.addComponent(new Label("Comment area"));
+
+ // Add sub-SplitPanel to main SplitPanel
+ demoSP.addComponent(subSP);
+
+ return demoSP;
+ }
+}
\ No newline at end of file |