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;
new Links(), //
new Notifications(), //
new Selects(), //
+ new Layouts(), //
});
}
}
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(), //
});
}
}
--- /dev/null
+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"),
+ };
+ }
+}
--- /dev/null
+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);
+ }
+}
--- /dev/null
+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"),
+ };
+ }
+}
--- /dev/null
+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);
+ }
+}
--- /dev/null
+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"),
+ };
+ }
+}
--- /dev/null
+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);
+ }
+}