From: Marko Grönroos Date: Wed, 7 Jan 2009 18:15:16 +0000 (+0000) Subject: Added some layout examples to Sampler. X-Git-Tag: 6.7.0.beta1~3402 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=cb42c868f091507fad4a0700412483cdcf545bb6;p=vaadin-framework.git Added some layout examples to Sampler. svn changeset:6438/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java index 5271ffba52..b24a23e648 100644 --- a/src/com/itmill/toolkit/demo/sampler/FeatureSet.java +++ b/src/com/itmill/toolkit/demo/sampler/FeatureSet.java @@ -12,6 +12,9 @@ import com.itmill.toolkit.demo.sampler.features.buttons.ButtonPush; import com.itmill.toolkit.demo.sampler.features.buttons.ButtonSwitch; import com.itmill.toolkit.demo.sampler.features.commons.Icons; import com.itmill.toolkit.demo.sampler.features.commons.Tooltips; +import com.itmill.toolkit.demo.sampler.features.layouts.HorizontalLayoutBasic; +import com.itmill.toolkit.demo.sampler.features.layouts.LayoutSpacing; +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; import com.itmill.toolkit.demo.sampler.features.link.LinkSizedWindow; @@ -67,6 +70,7 @@ public class FeatureSet extends Feature { new Links(), // new Notifications(), // new Selects(), // + new Layouts(), // }); } } @@ -124,13 +128,23 @@ public class FeatureSet extends Feature { public static class Selects extends FeatureSet { public Selects() { super("Selects", new Feature[] { - // + // new ListSelectSingle(), // new ListSelectMultiple(), // new TwinColumnSelect(), // new NativeSelection(), // new ComboBoxPlain(), // + }); + } + } + + public static class Layouts extends FeatureSet { + public Layouts() { + super("Layouts", new Feature[] { + new VerticalLayoutBasic(), // + new HorizontalLayoutBasic(), // + new LayoutSpacing(), // }); } } diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasic.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasic.java new file mode 100644 index 0000000000..1a8e7e7f2f --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasic.java @@ -0,0 +1,44 @@ +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.HorizontalLayout; +import com.itmill.toolkit.ui.VerticalLayout; + +public class HorizontalLayoutBasic extends Feature { + + @Override + public String getName() { + return "Horizontal Layout"; + } + + @Override + public String getDescription() { + return "Horizontal and vertical layouts are the foremost " + + "basic layouts of all applications. You can add spacing " + + "between the elements, set the alignment of the components " + + "inside the cells of the layouts, and set one or more " + + "components as expanding so that they fill the available space " + + "according to the specified expand ratio."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { + new APIResource(HorizontalLayout.class) }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { VerticalLayoutBasic.class, LayoutSpacing.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + return new NamedExternalResource[] { + new NamedExternalResource("Reference Manual: HorizontalLayout", + "/doc/manual/layout.components.orderedlayout.html"), + }; + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasic.png b/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasic.png new file mode 100644 index 0000000000..c80c8c173e Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasic.png differ diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasicExample.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasicExample.java new file mode 100644 index 0000000000..24a07187f7 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasicExample.java @@ -0,0 +1,24 @@ +package com.itmill.toolkit.demo.sampler.features.layouts; + +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.CheckBox; +import com.itmill.toolkit.ui.HorizontalLayout; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.VerticalLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class HorizontalLayoutBasicExample extends VerticalLayout { + + public HorizontalLayoutBasicExample() { + // Create a horizontal layout. + final HorizontalLayout horizontal = new HorizontalLayout(); + + // Populate the layout with components. + horizontal.addComponent(new TextField("Name")); + horizontal.addComponent(new TextField("Street address")); + horizontal.addComponent(new TextField("Postal code")); + + // Add the layout to the containing layout. + addComponent(horizontal); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacing.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacing.java new file mode 100644 index 0000000000..ae66479a18 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacing.java @@ -0,0 +1,47 @@ +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.GridLayout; +import com.itmill.toolkit.ui.HorizontalLayout; +import com.itmill.toolkit.ui.VerticalLayout; + +public class LayoutSpacing extends Feature { + + @Override + public String getName() { + return "Layout Spacing"; + } + + @Override + public String getDescription() { + return "Layouts do not have spacing between the cells by default. " + + "The setSpacing() method turns spacing on. You can " + + "customize the amount of spacing in a theme."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { + new APIResource(VerticalLayout.class), + new APIResource(HorizontalLayout.class), + new APIResource(GridLayout.class), + }; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { + HorizontalLayoutBasic.class, + VerticalLayoutBasic.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + return new NamedExternalResource[] { + new NamedExternalResource("Reference Manual: Spacing", + "/doc/manual/layout.settings.spacing.html"), + }; + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacing.png b/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacing.png new file mode 100644 index 0000000000..f96e15a9ca Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacing.png differ diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacingExample.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacingExample.java new file mode 100644 index 0000000000..e69b5d39ca --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacingExample.java @@ -0,0 +1,38 @@ +package com.itmill.toolkit.demo.sampler.features.layouts; + +import com.itmill.toolkit.ui.Button; +import com.itmill.toolkit.ui.CheckBox; +import com.itmill.toolkit.ui.HorizontalLayout; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.VerticalLayout; +import com.itmill.toolkit.ui.Button.ClickEvent; + +public class LayoutSpacingExample extends VerticalLayout { + + public LayoutSpacingExample() { + // Create a horizontal layout. + final HorizontalLayout horizontal = new HorizontalLayout(); + + // Add a style to allow customization of the layout. + horizontal.addStyleName("spacingexample"); + + // Populate the layout with components. + horizontal.addComponent(new Button("Component 1")); + horizontal.addComponent(new Button("Component 2")); + horizontal.addComponent(new Button("Component 3")); + + // Add the layout to the containing layout. + addComponent(horizontal); + + // CheckBox for toggling spacing on and off + final CheckBox spacing = new CheckBox("Click here to enable/disable spacing"); + spacing.addListener(new Button.ClickListener() { + public void buttonClick(ClickEvent event) { + horizontal.setSpacing(((Boolean)spacing.getValue()).booleanValue()); + } + }); + spacing.setImmediate(true); + addComponent(spacing); + setSpacing(true); + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasic.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasic.java new file mode 100644 index 0000000000..51b9b221f5 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasic.java @@ -0,0 +1,50 @@ +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.FeatureSet; +import com.itmill.toolkit.demo.sampler.NamedExternalResource; +import com.itmill.toolkit.demo.sampler.features.blueprints.ProminentPrimaryAction; +import com.itmill.toolkit.demo.sampler.features.buttons.ButtonPush; +import com.itmill.toolkit.demo.sampler.features.buttons.ButtonSwitch; +import com.itmill.toolkit.demo.sampler.features.link.LinkCurrentWindow; +import com.itmill.toolkit.demo.sampler.features.link.LinkNoDecorations; +import com.itmill.toolkit.demo.sampler.features.link.LinkSizedWindow; +import com.itmill.toolkit.ui.VerticalLayout; + +public class VerticalLayoutBasic extends Feature { + + @Override + public String getName() { + return "Vertical Layout"; + } + + @Override + public String getDescription() { + return "Vertical and horizontal layouts are the foremost " + + "basic layout of all applications. You can add spacing " + + "between the elements, set the alignment of the components " + + "inside the cells of the layouts, and set one or more " + + "components as expanding so that they fill the available space " + + "according to the specified expand ratio."; + } + + @Override + public APIResource[] getRelatedAPI() { + return new APIResource[] { + new APIResource(VerticalLayout.class)}; + } + + @Override + public Class[] getRelatedFeatures() { + return new Class[] { HorizontalLayoutBasic.class, LayoutSpacing.class }; + } + + @Override + public NamedExternalResource[] getRelatedResources() { + return new NamedExternalResource[] { + new NamedExternalResource("Reference Manual: VerticalLayout", + "/doc/manual/layout.components.orderedlayout.html"), + }; + } +} diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasic.png b/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasic.png new file mode 100644 index 0000000000..4e92767940 Binary files /dev/null and b/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasic.png differ diff --git a/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasicExample.java b/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasicExample.java new file mode 100644 index 0000000000..85d48455e3 --- /dev/null +++ b/src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasicExample.java @@ -0,0 +1,25 @@ +package com.itmill.toolkit.demo.sampler.features.layouts; + +import java.util.Date; + +import com.itmill.toolkit.ui.CheckBox; +import com.itmill.toolkit.ui.PopupDateField; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.VerticalLayout; + +public class VerticalLayoutBasicExample extends VerticalLayout { + + @SuppressWarnings("deprecation") + public VerticalLayoutBasicExample() { + // Create a vertical layout. + final VerticalLayout vertical = new VerticalLayout(); + + // Populate the layout with components. + vertical.addComponent(new TextField("Name")); + vertical.addComponent(new PopupDateField("Registration date", new Date())); + vertical.addComponent(new CheckBox("Registration confirmed")); + + // Add the layout to the containing layout. + addComponent(vertical); + } +}