package com.vaadin.tests.components.menubar; import com.vaadin.tests.components.TestBase; import com.vaadin.tests.util.Log; import com.vaadin.ui.MenuBar; import com.vaadin.ui.MenuBar.Command; import com.vaadin.ui.MenuBar.MenuItem; public class MenuBarNavigation extends TestBase implements Command { private MenuItem edit; private MenuItem file; private Log log; private MenuItem export; @Override protected void setup() { MenuBar mb = new MenuBar(); file = mb.addItem("File", null); file.addItem("Open", this); file.addItem("Save", this); file.addItem("Save As..", this); file.addSeparator(); export = file.addItem("Export..", null); export.addItem("As PDF...", this); file.addSeparator(); file.addItem("Exit", this); edit = mb.addItem("Edit", null); edit.addItem("Copy", this); edit.addItem("Cut", this); edit.addItem("Paste", this); mb.addItem("Help", this); addComponent(mb); log = new Log(5); addComponent(log); } @Override protected String getDescription() { return "Test case for mouse and keyboard navigation in MenuBar"; } @Override protected Integer getTicketNumber() { return 5174; } @Override public void menuSelected(MenuItem selectedItem) { log.log("MenuItem " + getName(selectedItem) + " selected"); } private String getName(MenuItem selectedItem) { String name = ""; if (selectedItem.getParent() != null) { name = getName(selectedItem.getParent()) + "/"; } return name + selectedItem.getText(); } }