--- /dev/null
+package com.vaadin.tests.tickets;\r
+\r
+import java.util.Collection;\r
+import java.util.HashSet;\r
+\r
+import com.vaadin.Application;\r
+import com.vaadin.ui.Button;\r
+import com.vaadin.ui.Table;\r
+import com.vaadin.ui.TextField;\r
+import com.vaadin.ui.Window;\r
+import com.vaadin.ui.Button.ClickEvent;\r
+\r
+public class Ticket3146 extends Application {\r
+\r
+ Table table;\r
+ TextField result;\r
+\r
+ @Override\r
+ public void init() {\r
+ Window mainWindow = new Window("Test");\r
+\r
+ table = new Table();\r
+ table.addContainerProperty("Items", String.class, null);\r
+ table.addItem(new String[] { "a" }, "a");\r
+ table.addItem(new String[] { "b" }, "b");\r
+ table.addItem(new String[] { "c" }, "c");\r
+ for (int i = 1; i < 100; ++i) {\r
+ table.addItem(new String[] { "Item " + i }, "Item " + i);\r
+ }\r
+ table.setMultiSelect(true);\r
+ table.setSelectable(true);\r
+ table.setImmediate(true);\r
+ table.setHeight("200px");\r
+ table.setWidth("200px");\r
+ mainWindow.addComponent(table);\r
+\r
+ Button clearButton = new Button("Clear selection",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ clearSelection();\r
+ }\r
+ });\r
+ mainWindow.addComponent(clearButton);\r
+ Button clearButton2 = new Button("Clear selection 2",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ clearSelection2();\r
+ }\r
+ });\r
+ mainWindow.addComponent(clearButton2);\r
+ Button clearButton3 = new Button("Clear selection 3",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ clearSelection3();\r
+ }\r
+ });\r
+ mainWindow.addComponent(clearButton3);\r
+ Button printButton = new Button("Print selection",\r
+ new Button.ClickListener() {\r
+ public void buttonClick(ClickEvent event) {\r
+ printSelection();\r
+ }\r
+ });\r
+ mainWindow.addComponent(printButton);\r
+\r
+ result = new TextField();\r
+ result.setHeight("200px");\r
+ result.setWidth("200px");\r
+ mainWindow.addComponent(result);\r
+\r
+ setMainWindow(mainWindow);\r
+ }\r
+\r
+ void clearSelection() {\r
+ table.setValue(null);\r
+ }\r
+\r
+ void clearSelection2() {\r
+ table.setValue(new HashSet());\r
+ }\r
+\r
+ void clearSelection3() {\r
+ table.unselect("a");\r
+ table.unselect("b");\r
+ table.unselect("c");\r
+ }\r
+\r
+ void printSelection() {\r
+ String selection = "";\r
+ for (Object item : (Collection) table.getValue()) {\r
+ selection = selection + item + ' ';\r
+ }\r
+ result.setValue(selection);\r
+ }\r
+\r
+}\r