diff options
-rw-r--r-- | src/com/vaadin/ui/Table.java | 27 | ||||
-rw-r--r-- | tests/testbench/com/vaadin/tests/components/table/TableWithNoncollapsibleColumns.java | 6 |
2 files changed, 20 insertions, 13 deletions
diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java index 564aa24991..73fe9679d5 100644 --- a/src/com/vaadin/ui/Table.java +++ b/src/com/vaadin/ui/Table.java @@ -1187,31 +1187,38 @@ public class Table extends AbstractSelect implements Action.Container, } /** - * Sets whether a column can be collapsed or not. + * Sets whether the given column is collapsible. Note that collapsible + * columns can only be actually collapsed (via UI or with + * {@link #setColumnCollapsed(Object, boolean) setColumnCollapsed()}) if + * {@link #isColumnCollapsingAllowed()} is true. By default all columns are + * collapsible. * * @param propertyId * the propertyID identifying the column. * @param collapsible - * the desired collapsibleness + * true if the column should be collapsible, false otherwise. */ - public void setColumnNoncollapsible(Object propertyId, - boolean noncollapsible) { - if (noncollapsible) { + public void setColumnCollapsible(Object propertyId, boolean collapsible) { + if (collapsible) { + noncollapsibleColumns.remove(propertyId); + } else { noncollapsibleColumns.add(propertyId); collapsedColumns.remove(propertyId); - } else { - noncollapsibleColumns.remove(propertyId); } refreshRowCache(); } /** - * Checks if the column can be collapsed. + * Checks if the given column is collapsible. Note that even if this method + * returns <code>true</code>, the column can only be actually collapsed (via + * UI or with {@link #setColumnCollapsed(Object, boolean) + * setColumnCollapsed()}) if {@link #isColumnCollapsingAllowed()} is also + * true. * * @return true if the column can be collapsed; false otherwise. */ - public boolean isColumnNoncollapsible(Object propertyId) { - return noncollapsibleColumns.contains(propertyId); + public boolean isColumnCollapsible(Object propertyId) { + return !noncollapsibleColumns.contains(propertyId); } /** diff --git a/tests/testbench/com/vaadin/tests/components/table/TableWithNoncollapsibleColumns.java b/tests/testbench/com/vaadin/tests/components/table/TableWithNoncollapsibleColumns.java index 9e8c201452..404ba5d779 100644 --- a/tests/testbench/com/vaadin/tests/components/table/TableWithNoncollapsibleColumns.java +++ b/tests/testbench/com/vaadin/tests/components/table/TableWithNoncollapsibleColumns.java @@ -25,7 +25,7 @@ public class TableWithNoncollapsibleColumns extends TestBase { table.addContainerProperty("Column 3 - toggle collapsing", String.class, null); - table.setColumnNoncollapsible("Column 1 - noncollapsible", true); + table.setColumnCollapsible("Column 1 - noncollapsible", false); layout.addComponent(table); final Button button1 = new Button("Column 1: collapse/show", @@ -57,9 +57,9 @@ public class TableWithNoncollapsibleColumns extends TestBase { "Column 3: make noncollapsible/collapsible", new Button.ClickListener() { public void buttonClick(ClickEvent event) { - table.setColumnNoncollapsible( + table.setColumnCollapsible( "Column 3 - toggle collapsing", - !table.isColumnNoncollapsible("Column 3 - toggle collapsing")); + !table.isColumnCollapsible("Column 3 - toggle collapsing")); } }); |