]> source.dussan.org Git - vaadin-framework.git/commitdiff
#3146 could not clear table selection and related test case
authorHenri Sara <henri.sara@itmill.com>
Mon, 20 Jul 2009 10:27:12 +0000 (10:27 +0000)
committerHenri Sara <henri.sara@itmill.com>
Mon, 20 Jul 2009 10:27:12 +0000 (10:27 +0000)
svn changeset:8404/svn branch:6.0

src/com/vaadin/tests/tickets/Ticket3146.java [new file with mode: 0644]
src/com/vaadin/ui/Table.java

diff --git a/src/com/vaadin/tests/tickets/Ticket3146.java b/src/com/vaadin/tests/tickets/Ticket3146.java
new file mode 100644 (file)
index 0000000..53600b9
--- /dev/null
@@ -0,0 +1,96 @@
+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
index c3d0e668091ee3acd91ba2153cbefbe4fef457da..215bfedee3e35929752e90624184e9ca108e5260 100644 (file)
@@ -2184,7 +2184,7 @@ public class Table extends AbstractSelect implements Action.Container,
         target.endTag("rows");
 
         // The select variable is only enabled if selectable
-        if (selectable && selectedKeys.size() > 0) {
+        if (selectable) {
             target.addVariable(this, "selected", selectedKeys
                     .toArray(new String[selectedKeys.size()]));
         }