aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeppo Kurki <teppo.kurki@itmill.com>2009-01-21 13:19:12 +0000
committerTeppo Kurki <teppo.kurki@itmill.com>2009-01-21 13:19:12 +0000
commit9aa50d98209fefd3d24cfcaf285d5d4efcad9a24 (patch)
tree896a2c5b8b41fd5d22c8ac6b46eb2bfa5f28dec1
parent122449a2e6415db6f10f9c65817c6fdc6e7c9c6e (diff)
downloadvaadin-framework-9aa50d98209fefd3d24cfcaf285d5d4efcad9a24.tar.gz
vaadin-framework-9aa50d98209fefd3d24cfcaf285d5d4efcad9a24.zip
Modified expanding component example. Added SplitPanel example.
svn changeset:6610/svn branch:trunk
-rw-r--r--src/com/itmill/toolkit/demo/sampler/FeatureSet.java2
-rw-r--r--src/com/itmill/toolkit/demo/sampler/features/layouts/ExpandingComponentExample.java1
-rw-r--r--src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.java39
-rw-r--r--src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.pngbin0 -> 4380 bytes
-rw-r--r--src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasicExample.java115
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
new file mode 100644
index 0000000000..0e0cfc43bd
--- /dev/null
+++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/SplitPanelBasic.png
Binary files 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
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