diff options
Diffstat (limited to 'uitest/src/com/vaadin/tests/tickets/Ticket1598.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/tickets/Ticket1598.java | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/tickets/Ticket1598.java b/uitest/src/com/vaadin/tests/tickets/Ticket1598.java new file mode 100644 index 0000000000..2f845a2264 --- /dev/null +++ b/uitest/src/com/vaadin/tests/tickets/Ticket1598.java @@ -0,0 +1,133 @@ +package com.vaadin.tests.tickets; + +import java.util.ArrayList; +import java.util.List; + +import com.vaadin.Application; +import com.vaadin.server.ThemeResource; +import com.vaadin.ui.MenuBar; +import com.vaadin.ui.MenuBar.Command; +import com.vaadin.ui.MenuBar.MenuItem; +import com.vaadin.ui.UI.LegacyWindow; + +public class Ticket1598 extends Application.LegacyApplication { + + LegacyWindow main = new LegacyWindow("MenuBar test"); + + final MenuBar menuBar = new MenuBar(); + + @Override + public void init() { + setMainWindow(main); + setTheme("runo"); + + List<MenuItem> itemList = new ArrayList<MenuItem>(); + // Populate the menu bar + for (int i = 0; i < 6; i++) { + itemList.add(menuBar.addItem(new String("Menu " + i), null, null)); + } + + MenuItem first = itemList.get(0); + + for (int i = 0; i < 5; i++) { + first.addItem(new String("Submenu item" + i), null, new Command() { + + @Override + public void menuSelected(MenuItem selected) { + main.showNotification("Action " + selected.getText()); + } + }); + } + + MenuItem firstSubItem1 = first.getChildren().get(1); + + for (int i = 0; i < 3; i++) { + firstSubItem1.addItem(new String("Subsubmenu item" + i), null, + new Command() { + + @Override + public void menuSelected(MenuItem selected) { + main.showNotification("Action " + + selected.getText()); + } + }); + } + MenuItem firstSubItem2 = first.getChildren().get(3); + + for (int i = 0; i < 3; i++) { + firstSubItem2.addItem(new String("Subsubmenu item" + i), null, + new Command() { + + @Override + public void menuSelected(MenuItem selected) { + main.showNotification("Action " + + selected.getText()); + } + }); + } + + MenuItem second = menuBar.getItems().get(1); + + for (int i = 0; i < 5; i++) { + second.addItem(new String("Second submenu item" + i), null, + new Command() { + + @Override + public void menuSelected(MenuItem selected) { + main.showNotification("Action " + + selected.getText()); + } + }); + } + + MenuItem third = menuBar.getItems().get(2); + third.setIcon(new ThemeResource("icons/16/document.png")); + + for (int i = 2; i <= 3; i++) { + (menuBar.getItems().get(i)).setCommand(new Command() { + + @Override + public void menuSelected(MenuItem selectedItem) { + main.showNotification("Action " + selectedItem.getText()); + } + }); + } + + final MenuItem fourth = menuBar.getItems().get(3); + fourth.setText("Add new item"); + + fourth.setCommand(new Command() { + @Override + public void menuSelected(MenuItem selected) { + menuBar.addItem("Newborn", null, null); + } + }); + + final MenuItem fifth = menuBar.getItems().get(4); + for (int i = 0; i < 5; i++) { + fifth.addItem("Another subitem " + i, null); + } + + final MenuItem last = menuBar.getItems().get(menuBar.getSize() - 1); + last.setText("Remove me!"); + + // A command for removing the selected menuitem + Command removeCommand = new Command() { + + @Override + public void menuSelected(MenuItem selected) { + MenuItem parent = selected.getParent(); + if (parent != null) { + parent.removeChild(selected); + } else { + menuBar.removeItem(selected); + } + } + }; + + last.setCommand(removeCommand); + + main.addComponent(menuBar); + + } +}
\ No newline at end of file |