From d70553498816dee8cfc0f2d3fc892006bc720b1f Mon Sep 17 00:00:00 2001 From: Marc Englund Date: Tue, 13 Oct 2009 13:25:07 +0000 Subject: [PATCH] Merged changes for #3500 (table should always paint selections) svn changeset:9192/svn branch:6.2 --- .../table/NotselectablePaintSelections.java | 55 +++++++++++++++++++ src/com/vaadin/ui/Table.java | 7 +-- 2 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 src/com/vaadin/tests/components/table/NotselectablePaintSelections.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 index 0000000000..9d3011365d --- /dev/null +++ b/src/com/vaadin/tests/components/table/NotselectablePaintSelections.java @@ -0,0 +1,55 @@ +package com.vaadin.tests.components.table; + +import java.util.HashSet; +import java.util.Set; + +import com.vaadin.data.Item; +import com.vaadin.tests.components.TestBase; +import com.vaadin.ui.Table; + +public class NotselectablePaintSelections extends TestBase { + + @Override + protected String getDescription() { + return "Table should paint selections even if it's not selectable."; + } + + @Override + protected Integer getTicketNumber() { + return 3500; + } + + @Override + protected void setup() { + // Multiselect + Table t = new Table("Multiselect"); + addComponent(t); + t.setSelectable(false); + t.setMultiSelect(true); + t.setPageLength(5); + t.addContainerProperty("Name", String.class, null); + Set selected = new HashSet(); + for (int i = 0; i < 30; i++) { + Item item = t.addItem(i); + item.getItemProperty("Name").setValue("Name " + i); + if (i % 2 == 0) { + selected.add(i); + } + } + t.setValue(selected); + + // Singleselect + t = new Table("Singleselect"); + addComponent(t); + t.setSelectable(false); + t.setMultiSelect(false); + t.setPageLength(5); + t.addContainerProperty("Name", String.class, null); + for (int i = 0; i < 30; i++) { + Item item = t.addItem(i); + item.getItemProperty("Name").setValue("Name " + i); + } + t.setValue(3); + + } +} diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java index d2b255a1d3..a35572100f 100644 --- a/src/com/vaadin/ui/Table.java +++ b/src/com/vaadin/ui/Table.java @@ -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 -- 2.39.5