]> source.dussan.org Git - vaadin-framework.git/commitdiff
Added some layout examples to Sampler.
authorMarko Grönroos <magi@iki.fi>
Wed, 7 Jan 2009 18:15:16 +0000 (18:15 +0000)
committerMarko Grönroos <magi@iki.fi>
Wed, 7 Jan 2009 18:15:16 +0000 (18:15 +0000)
svn changeset:6438/svn branch:trunk

src/com/itmill/toolkit/demo/sampler/FeatureSet.java
src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasic.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasic.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/HorizontalLayoutBasicExample.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacing.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacing.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/LayoutSpacingExample.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasic.java [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasic.png [new file with mode: 0644]
src/com/itmill/toolkit/demo/sampler/features/layouts/VerticalLayoutBasicExample.java [new file with mode: 0644]

index 5271ffba5239163a4d070ded81822509e458684e..b24a23e6481dc6929460f2fe99b9291037ce11d0 100644 (file)
@@ -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 (file)
index 0000000..1a8e7e7
--- /dev/null
@@ -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 (file)
index 0000000..c80c8c1
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 (file)
index 0000000..24a0718
--- /dev/null
@@ -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 (file)
index 0000000..ae66479
--- /dev/null
@@ -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 (file)
index 0000000..f96e15a
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 (file)
index 0000000..e69b5d3
--- /dev/null
@@ -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 (file)
index 0000000..51b9b22
--- /dev/null
@@ -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 (file)
index 0000000..4e92767
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 (file)
index 0000000..85d4845
--- /dev/null
@@ -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);
+    }
+}