summaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit
diff options
context:
space:
mode:
authorJouni Koivuviita <jouni.koivuviita@itmill.com>2008-09-15 12:29:14 +0000
committerJouni Koivuviita <jouni.koivuviita@itmill.com>2008-09-15 12:29:14 +0000
commitb8882cb9f437445f05d30841fe2f403926de2554 (patch)
treed3bad870e559f50a8b1fcec0e194b0955999a3fa /src/com/itmill/toolkit
parentead856abe072991ab3254f8a47cc2a71e349eb8b (diff)
downloadvaadin-framework-b8882cb9f437445f05d30841fe2f403926de2554.tar.gz
vaadin-framework-b8882cb9f437445f05d30841fe2f403926de2554.zip
Testcase for #2061.
svn changeset:5399/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit')
-rw-r--r--src/com/itmill/toolkit/tests/tickets/Ticket2061.java128
1 files changed, 128 insertions, 0 deletions
diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket2061.java b/src/com/itmill/toolkit/tests/tickets/Ticket2061.java
new file mode 100644
index 0000000000..fb4eec35de
--- /dev/null
+++ b/src/com/itmill/toolkit/tests/tickets/Ticket2061.java
@@ -0,0 +1,128 @@
+package com.itmill.toolkit.tests.tickets;
+
+import com.itmill.toolkit.Application;
+import com.itmill.toolkit.data.Item;
+import com.itmill.toolkit.data.Property.ValueChangeEvent;
+import com.itmill.toolkit.data.Property.ValueChangeListener;
+import com.itmill.toolkit.data.util.HierarchicalContainer;
+import com.itmill.toolkit.ui.Accordion;
+import com.itmill.toolkit.ui.Component;
+import com.itmill.toolkit.ui.CustomComponent;
+import com.itmill.toolkit.ui.ExpandLayout;
+import com.itmill.toolkit.ui.TabSheet;
+import com.itmill.toolkit.ui.Table;
+import com.itmill.toolkit.ui.Window;
+
+public class Ticket2061 extends Application {
+
+ private Window mainWindow;
+
+ @Override
+ public void init() {
+ mainWindow = new Window("It Mill");
+ mainWindow.setSizeFull();
+ mainWindow.getLayout().setSizeFull();
+ setMainWindow(mainWindow);
+
+ MyTable table1 = new MyTable(24, "table1");
+ table1.loadTable(1000);
+
+ MyTable table2 = new MyTable(24, "table2");
+ table2.loadTable(1000);
+
+ MyTable table3 = new MyTable(24, "table3");
+ table3.loadTable(1000);
+
+ MyAccordion accordion = new MyAccordion(new Component[] { table1,
+ table2 }, "Test");
+
+ Tabs tab = new Tabs(new Component[] { accordion, table3 });
+
+ mainWindow.addComponent(tab);
+
+ }
+
+ public class MyTable extends CustomComponent implements ValueChangeListener {
+
+ private Table table = new Table();
+ private String[] columns;
+ private ExpandLayout layout = new ExpandLayout();
+
+ public MyTable(int columnNumber, String id) {
+ setDebugId(id);
+ setCompositionRoot(layout);
+ setSizeFull();
+ columns = initializeColumns(columnNumber);
+ table.setWidth("100%");
+ table.setHeight("100%");
+ table.setColumnReorderingAllowed(true);
+ table.setColumnCollapsingAllowed(true);
+ table.setSelectable(true);
+ table.setMultiSelect(false);
+ table.setNullSelectionAllowed(false);
+ // table.setRowHeaderMode(Table.ROW_HEADER_MODE_ID);
+ table.addListener(this);
+ table.setContainerDataSource(createContainer());
+ layout.addComponent(table);
+ }
+
+ public void loadTable(int itemNumber) {
+ table.removeAllItems();
+ for (int j = 0; j < itemNumber; j++) {
+ Item rowItem = table.addItem(j);
+ if (rowItem != null) {
+ for (int i = 0; i < columns.length; i++) {
+ rowItem.getItemProperty(columns[i]).setValue(
+ "Value" + j);
+ }
+ }
+ }
+ }
+
+ private HierarchicalContainer createContainer() {
+ final HierarchicalContainer c = new HierarchicalContainer();
+ for (int i = 0; i < columns.length; i++) {
+ c.addContainerProperty(columns[i], String.class, null);
+ }
+ return c;
+ }
+
+ private String[] initializeColumns(int number) {
+ String[] columns = new String[number];
+ for (int i = 0; i < number; i++) {
+ columns[i] = "Column" + i;
+ }
+ return columns;
+ }
+
+ public void valueChange(ValueChangeEvent event) {
+
+ }
+
+ }
+
+ public class Tabs extends TabSheet {
+
+ public Tabs(Component[] components) {
+ this.setWidth("100%");
+ this.setHeight("100%");
+ for (int i = 0; i < components.length; i++) {
+ this.addTab(components[i], components[i].getDebugId(), null);
+ }
+
+ }
+ }
+
+ public class MyAccordion extends Accordion {
+
+ public MyAccordion(Component[] components, String id) {
+ this.setWidth("100%");
+ this.setHeight("100%");
+ setDebugId(id);
+ for (int i = 0; i < components.length; i++) {
+ this.addTab(components[i], components[i].getDebugId(), null);
+ }
+ }
+ }
+
+}