--- /dev/null
+package com.vaadin.tests.components.menubar;\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import com.vaadin.tests.components.ComponentTestCase;\r
+import com.vaadin.ui.Button;\r
+import com.vaadin.ui.CheckBox;\r
+import com.vaadin.ui.Component;\r
+import com.vaadin.ui.HorizontalLayout;\r
+import com.vaadin.ui.MenuBar;\r
+import com.vaadin.ui.Button.ClickEvent;\r
+import com.vaadin.ui.MenuBar.MenuItem;\r
+\r
+public class Menubars extends ComponentTestCase {\r
+\r
+ MenuBar menubar[] = new MenuBar[20];\r
+\r
+ @Override\r
+ protected void setup() {\r
+ super.setup();\r
+\r
+ MenuBar m;\r
+ m = createMenuBar("This is an undefined wide menubar with 3 items", 3);\r
+\r
+ m.setWidth(null);\r
+ addTestComponent(m);\r
+\r
+ m = createMenuBar(\r
+ "This is an undefined wide menubar with fixed 100px height (4 items)",\r
+ 4);\r
+ m.setWidth(null);\r
+ m.setHeight("100px");\r
+ addTestComponent(m);\r
+\r
+ m = createMenuBar("This is a 200px wide menubar with 10 items", 10);\r
+ m.setWidth("200px");\r
+ addTestComponent(m);\r
+\r
+ m = createMenuBar("This is a 200px wide menubar with 2 items", 2);\r
+ m.setWidth("200px");\r
+ addTestComponent(m);\r
+\r
+ m = createMenuBar("This is a 100% wide menubar with 3 items ", 3);\r
+ m.setWidth("100%");\r
+ addTestComponent(m);\r
+\r
+ m = createMenuBar("This is a 100% wide menubar with 40 items ", 40);\r
+ m.setWidth("100%");\r
+ addTestComponent(m);\r
+\r
+ m = createMenuBar(\r
+ "This is a 100% wide menubar with fixed 65px height (5 items). ",\r
+ 5);\r
+ m.setWidth("100%");\r
+ m.setHeight("65px");\r
+\r
+ addTestComponent(m);\r
+\r
+ }\r
+\r
+ private Component createActionLayout() {\r
+ HorizontalLayout actionLayout = new HorizontalLayout();\r
+ actionLayout.setSpacing(true);\r
+ actionLayout.setMargin(true);\r
+ for (Component c : createActions()) {\r
+ actionLayout.addComponent(c);\r
+ }\r
+ addComponent(actionLayout);\r
+ return actionLayout;\r
+ }\r
+\r
+ private MenuBar createMenuBar(String text, int items) {\r
+ MenuBar m = new MenuBar();\r
+ m.setCaption(text);\r
+\r
+ for (int i = 1; i <= items; i++) {\r
+ MenuItem mi = m.addItem("Item " + i, null);\r
+ for (int j = 1; j <= items; j++) {\r
+ mi.addItem("Sub menu " + i + "/" + j, null);\r
+ }\r
+ }\r
+\r
+ return m;\r
+ }\r
+\r
+ @Override\r
+ protected String getDescription() {\r
+ return "A generic test for MenuBars in different configurations";\r
+ }\r
+\r
+ @Override\r
+ protected List<Component> createActions() {\r
+ ArrayList<Component> actions = new ArrayList<Component>();\r
+\r
+ CheckBox errorIndicators = new CheckBox("Error indicators",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ Button b = event.getButton();\r
+ boolean enabled = (Boolean) b.getValue();\r
+ setErrorIndicators(enabled);\r
+\r
+ }\r
+ });\r
+\r
+ CheckBox enabled = new CheckBox("Enabled", new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ Button b = event.getButton();\r
+ boolean enabled = (Boolean) b.getValue();\r
+ setEnabled(enabled);\r
+ }\r
+ });\r
+\r
+ CheckBox readonly = new CheckBox("Readonly",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ Button b = event.getButton();\r
+ boolean enabled = (Boolean) b.getValue();\r
+ setReadOnly(enabled);\r
+ }\r
+ });\r
+\r
+ errorIndicators.setValue(new Boolean(false));\r
+ readonly.setValue(new Boolean(false));\r
+ enabled.setValue(new Boolean(true));\r
+\r
+ errorIndicators.setImmediate(true);\r
+ readonly.setImmediate(true);\r
+ enabled.setImmediate(true);\r
+\r
+ actions.add(errorIndicators);\r
+ actions.add(readonly);\r
+ actions.add(enabled);\r
+\r
+ return actions;\r
+ }\r
+\r
+}\r