]> source.dussan.org Git - vaadin-framework.git/commitdiff
Added testcase for #1982.
authorJouni Koivuviita <jouni.koivuviita@itmill.com>
Fri, 15 Aug 2008 08:39:22 +0000 (08:39 +0000)
committerJouni Koivuviita <jouni.koivuviita@itmill.com>
Fri, 15 Aug 2008 08:39:22 +0000 (08:39 +0000)
svn changeset:5189/svn branch:trunk

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

diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket1982.java b/src/com/itmill/toolkit/tests/tickets/Ticket1982.java
new file mode 100644 (file)
index 0000000..892b8ee
--- /dev/null
@@ -0,0 +1,83 @@
+package com.itmill.toolkit.tests.tickets;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.itmill.toolkit.Application;
+import com.itmill.toolkit.ui.Button;
+import com.itmill.toolkit.ui.ExpandLayout;
+import com.itmill.toolkit.ui.GridLayout;
+import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.Window;
+import com.itmill.toolkit.ui.Button.ClickEvent;
+import com.itmill.toolkit.ui.Button.ClickListener;
+
+public class Ticket1982 extends Application {
+
+    private List components = new ArrayList();
+
+    public void init() {
+        Window main = new Window();
+        setMainWindow(main);
+
+        GridLayout gl = new GridLayout(2, 2);
+        gl.setSizeFull();
+        main.setLayout(gl);
+        gl.setMargin(true);
+
+        TitleBar t1 = new TitleBar("Title 1", gl);
+        TitleBar t2 = new TitleBar("Title 2", gl);
+        TitleBar t3 = new TitleBar("Title 3", gl);
+        TitleBar t4 = new TitleBar("Title 4", gl);
+        components.add(t1);
+        components.add(t2);
+        components.add(t3);
+        components.add(t4);
+
+        restoreComponents(gl);
+
+    }
+
+    private void restoreComponents(GridLayout gl) {
+        gl.removeAllComponents();
+        gl.addComponent((TitleBar) components.get(0));
+        gl.addComponent((TitleBar) components.get(1));
+        gl.addComponent((TitleBar) components.get(2));
+        gl.addComponent((TitleBar) components.get(3));
+    }
+
+    private class TitleBar extends ExpandLayout {
+
+        private Button max = new Button("Max");
+        private Button min = new Button("Min");
+        private GridLayout layout;
+
+        public TitleBar(String title, GridLayout layout) {
+            super(ExpandLayout.ORIENTATION_HORIZONTAL);
+            this.layout = layout;
+            addComponent(new Label(title));
+            addComponent(max);
+            addComponent(min);
+            min.setVisible(false);
+
+            max.addListener(new ClickListener() {
+                public void buttonClick(ClickEvent event) {
+                    min.setVisible(true);
+                    max.setVisible(false);
+                    TitleBar.this.layout.removeAllComponents();
+                    TitleBar.this.layout
+                            .addComponent(TitleBar.this, 0, 0, 1, 1);
+                }
+            });
+            min.addListener(new ClickListener() {
+                public void buttonClick(ClickEvent event) {
+                    min.setVisible(false);
+                    max.setVisible(true);
+                    restoreComponents(TitleBar.this.layout);
+                }
+            });
+        }
+
+    }
+
+}