]> source.dussan.org Git - vaadin-framework.git/commitdiff
Merged changes for #3500 (table should always paint selections)
authorMarc Englund <marc.englund@itmill.com>
Tue, 13 Oct 2009 13:25:07 +0000 (13:25 +0000)
committerMarc Englund <marc.englund@itmill.com>
Tue, 13 Oct 2009 13:25:07 +0000 (13:25 +0000)
svn changeset:9192/svn branch:6.2

src/com/vaadin/tests/components/table/NotselectablePaintSelections.java [new file with mode: 0644]
src/com/vaadin/ui/Table.java

diff --git a/src/com/vaadin/tests/components/table/NotselectablePaintSelections.java b/src/com/vaadin/tests/components/table/NotselectablePaintSelections.java
new file mode 100644 (file)
index 0000000..9d30113
--- /dev/null
@@ -0,0 +1,55 @@
+package com.vaadin.tests.components.table;\r
+\r
+import java.util.HashSet;\r
+import java.util.Set;\r
+\r
+import com.vaadin.data.Item;\r
+import com.vaadin.tests.components.TestBase;\r
+import com.vaadin.ui.Table;\r
+\r
+public class NotselectablePaintSelections extends TestBase {\r
+\r
+    @Override\r
+    protected String getDescription() {\r
+        return "Table should paint selections even if it's not selectable.";\r
+    }\r
+\r
+    @Override\r
+    protected Integer getTicketNumber() {\r
+        return 3500;\r
+    }\r
+\r
+    @Override\r
+    protected void setup() {\r
+        // Multiselect\r
+        Table t = new Table("Multiselect");\r
+        addComponent(t);\r
+        t.setSelectable(false);\r
+        t.setMultiSelect(true);\r
+        t.setPageLength(5);\r
+        t.addContainerProperty("Name", String.class, null);\r
+        Set<Object> selected = new HashSet<Object>();\r
+        for (int i = 0; i < 30; i++) {\r
+            Item item = t.addItem(i);\r
+            item.getItemProperty("Name").setValue("Name " + i);\r
+            if (i % 2 == 0) {\r
+                selected.add(i);\r
+            }\r
+        }\r
+        t.setValue(selected);\r
+\r
+        // Singleselect\r
+        t = new Table("Singleselect");\r
+        addComponent(t);\r
+        t.setSelectable(false);\r
+        t.setMultiSelect(false);\r
+        t.setPageLength(5);\r
+        t.addContainerProperty("Name", String.class, null);\r
+        for (int i = 0; i < 30; i++) {\r
+            Item item = t.addItem(i);\r
+            item.getItemProperty("Name").setValue("Name " + i);\r
+        }\r
+        t.setValue(3);\r
+\r
+    }\r
+}\r
index d2b255a1d3734bbaf30b499bfd6320c3bac9ef79..a35572100fb1c732a4e485f4e393bf26fa6646ca 100644 (file)
@@ -2174,10 +2174,9 @@ public class Table extends AbstractSelect implements Action.Container,
             }
             target.addAttribute("key", Integer.parseInt(cells[CELL_KEY][i]
                     .toString()));
-            if (actionHandlers != null || isSelectable()) {
-                if (isSelected(itemId)) {
-                    target.addAttribute("selected", true);
-                }
+
+            if (isSelected(itemId)) {
+                target.addAttribute("selected", true);
             }
 
             // Actions