aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/tests/TestContainerChanges.java
diff options
context:
space:
mode:
authorMarc Englund <marc.englund@itmill.com>2008-01-31 15:02:31 +0000
committerMarc Englund <marc.englund@itmill.com>2008-01-31 15:02:31 +0000
commit99c2ff4e5565730c2adebe2174bd3bf87def5b4c (patch)
treed5ae1c6d85ae289282cf30a46fa245a3e5c1a904 /src/com/itmill/toolkit/tests/TestContainerChanges.java
parent37aaba61f48a4a321727cc3e242df6b3cf164393 (diff)
downloadvaadin-framework-99c2ff4e5565730c2adebe2174bd3bf87def5b4c.tar.gz
vaadin-framework-99c2ff4e5565730c2adebe2174bd3bf87def5b4c.zip
Added test.
svn changeset:3688/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/tests/TestContainerChanges.java')
-rw-r--r--src/com/itmill/toolkit/tests/TestContainerChanges.java200
1 files changed, 200 insertions, 0 deletions
diff --git a/src/com/itmill/toolkit/tests/TestContainerChanges.java b/src/com/itmill/toolkit/tests/TestContainerChanges.java
new file mode 100644
index 0000000000..45a70f88a2
--- /dev/null
+++ b/src/com/itmill/toolkit/tests/TestContainerChanges.java
@@ -0,0 +1,200 @@
+/**
+ *
+ */
+package com.itmill.toolkit.tests;
+
+import com.itmill.toolkit.data.Container;
+import com.itmill.toolkit.data.Property.ValueChangeEvent;
+import com.itmill.toolkit.data.util.ContainerHierarchicalWrapper;
+import com.itmill.toolkit.data.util.ContainerOrderedWrapper;
+import com.itmill.toolkit.data.util.IndexedContainer;
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.ComboBox;
+import com.itmill.toolkit.ui.CustomComponent;
+import com.itmill.toolkit.ui.ListSelect;
+import com.itmill.toolkit.ui.OrderedLayout;
+import com.itmill.toolkit.ui.Panel;
+import com.itmill.toolkit.ui.Table;
+import com.itmill.toolkit.ui.Tree;
+import com.itmill.toolkit.ui.Button.ClickEvent;
+
+/**
+ * @author marc
+ *
+ */
+public class TestContainerChanges extends CustomComponent {
+ Container cont = new IndexedContainer();
+ Container notordered = new ContainerHierarchicalWrapper(cont);
+ Container nothierarchical = new ContainerOrderedWrapper(cont);
+
+ int cnt = 0;
+ Table tbl;
+
+ public TestContainerChanges() {
+
+ cont.addContainerProperty("Asd", String.class, "qwe");
+ cont.addContainerProperty("Bar", String.class, "foo");
+
+ OrderedLayout main = new OrderedLayout();
+ setCompositionRoot(main);
+
+ OrderedLayout h = new OrderedLayout(
+ OrderedLayout.ORIENTATION_HORIZONTAL);
+
+ main.addComponent(h);
+
+ OrderedLayout v = new OrderedLayout();
+ h.addComponent(v);
+ tbl = new Table();
+ tbl.setHeight(200);
+ tbl.setWidth(300);
+ v.addComponent(tbl);
+ tbl.setSelectable(true);
+ tbl.setMultiSelect(false);
+ tbl.setImmediate(true);
+ tbl.setEditable(true);
+ tbl.setRowHeaderMode(Table.ROW_HEADER_MODE_ID);
+ // Original container
+ tbl.setContainerDataSource(notordered);
+
+ Table tbl2 = new Table();
+ tbl2.setHeight(200);
+ tbl2.setWidth(300);
+ v.addComponent(tbl2);
+ tbl2.setSelectable(true);
+ tbl2.setMultiSelect(false);
+ tbl2.setImmediate(true);
+ tbl2.addListener(new Table.ValueChangeListener() {
+ public void valueChange(ValueChangeEvent event) {
+ System.err.println("Value now "
+ + event.getProperty().getValue());
+
+ }
+ });
+ tbl2.setRowHeaderMode(Table.ROW_HEADER_MODE_ID);
+ // non-ordered container will get wrapped
+ tbl2.setContainerDataSource(notordered);
+
+ OrderedLayout buttons = new OrderedLayout();
+ v.addComponent(buttons);
+
+ Button b = new Button("Commit", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ tbl.commit();
+ }
+
+ });
+ buttons.addComponent(b);
+
+ b = new Button("Add item", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ cont.addItem(new Integer(cnt++));
+ }
+
+ });
+ buttons.addComponent(b);
+ b = new Button("Add NULL item", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ cont.addItem(null);
+ }
+
+ });
+ buttons.addComponent(b);
+ b = new Button("Remove last", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ cont.removeItem(tbl.lastItemId());
+ }
+
+ });
+ buttons.addComponent(b);
+
+ b = new Button("Add property", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ cont.addContainerProperty("prop" + cnt, String.class, "#"
+ + cnt++);
+ }
+
+ });
+ buttons.addComponent(b);
+
+ b = new Button("clear", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ cont.removeAllItems();
+ }
+
+ });
+ buttons.addComponent(b);
+ b = new Button("idx", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ tbl.setContainerDataSource(cont);
+ }
+
+ });
+ buttons.addComponent(b);
+ b = new Button("nothierarchical", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ tbl.setContainerDataSource(nothierarchical);
+ }
+
+ });
+ buttons.addComponent(b);
+ b = new Button("notordered", new Button.ClickListener() {
+
+ public void buttonClick(ClickEvent event) {
+ tbl.setContainerDataSource(notordered);
+ }
+
+ });
+ buttons.addComponent(b);
+
+ Panel p = new Panel("Tree");
+ p.setStyleName(Panel.STYLE_LIGHT);
+ h.addComponent(p);
+ Tree tree = new Tree("ITEM_CAPTION_MODE_PROPERTY");
+ tree.setContainerDataSource(nothierarchical);
+ tree.setItemCaptionPropertyId("Asd");
+ tree.setItemCaptionMode(Tree.ITEM_CAPTION_MODE_PROPERTY);
+ p.addComponent(tree);
+ tree = new Tree("ITEM_CAPTION_MODE_ITEM");
+ // nonhierarchical container will get wrapped
+ tree.setContainerDataSource(nothierarchical);
+ tree.setItemCaptionMode(Tree.ITEM_CAPTION_MODE_ITEM);
+ p.addComponent(tree);
+
+ p = new Panel("ComboBox");
+ p.setStyleName(Panel.STYLE_LIGHT);
+ h.addComponent(p);
+ ComboBox c = new ComboBox("ITEM_CAPTION_MODE_PROPERTY");
+ c.setImmediate(true);
+ c.setContainerDataSource(cont);
+ c.setItemCaptionPropertyId("Asd");
+ c.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_PROPERTY);
+ p.addComponent(c);
+ c = new ComboBox("ITEM_CAPTION_MODE_ITEM");
+ c.setImmediate(true);
+ c.setContainerDataSource(cont);
+ c.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_ITEM);
+ p.addComponent(c);
+
+ p = new Panel("ListBox");
+ p.setStyleName(Panel.STYLE_LIGHT);
+ h.addComponent(p);
+ ListSelect l = new ListSelect("ITEM_CAPTION_MODE_PROPERTY");
+ l.setContainerDataSource(cont);
+ l.setItemCaptionPropertyId("Asd");
+ l.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_PROPERTY);
+ p.addComponent(l);
+ l = new ListSelect("ITEM_CAPTION_MODE_ITEM");
+ l.setContainerDataSource(cont);
+ l.setItemCaptionMode(ComboBox.ITEM_CAPTION_MODE_ITEM);
+ p.addComponent(l);
+ }
+}