]> source.dussan.org Git - vaadin-framework.git/commitdiff
Added test.
authorMarc Englund <marc.englund@itmill.com>
Thu, 31 Jan 2008 15:02:31 +0000 (15:02 +0000)
committerMarc Englund <marc.englund@itmill.com>
Thu, 31 Jan 2008 15:02:31 +0000 (15:02 +0000)
svn changeset:3688/svn branch:trunk

src/com/itmill/toolkit/tests/TestContainerChanges.java [new file with mode: 0644]

diff --git a/src/com/itmill/toolkit/tests/TestContainerChanges.java b/src/com/itmill/toolkit/tests/TestContainerChanges.java
new file mode 100644 (file)
index 0000000..45a70f8
--- /dev/null
@@ -0,0 +1,200 @@
+/**\r
+ * \r
+ */\r
+package com.itmill.toolkit.tests;\r
+\r
+import com.itmill.toolkit.data.Container;\r
+import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
+import com.itmill.toolkit.data.util.ContainerHierarchicalWrapper;\r
+import com.itmill.toolkit.data.util.ContainerOrderedWrapper;\r
+import com.itmill.toolkit.data.util.IndexedContainer;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.ComboBox;\r
+import com.itmill.toolkit.ui.CustomComponent;\r
+import com.itmill.toolkit.ui.ListSelect;\r
+import com.itmill.toolkit.ui.OrderedLayout;\r
+import com.itmill.toolkit.ui.Panel;\r
+import com.itmill.toolkit.ui.Table;\r
+import com.itmill.toolkit.ui.Tree;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+\r
+/**\r
+ * @author marc\r
+ * \r
+ */\r
+public class TestContainerChanges extends CustomComponent {\r
+    Container cont = new IndexedContainer();\r
+    Container notordered = new ContainerHierarchicalWrapper(cont);\r
+    Container nothierarchical = new ContainerOrderedWrapper(cont);\r
+\r
+    int cnt = 0;\r
+    Table tbl;\r
+\r
+    public TestContainerChanges() {\r
+\r
+        cont.addContainerProperty("Asd", String.class, "qwe");\r
+        cont.addContainerProperty("Bar", String.class, "foo");\r
+\r
+        OrderedLayout main = new OrderedLayout();\r
+        setCompositionRoot(main);\r
+\r
+        OrderedLayout h = new OrderedLayout(\r
+                OrderedLayout.ORIENTATION_HORIZONTAL);\r
+\r
+        main.addComponent(h);\r
+\r
+        OrderedLayout v = new OrderedLayout();\r
+        h.addComponent(v);\r
+        tbl = new Table();\r
+        tbl.setHeight(200);\r
+        tbl.setWidth(300);\r
+        v.addComponent(tbl);\r
+        tbl.setSelectable(true);\r
+        tbl.setMultiSelect(false);\r
+        tbl.setImmediate(true);\r
+        tbl.setEditable(true);\r
+        tbl.setRowHeaderMode(Table.ROW_HEADER_MODE_ID);\r
+        // Original container\r
+        tbl.setContainerDataSource(notordered);\r
+\r
+        Table tbl2 = new Table();\r
+        tbl2.setHeight(200);\r
+        tbl2.setWidth(300);\r
+        v.addComponent(tbl2);\r
+        tbl2.setSelectable(true);\r
+        tbl2.setMultiSelect(false);\r
+        tbl2.setImmediate(true);\r
+        tbl2.addListener(new Table.ValueChangeListener() {\r
+            public void valueChange(ValueChangeEvent event) {\r
+                System.err.println("Value now "\r
+                        + event.getProperty().getValue());\r
+\r
+            }\r
+        });\r
+        tbl2.setRowHeaderMode(Table.ROW_HEADER_MODE_ID);\r
+        // non-ordered container will get wrapped\r
+        tbl2.setContainerDataSource(notordered);\r
+\r
+        OrderedLayout buttons = new OrderedLayout();\r
+        v.addComponent(buttons);\r
+\r
+        Button b = new Button("Commit", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                tbl.commit();\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+\r
+        b = new Button("Add item", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                cont.addItem(new Integer(cnt++));\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+        b = new Button("Add NULL item", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                cont.addItem(null);\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+        b = new Button("Remove last", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                cont.removeItem(tbl.lastItemId());\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+\r
+        b = new Button("Add property", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                cont.addContainerProperty("prop" + cnt, String.class, "#"\r
+                        + cnt++);\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+\r
+        b = new Button("clear", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                cont.removeAllItems();\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+        b = new Button("idx", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                tbl.setContainerDataSource(cont);\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+        b = new Button("nothierarchical", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                tbl.setContainerDataSource(nothierarchical);\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+        b = new Button("notordered", new Button.ClickListener() {\r
+\r
+            public void buttonClick(ClickEvent event) {\r
+                tbl.setContainerDataSource(notordered);\r
+            }\r
+\r
+        });\r
+        buttons.addComponent(b);\r
+\r
+        Panel p = new Panel("Tree");\r
+        p.setStyleName(Panel.STYLE_LIGHT);\r
+        h.addComponent(p);\r
+        Tree tree = new Tree("ITEM_CAPTION_MODE_PROPERTY");\r
+        tree.setContainerDataSource(nothierarchical);\r
+        tree.setItemCaptionPropertyId("Asd");\r
+        tree.setItemCaptionMode(Tree.ITEM_CAPTION_MODE_PROPERTY);\r
+        p.addComponent(tree);\r
+        tree = new Tree("ITEM_CAPTION_MODE_ITEM");\r
+        // nonhierarchical container will get wrapped\r
+        tree.setContainerDataSource(nothierarchical);\r
+        tree.setItemCaptionMode(Tree.ITEM_CAPTION_MODE_ITEM);\r
+        p.addComponent(tree);\r
+\r
+        p = new Panel("ComboBox");\r
+        p.setStyleName(Panel.STYLE_LIGHT);\r
+        h.addComponent(p);\r
+        ComboBox c = new ComboBox("ITEM_CAPTION_MODE_PROPERTY");\r
+        c.setImmediate(true);\r
+        c.setContainerDataSource(cont);\r
+        c.setItemCaptionPropertyId("Asd");\r
+        c.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_PROPERTY);\r
+        p.addComponent(c);\r
+        c = new ComboBox("ITEM_CAPTION_MODE_ITEM");\r
+        c.setImmediate(true);\r
+        c.setContainerDataSource(cont);\r
+        c.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_ITEM);\r
+        p.addComponent(c);\r
+\r
+        p = new Panel("ListBox");\r
+        p.setStyleName(Panel.STYLE_LIGHT);\r
+        h.addComponent(p);\r
+        ListSelect l = new ListSelect("ITEM_CAPTION_MODE_PROPERTY");\r
+        l.setContainerDataSource(cont);\r
+        l.setItemCaptionPropertyId("Asd");\r
+        l.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_PROPERTY);\r
+        p.addComponent(l);\r
+        l = new ListSelect("ITEM_CAPTION_MODE_ITEM");\r
+        l.setContainerDataSource(cont);\r
+        l.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_ITEM);\r
+        p.addComponent(l);\r
+    }\r
+}\r