123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- package com.vaadin.tests.components.table;
-
- import com.vaadin.event.Action;
- import com.vaadin.event.Action.Handler;
- import com.vaadin.event.ShortcutAction;
- import com.vaadin.server.VaadinRequest;
- import com.vaadin.tests.components.AbstractReindeerTestUI;
- import com.vaadin.ui.HorizontalLayout;
- import com.vaadin.v7.ui.Table;
-
- /**
- * A test UI for context menus on different parts of a VSCrollTable.
- *
- * This UI has no attached unit test due to the poor support of touch events on
- * Selenium.
- *
- * @author Vaadin Ltd
- */
- public class TabletContextMenu extends AbstractReindeerTestUI {
-
- /*
- * (non-Javadoc)
- *
- * @see com.vaadin.tests.components.AbstractTestUI#setup(com.vaadin.server.
- * VaadinRequest)
- */
- @Override
- protected void setup(VaadinRequest request) {
- setSizeFull();
-
- HorizontalLayout layout = new HorizontalLayout();
- layout.setSizeFull();
- layout.setSpacing(true);
- addComponent(layout);
-
- Table table1 = createTable("no scrolling, has context menu");
- addActionHandler(table1);
- table1.addItem();
- layout.addComponent(table1);
-
- Table table2 = createTable("should scroll, has context menu");
- for (int i = 0; i < 100; ++i) {
- table2.addItem();
- }
- addActionHandler(table2);
- layout.addComponent(table2);
-
- Table table3 = createTable("no scrolling, no context menu");
- table3.addItem();
- layout.addComponent(table3);
-
- Table table4 = createTable("should scroll, no context menu");
- for (int i = 0; i < 100; ++i) {
- table4.addItem();
- }
- layout.addComponent(table4);
- }
-
- private Table createTable(String caption) {
- Table table = new Table(caption);
- table.setImmediate(true);
-
- table.addContainerProperty("column1", String.class, "test");
- table.setSizeFull();
- table.setHeight("500px");
- table.setSelectable(true);
-
- return table;
- }
-
- private void addActionHandler(Table table) {
- table.addActionHandler(new Handler() {
-
- Action tabNext = new ShortcutAction("Shift",
- ShortcutAction.KeyCode.TAB, null);
- Action tabPrev = new ShortcutAction("Shift+Tab",
- ShortcutAction.KeyCode.TAB,
- new int[] { ShortcutAction.ModifierKey.SHIFT });
- Action curDown = new ShortcutAction("Down",
- ShortcutAction.KeyCode.ARROW_DOWN, null);
- Action curUp = new ShortcutAction("Up",
- ShortcutAction.KeyCode.ARROW_UP, null);
- Action enter = new ShortcutAction("Enter",
- ShortcutAction.KeyCode.ENTER, null);
- Action add = new ShortcutAction("Add Below",
- ShortcutAction.KeyCode.A, null);
- Action delete = new ShortcutAction("Delete",
- ShortcutAction.KeyCode.DELETE, null);
-
- @Override
- public void handleAction(Action action, Object sender,
- Object target) {
- System.out.println(action.getCaption());
- }
-
- @Override
- public Action[] getActions(Object target, Object sender) {
- return new Action[] { tabNext, tabPrev, curDown, curUp, enter,
- add, delete };
- }
- });
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.vaadin.tests.components.AbstractTestUI#getTestDescription()
- */
- @Override
- protected String getTestDescription() {
- return "Make sure empty table parts have context menu on touch screen devices";
- }
-
- /*
- * (non-Javadoc)
- *
- * @see com.vaadin.tests.components.AbstractTestUI#getTicketNumber()
- */
- @Override
- protected Integer getTicketNumber() {
- return 13694;
- }
-
- }
|