]> source.dussan.org Git - vaadin-framework.git/commitdiff
improved test case
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 19 Sep 2008 06:18:30 +0000 (06:18 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Fri, 19 Sep 2008 06:18:30 +0000 (06:18 +0000)
svn changeset:5450/svn branch:trunk

src/com/itmill/toolkit/tests/tickets/Ticket677.java

index b55049a5600ef431d1f0d56fda714c3d12a8b20e..e38a6e710096f47d30b4d9c81968c88e31f3267d 100644 (file)
@@ -1,11 +1,17 @@
 package com.itmill.toolkit.tests.tickets;\r
 \r
+import java.util.Date;\r
+import java.util.Set;\r
+\r
 import com.itmill.toolkit.Application;\r
+import com.itmill.toolkit.data.Property.ValueChangeEvent;\r
 import com.itmill.toolkit.ui.Button;\r
 import com.itmill.toolkit.ui.DateField;\r
 import com.itmill.toolkit.ui.Form;\r
 import com.itmill.toolkit.ui.GridLayout;\r
 import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.Layout;\r
+import com.itmill.toolkit.ui.OptionGroup;\r
 import com.itmill.toolkit.ui.OrderedLayout;\r
 import com.itmill.toolkit.ui.Panel;\r
 import com.itmill.toolkit.ui.TextField;\r
@@ -29,6 +35,78 @@ public class Ticket677 extends Application {
         GridLayout layout = new GridLayout(10, 10);\r
         w.setLayout(layout);\r
         createUI(layout);\r
+\r
+        createMultiLevelHierarchy();\r
+    }\r
+\r
+    private void createMultiLevelHierarchy() {\r
+\r
+        Layout lo = new OrderedLayout();\r
+\r
+        final OptionGroup disabled = new OptionGroup("Levels to disable");\r
+        disabled.addItem("L1");\r
+        disabled.addItem("L2");\r
+        disabled.addItem("L3");\r
+        disabled.setMultiSelect(true);\r
+        disabled.setImmediate(true);\r
+        lo.addComponent(disabled);\r
+\r
+        final Label lastClick = new Label("-");\r
+        lastClick.setCaption("Last Click:");\r
+        lo.addComponent(lastClick);\r
+\r
+        ClickListener clickListener = new Button.ClickListener() {\r
+            public void buttonClick(ClickEvent event) {\r
+                lastClick.setValue(event.getButton().getCaption() + " : "\r
+                        + new Date());\r
+            }\r
+        };\r
+\r
+        final Panel[] p = new Panel[4];\r
+\r
+        p[1] = new Panel("Level1");\r
+        lo.addComponent(p[1]);\r
+        Button b1 = new Button("Inside level1");\r
+        b1.addListener(clickListener);\r
+        p[1].addComponent(b1);\r
+        Button b1d = new Button("Disabked Inside level1");\r
+        b1d.setEnabled(false);\r
+        b1d.addListener(clickListener);\r
+        p[1].addComponent(b1d);\r
+\r
+        p[2] = new Panel("Level2");\r
+        p[1].addComponent(p[2]);\r
+        Button b2 = new Button("Inside level2");\r
+        b2.addListener(clickListener);\r
+        p[2].addComponent(b2);\r
+        Button b2d = new Button("Disabled Inside level2");\r
+        b2d.setEnabled(false);\r
+        b2d.addListener(clickListener);\r
+        p[2].addComponent(b2d);\r
+\r
+        p[3] = new Panel("Level3");\r
+        p[2].addComponent(p[3]);\r
+        Button b3 = new Button("Inside level3");\r
+        b3.addListener(clickListener);\r
+        p[3].addComponent(b3);\r
+        Button b3d = new Button("Disabled Inside level3");\r
+        b3d.setEnabled(false);\r
+        b3d.addListener(clickListener);\r
+        p[3].addComponent(b3d);\r
+\r
+        disabled.addListener(new OptionGroup.ValueChangeListener() {\r
+            public void valueChange(ValueChangeEvent event) {\r
+                Set disabledIds = (Set) disabled.getValue();\r
+                for (int i = 1; i < 4; i++) {\r
+                    boolean ena = !disabledIds.contains("L" + i);\r
+                    if (p[i].isEnabled() != ena) {\r
+                        p[i].setEnabled(ena);\r
+                    }\r
+                }\r
+            }\r
+        });\r
+\r
+        getMainWindow().addComponent(lo);\r
     }\r
 \r
     private void createUI(GridLayout layout) {\r