From: John Alhroos Date: Thu, 29 Apr 2010 13:21:35 +0000 (+0000) Subject: Added test application for Table keyboard navigation #2390 X-Git-Tag: 6.7.0.beta1~1699 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=b4d2ee856f2631afbfd662d18decb6643d6196f3;p=vaadin-framework.git Added test application for Table keyboard navigation #2390 svn changeset:12926/svn branch:6.4 --- diff --git a/tests/src/com/vaadin/tests/components/table/KeyControl.java b/tests/src/com/vaadin/tests/components/table/KeyControl.java new file mode 100644 index 0000000000..19a5a0eca6 --- /dev/null +++ b/tests/src/com/vaadin/tests/components/table/KeyControl.java @@ -0,0 +1,130 @@ +package com.vaadin.tests.components.table; + +import java.util.Set; + +import com.vaadin.data.Container; +import com.vaadin.data.Item; +import com.vaadin.data.Property.ValueChangeEvent; +import com.vaadin.data.util.IndexedContainer; +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.HorizontalLayout; +import com.vaadin.ui.Label; +import com.vaadin.ui.Table; +import com.vaadin.ui.VerticalLayout; + +@SuppressWarnings("serial") +public class KeyControl extends TestBase { + + private final Label selected1 = new Label("No selected items."); + private final Table table1 = new Table("Read only table"); + + private final Label selected2 = new Label("No selected items"); + private final Table table2 = new Table("Selectable table"); + + private final Label selected3 = new Label("Not selected items"); + private final Table table3 = new Table("Multi-selectable table"); + + @Override + protected void setup() { + HorizontalLayout layout = new HorizontalLayout(); + layout.setSpacing(true); + addComponent(layout); + + // Create read only table + VerticalLayout layout1 = new VerticalLayout(); + layout1.setSpacing(true); + + table1.setContainerDataSource(createContainer()); + table1.setWidth("300px"); + table1.setHeight("300px"); + table1.setImmediate(true); + layout1.addComponent(table1); + + table1.addListener(new Table.ValueChangeListener() { + public void valueChange(ValueChangeEvent event) { + Set value = (Set) table1.getValue(); + selected1 + .setValue(value.toString() + " TOTAL: " + value.size()); + } + }); + + layout1.addComponent(selected1); + layout.addComponent(layout1); + + // Create single select table + VerticalLayout layout2 = new VerticalLayout(); + layout2.setSpacing(true); + + table2.setContainerDataSource(createContainer()); + table2.setSelectable(true); + table2.setWidth("300px"); + table2.setHeight("300px"); + table2.setImmediate(true); + layout2.addComponent(table2); + + table2.addListener(new Table.ValueChangeListener() { + public void valueChange(ValueChangeEvent event) { + String value = table2.getValue().toString(); + selected2.setValue(value); + } + }); + + layout2.addComponent(selected2); + layout.addComponent(layout2); + + // Create multi select table + VerticalLayout layout3 = new VerticalLayout(); + layout3.setSpacing(true); + + table3.setContainerDataSource(createContainer()); + table3.setSelectable(true); + table3.setMultiSelect(true); + table3.setWidth("300px"); + table3.setHeight("300px"); + table3.setImmediate(true); + layout3.addComponent(table3); + + table3.addListener(new Table.ValueChangeListener() { + public void valueChange(ValueChangeEvent event) { + Set value = (Set) table3.getValue(); + selected3.setValue(value); + } + }); + + layout3.addComponent(selected3); + layout.addComponent(layout3); + } + + @Override + protected String getDescription() { + return "Add keyboard control to the Table"; + } + + @Override + protected Integer getTicketNumber() { + return 2390; + } + + private Container createContainer() { + IndexedContainer container = new IndexedContainer(); + container.addContainerProperty("col1", String.class, ""); + container.addContainerProperty("col2", String.class, ""); + container.addContainerProperty("col3", String.class, ""); + container.addContainerProperty("col4", String.class, ""); + container.addContainerProperty("col5", String.class, ""); + container.addContainerProperty("col6", String.class, ""); + + for (int i = 0; i < 100; i++) { + Item item = container.addItem("item " + i); + item.getItemProperty("col1").setValue("First column " + i); + item.getItemProperty("col2").setValue("Second column " + i); + item.getItemProperty("col3").setValue("Third column" + i); + item.getItemProperty("col4").setValue("Fourth column" + i); + item.getItemProperty("col5").setValue("Fifth column" + i); + item.getItemProperty("col6").setValue("Sixth column" + i); + } + + return container; + } + +}