diff options
Diffstat (limited to 'uitest/src/com/vaadin/tests/tickets/Ticket1973.java')
-rw-r--r-- | uitest/src/com/vaadin/tests/tickets/Ticket1973.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/uitest/src/com/vaadin/tests/tickets/Ticket1973.java b/uitest/src/com/vaadin/tests/tickets/Ticket1973.java new file mode 100644 index 0000000000..a3365bedcb --- /dev/null +++ b/uitest/src/com/vaadin/tests/tickets/Ticket1973.java @@ -0,0 +1,52 @@ +package com.vaadin.tests.tickets; + +import com.vaadin.data.Item; +import com.vaadin.data.util.IndexedContainer; +import com.vaadin.ui.Button; +import com.vaadin.ui.Component; +import com.vaadin.ui.UI.LegacyWindow; +import com.vaadin.ui.Table; +import com.vaadin.ui.VerticalLayout; + +public class Ticket1973 extends com.vaadin.Application.LegacyApplication { + + LegacyWindow main = new LegacyWindow(); + Table table = new Table(); + + @Override + public void init() { + setMainWindow(main); + + final IndexedContainer container1 = new IndexedContainer(); + container1.addContainerProperty("layout", Component.class, null); + + final IndexedContainer container2 = new IndexedContainer(); + container2.addContainerProperty("layout", Component.class, null); + + fill(container1, 100, "Testi 1 :"); + fill(container2, 100, "Testi 2 :"); + + table.setContainerDataSource(container1); + + Button refreshTable = new Button("Change table container"); + refreshTable.addListener(new Button.ClickListener() { + @Override + public void buttonClick(Button.ClickEvent e) { + table.setContainerDataSource(container2); + table.setContainerDataSource(container1); + } + }); + + main.addComponent(table); + main.addComponent(refreshTable); + } + + public void fill(IndexedContainer container, int size, String prefix) { + for (int i = 0; i < size; i++) { + Item item = container.addItem(new Integer(i)); + VerticalLayout layout = new VerticalLayout(); + layout.addComponent(new Button(prefix + i)); + item.getItemProperty("layout").setValue(layout); + } + } +}
\ No newline at end of file |