import com.itmill.toolkit.data.Item;
import com.itmill.toolkit.data.Property;
import com.itmill.toolkit.data.util.HierarchicalContainer;
+import com.itmill.toolkit.demo.sampler.features.accordions.AccordionDisabled;
+import com.itmill.toolkit.demo.sampler.features.accordions.AccordionIcons;
import com.itmill.toolkit.demo.sampler.features.blueprints.ProminentPrimaryAction;
import com.itmill.toolkit.demo.sampler.features.buttons.ButtonLink;
import com.itmill.toolkit.demo.sampler.features.buttons.ButtonPush;
import com.itmill.toolkit.demo.sampler.features.notifications.NotificationHumanized;
import com.itmill.toolkit.demo.sampler.features.notifications.NotificationTray;
import com.itmill.toolkit.demo.sampler.features.notifications.NotificationWarning;
+import com.itmill.toolkit.demo.sampler.features.panels.PanelBasic;
+import com.itmill.toolkit.demo.sampler.features.panels.PanelLight;
import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxContains;
import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxNewItems;
import com.itmill.toolkit.demo.sampler.features.selects.ComboBoxPlain;
import com.itmill.toolkit.demo.sampler.features.selects.ListSelectSingle;
import com.itmill.toolkit.demo.sampler.features.selects.NativeSelection;
import com.itmill.toolkit.demo.sampler.features.selects.TwinColumnSelect;
+import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetDisabled;
+import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetIcons;
+import com.itmill.toolkit.demo.sampler.features.tabsheets.TabSheetScrolling;
/**
* Contains the FeatureSet implementation and the structure for the feature
new Notifications(), //
new Selects(), //
new Layouts(), //
+ new Tabsheets(), //
+ new Accordions(), //
+ new Panels(), //
});
}
}
public static class Selects extends FeatureSet {
public Selects() {
super("Selects", new Feature[] {
- //
+ //
new ListSelectSingle(), //
new ListSelectMultiple(), //
new TwinColumnSelect(), //
new ComboBoxContains(), //
new ComboBoxNewItems(), //
- });
- }
+ });
+ }
}
public static class Layouts extends FeatureSet {
public Layouts() {
super("Layouts", new Feature[] {
+ //
new VerticalLayoutBasic(), //
new HorizontalLayoutBasic(), //
new LayoutSpacing(), //
}
}
+ public static class Tabsheets extends FeatureSet {
+ public Tabsheets() {
+ super("Tabsheets", new Feature[] {
+ //
+ new TabSheetIcons(), //
+ new TabSheetScrolling(), //
+ new TabSheetDisabled(), //
+ });
+ }
+ }
+
+ public static class Accordions extends FeatureSet {
+ public Accordions() {
+ super("Accordions", new Feature[] {
+ //
+ new AccordionIcons(), //
+ new AccordionDisabled(), //
+ });
+ }
+ }
+
+ public static class Panels extends FeatureSet {
+ public Panels() {
+ super("Panels", new Feature[] {
+ //
+ new PanelBasic(), //
+ new PanelLight(), //
+ });
+ }
+ }
+
// ----------------------------------------------------------
/*
* FeatureSet implementation follows.
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.accordions;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Accordion;\r
+\r
+public class AccordionDisabled extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "With an accordion component you can disable, enable,"\r
+ + " hide and show tabs, similary to a tabsheet.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Accordion.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { AccordionIcons.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.accordions;\r
+\r
+import com.itmill.toolkit.terminal.ThemeResource;\r
+import com.itmill.toolkit.ui.Accordion;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.HorizontalLayout;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.TabSheet.SelectedTabChangeEvent;\r
+\r
+public class AccordionDisabledExample extends VerticalLayout implements\r
+ Accordion.SelectedTabChangeListener, Button.ClickListener {\r
+\r
+ private Accordion a;\r
+ private Button b1;\r
+ private Button b2;\r
+ private Label l1;\r
+ private Label l2;\r
+ private Label l3;\r
+\r
+ public AccordionDisabledExample() {\r
+ setSpacing(true);\r
+\r
+ l1 = new Label("There are no previously saved actions.");\r
+ l2 = new Label("There are no saved notes.");\r
+ l3 = new Label("There are currently no issues.");\r
+\r
+ ThemeResource i1 = new ThemeResource("icons/action_save.gif");\r
+ ThemeResource i2 = new ThemeResource("icons/comment_yellow.gif");\r
+ ThemeResource i3 = new ThemeResource("icons/icon_info.gif");\r
+\r
+ a = new Accordion();\r
+ a.setHeight(400, UNITS_PIXELS);\r
+ a.setWidth(400, UNITS_PIXELS);\r
+ a.addTab(l1, "Saved actions", i1);\r
+ a.addTab(l2, "Notes", i2);\r
+ a.addTab(l3, "Issues", i3);\r
+ a.addListener(this);\r
+\r
+ b1 = new Button("Disable 'Notes' tab");\r
+ b2 = new Button("Hide 'Issues' tab");\r
+ b1.addListener(this);\r
+ b2.addListener(this);\r
+\r
+ HorizontalLayout hl = new HorizontalLayout();\r
+ hl.setSpacing(true);\r
+ hl.addComponent(b1);\r
+ hl.addComponent(b2);\r
+\r
+ addComponent(a);\r
+ addComponent(hl);\r
+ }\r
+\r
+ public void selectedTabChange(SelectedTabChangeEvent event) {\r
+ String c = a.getTabCaption(event.getTabSheet().getSelectedTab());\r
+ getWindow().showNotification("Selected tab: " + c);\r
+ }\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ if (b1.equals(event.getButton())) { // b1 clicked\r
+ if (l2.isEnabled()) {\r
+ l2.setEnabled(false);\r
+ b1.setCaption("Enable 'Notes' tab");\r
+ } else {\r
+ l2.setEnabled(true);\r
+ b1.setCaption("Disable 'Notes' tab");\r
+ }\r
+ } else { // b2 clicked\r
+ if (l3.isVisible()) {\r
+ l3.setVisible(false);\r
+ b2.setCaption("Show 'Issues' tab");\r
+ } else {\r
+ l3.setVisible(true);\r
+ b2.setCaption("Hide 'Issues' tab");\r
+ }\r
+ }\r
+ a.requestRepaint();\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.accordions;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Accordion;\r
+\r
+public class AccordionIcons extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "An accordion component is a specialized case of a"\r
+ + " tabsheet. Within an accordion, the tabs are organized"\r
+ + " vertically, and the content will be shown directly"\r
+ + " below the tab.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Accordion.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { AccordionDisabled.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.accordions;\r
+\r
+import com.itmill.toolkit.terminal.ThemeResource;\r
+import com.itmill.toolkit.ui.Accordion;\r
+import com.itmill.toolkit.ui.HorizontalLayout;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.TabSheet.SelectedTabChangeEvent;\r
+\r
+public class AccordionIconsExample extends HorizontalLayout implements\r
+ Accordion.SelectedTabChangeListener {\r
+\r
+ private Accordion a;\r
+\r
+ public AccordionIconsExample() {\r
+ setSpacing(true);\r
+\r
+ Label l1 = new Label("There are no previously saved actions.");\r
+ Label l2 = new Label("There are no saved notes.");\r
+ Label l3 = new Label("There are currently no issues.");\r
+\r
+ ThemeResource i1 = new ThemeResource("icons/action_save.gif");\r
+ ThemeResource i2 = new ThemeResource("icons/comment_yellow.gif");\r
+ ThemeResource i3 = new ThemeResource("icons/icon_info.gif");\r
+\r
+ a = new Accordion();\r
+ a.setHeight(400, UNITS_PIXELS);\r
+ a.setWidth(400, UNITS_PIXELS);\r
+ a.addTab(l1, "Saved actions", i1);\r
+ a.addTab(l2, "Notes", i2);\r
+ a.addTab(l3, "Issues", i3);\r
+ a.addListener(this);\r
+\r
+ addComponent(a);\r
+ }\r
+\r
+ public void selectedTabChange(SelectedTabChangeEvent event) {\r
+ String c = a.getTabCaption(event.getTabSheet().getSelectedTab());\r
+ getWindow().showNotification("Selected tab: " + c);\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.panels;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Panel;\r
+\r
+public class PanelBasic extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "Panel is a simple container for one component."\r
+ + " A caption can optionally be added."\r
+ + "<br>A panel typically contains a layout component"\r
+ + " where the other components can be added.";\r
+\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Panel.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { PanelLight.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.panels;\r
+\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.Panel;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.Button.ClickListener;\r
+\r
+public class PanelBasicExample extends VerticalLayout implements ClickListener {\r
+\r
+ private Panel p1;\r
+ private Panel p2;\r
+\r
+ public PanelBasicExample() {\r
+ setSpacing(true);\r
+\r
+ // First panel uses layout in which the components are added\r
+ VerticalLayout vl = new VerticalLayout();\r
+ Label l = new Label("Push the button to toggle caption.");\r
+ Button b = new Button("Toggle caption");\r
+ b.addListener(this);\r
+ vl.setSpacing(true);\r
+ vl.addComponent(l);\r
+ vl.addComponent(b);\r
+ p1 = new Panel("This is a standard Panel");\r
+ p1.setLayout(vl);\r
+\r
+ // We add the Label component directly to the second panel\r
+ p2 = new Panel();\r
+ p2.addComponent(new Label("This is a standard panel without caption."));\r
+\r
+ addComponent(p1);\r
+ addComponent(p2);\r
+ }\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ if (p1.getCaption().equals("")) {\r
+ p1.setCaption("This is a standard Panel");\r
+ } else {\r
+ p1.setCaption("");\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.panels;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.Panel;\r
+\r
+public class PanelLight extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A lighter style for the Panel component is"\r
+ + " also available.";\r
+\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(Panel.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { PanelBasic.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.panels;\r
+\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.Panel;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.Button.ClickListener;\r
+\r
+public class PanelLightExample extends VerticalLayout implements ClickListener {\r
+\r
+ private Panel p;\r
+\r
+ public PanelLightExample() {\r
+ setSpacing(true);\r
+\r
+ // First panel uses layout in which the components are added\r
+ VerticalLayout vl = new VerticalLayout();\r
+ Label l = new Label("Push the button to toggle style.");\r
+ Button b = new Button("Toggle style");\r
+ b.addListener(this);\r
+ vl.setSpacing(true);\r
+ vl.addComponent(l);\r
+ vl.addComponent(b);\r
+ p = new Panel("This is a light Panel");\r
+ p.setStyleName("light");\r
+ p.setLayout(vl);\r
+\r
+ addComponent(p);\r
+ }\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ if (p.getStyleName().contains("light")) {\r
+ p.removeStyleName("light");\r
+ p.setCaption("This is a standard Panel");\r
+ } else {\r
+ p.setStyleName("light");\r
+ p.setCaption("This is a light Panel");\r
+ }\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.tabsheets;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.TabSheet;\r
+\r
+public class TabSheetDisabled extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "With a tabsheet component you also have the"\r
+ + " ability to enable and disable as well as"\r
+ + " show and hide specific tabs.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(TabSheet.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { TabSheetIcons.class, TabSheetScrolling.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.tabsheets;\r
+\r
+import com.itmill.toolkit.terminal.ThemeResource;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.HorizontalLayout;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.TabSheet;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.TabSheet.SelectedTabChangeEvent;\r
+\r
+public class TabSheetDisabledExample extends VerticalLayout implements\r
+ TabSheet.SelectedTabChangeListener, Button.ClickListener {\r
+\r
+ private TabSheet t;\r
+ private Button b1;\r
+ private Button b2;\r
+ private Label l1;\r
+ private Label l2;\r
+ private Label l3;\r
+\r
+ public TabSheetDisabledExample() {\r
+ setSpacing(true);\r
+\r
+ l1 = new Label("There are no previously saved actions.");\r
+ l2 = new Label("There are no saved notes.");\r
+ l3 = new Label("There are currently no issues.");\r
+\r
+ ThemeResource i1 = new ThemeResource("icons/action_save.gif");\r
+ ThemeResource i2 = new ThemeResource("icons/comment_yellow.gif");\r
+ ThemeResource i3 = new ThemeResource("icons/icon_info.gif");\r
+\r
+ t = new TabSheet();\r
+ t.setHeight(400, UNITS_PIXELS);\r
+ t.setWidth(400, UNITS_PIXELS);\r
+ t.addTab(l1, "Saved actions", i1);\r
+ t.addTab(l2, "Notes", i2);\r
+ t.addTab(l3, "Issues", i3);\r
+ t.addListener(this);\r
+\r
+ b1 = new Button("Disable 'Notes' tab");\r
+ b2 = new Button("Hide 'Issues' tab");\r
+ b1.addListener(this);\r
+ b2.addListener(this);\r
+\r
+ HorizontalLayout hl = new HorizontalLayout();\r
+ hl.setSpacing(true);\r
+ hl.addComponent(b1);\r
+ hl.addComponent(b2);\r
+\r
+ addComponent(t);\r
+ addComponent(hl);\r
+ }\r
+\r
+ public void selectedTabChange(SelectedTabChangeEvent event) {\r
+ String c = t.getTabCaption(event.getTabSheet().getSelectedTab());\r
+ getWindow().showNotification("Selected tab: " + c);\r
+ }\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ if (b1.equals(event.getButton())) { // b1 clicked\r
+ if (l2.isEnabled()) {\r
+ l2.setEnabled(false);\r
+ b1.setCaption("Enable 'Notes' tab");\r
+ } else {\r
+ l2.setEnabled(true);\r
+ b1.setCaption("Disable 'Notes' tab");\r
+ }\r
+ } else { // b2 clicked\r
+ if (l3.isVisible()) {\r
+ l3.setVisible(false);\r
+ b2.setCaption("Show 'Issues' tab");\r
+ } else {\r
+ l3.setVisible(true);\r
+ b2.setCaption("Hide 'Issues' tab");\r
+ }\r
+ }\r
+ t.requestRepaint();\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.tabsheets;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.TabSheet;\r
+\r
+public class TabSheetIcons extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A tabsheet component with icons. Each tab can"\r
+ + " contain any component. In this simple example"\r
+ + " each tab contains a label."\r
+ + "<br> You can also attach a listener to the tab"\r
+ + " change event.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(TabSheet.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { TabSheetScrolling.class, TabSheetDisabled.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.tabsheets;\r
+\r
+import com.itmill.toolkit.terminal.ThemeResource;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.TabSheet;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.TabSheet.SelectedTabChangeEvent;\r
+\r
+public class TabSheetIconsExample extends VerticalLayout implements\r
+ TabSheet.SelectedTabChangeListener {\r
+\r
+ private TabSheet t;\r
+\r
+ public TabSheetIconsExample() {\r
+ Label l1 = new Label("There are no previously saved actions.");\r
+ Label l2 = new Label("There are no saved notes.");\r
+ Label l3 = new Label("There are currently no issues.");\r
+\r
+ ThemeResource i1 = new ThemeResource("icons/action_save.gif");\r
+ ThemeResource i2 = new ThemeResource("icons/comment_yellow.gif");\r
+ ThemeResource i3 = new ThemeResource("icons/icon_info.gif");\r
+\r
+ t = new TabSheet();\r
+ t.setHeight(400, UNITS_PIXELS);\r
+ t.setWidth(400, UNITS_PIXELS);\r
+ t.addTab(l1, "Saved actions", i1);\r
+ t.addTab(l2, "Notes", i2);\r
+ t.addTab(l3, "Issues", i3);\r
+ t.addListener(this);\r
+\r
+ addComponent(t);\r
+ }\r
+\r
+ public void selectedTabChange(SelectedTabChangeEvent event) {\r
+ String c = t.getTabCaption(event.getTabSheet().getSelectedTab());\r
+ getWindow().showNotification("Selected tab: " + c);\r
+ }\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.tabsheets;\r
+\r
+import com.itmill.toolkit.demo.sampler.APIResource;\r
+import com.itmill.toolkit.demo.sampler.Feature;\r
+import com.itmill.toolkit.demo.sampler.NamedExternalResource;\r
+import com.itmill.toolkit.ui.TabSheet;\r
+\r
+public class TabSheetScrolling extends Feature {\r
+\r
+ @Override\r
+ public String getDescription() {\r
+ return "A tabsheet component with too many tabs to display"\r
+ + " within the width of the tabsheet. A scrolling"\r
+ + "feature will be added to the tab bar automatically.";\r
+ }\r
+\r
+ @Override\r
+ public APIResource[] getRelatedAPI() {\r
+ return new APIResource[] { new APIResource(TabSheet.class) };\r
+ }\r
+\r
+ @Override\r
+ public Class[] getRelatedFeatures() {\r
+ return new Class[] { TabSheetIcons.class, TabSheetDisabled.class };\r
+ }\r
+\r
+ @Override\r
+ public NamedExternalResource[] getRelatedResources() {\r
+ // TODO Auto-generated method stub\r
+ return null;\r
+ }\r
+\r
+}\r
--- /dev/null
+package com.itmill.toolkit.demo.sampler.features.tabsheets;\r
+\r
+import com.itmill.toolkit.terminal.ThemeResource;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.TabSheet;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.TabSheet.SelectedTabChangeEvent;\r
+\r
+public class TabSheetScrollingExample extends VerticalLayout implements\r
+ TabSheet.SelectedTabChangeListener {\r
+\r
+ private TabSheet t;\r
+\r
+ public TabSheetScrollingExample() {\r
+ Label l1 = new Label("There are no previously saved actions.");\r
+ Label l2 = new Label("There are no saved notes.");\r
+ Label l3 = new Label("There are currently no issues.");\r
+ Label l4 = new Label("There are no comments.");\r
+ Label l5 = new Label("There is no new feedback.");\r
+\r
+ ThemeResource i1 = new ThemeResource("icons/action_save.gif");\r
+ ThemeResource i2 = new ThemeResource("icons/comment_yellow.gif");\r
+ ThemeResource i3 = new ThemeResource("icons/icon_info.gif");\r
+\r
+ t = new TabSheet();\r
+ t.setHeight(400, UNITS_PIXELS);\r
+ t.setWidth(400, UNITS_PIXELS);\r
+ t.addTab(l1, "Saved actions", i1);\r
+ t.addTab(l2, "Notes", i2);\r
+ t.addTab(l3, "Issues", i3);\r
+ t.addTab(l4, "Comments", i2);\r
+ t.addTab(l5, "Feedback", i2);\r
+ t.addListener(this);\r
+\r
+ addComponent(t);\r
+ }\r
+\r
+ public void selectedTabChange(SelectedTabChangeEvent event) {\r
+ String c = t.getTabCaption(event.getTabSheet().getSelectedTab());\r
+ getWindow().showNotification("Selected tab: " + c);\r
+ }\r
+}\r