]> source.dussan.org Git - vaadin-framework.git/commitdiff
cleaned code, added workaround
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Mon, 25 Feb 2008 11:57:34 +0000 (11:57 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Mon, 25 Feb 2008 11:57:34 +0000 (11:57 +0000)
svn changeset:3915/svn branch:trunk

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

index 266645a12649e6e93f2fe268355acf95f9e11fc8..ee4fb9930bd6b4d5d7d5efd17ddbb1260a56e515 100644 (file)
@@ -7,13 +7,17 @@ import com.itmill.toolkit.ui.Component;
 import com.itmill.toolkit.ui.CustomComponent;
 import com.itmill.toolkit.ui.ExpandLayout;
 import com.itmill.toolkit.ui.Label;
+import com.itmill.toolkit.ui.Layout;
 import com.itmill.toolkit.ui.OrderedLayout;
 import com.itmill.toolkit.ui.Panel;
 import com.itmill.toolkit.ui.Table;
 import com.itmill.toolkit.ui.Window;
+import com.itmill.toolkit.ui.Button.ClickEvent;
 
 public class Ticket1435 extends Application {
 
+    private static final boolean useWorkaround = true;
+
     public void init() {
 
         final Window mainWin = new Window("ButtonPanel containing a table test");
@@ -71,9 +75,16 @@ public class Ticket1435 extends Application {
             label.setStyleName("caption");
             header.addComponent(label);
 
-            OrderedLayout buttonContainer = new OrderedLayout(
-                    OrderedLayout.ORIENTATION_HORIZONTAL);
-            header.addComponent(buttonContainer);
+            final Layout buttonContainer;
+            if (useWorkaround) {
+                buttonContainer = header;
+
+            } else {
+                buttonContainer = new OrderedLayout(
+                        OrderedLayout.ORIENTATION_HORIZONTAL);
+                header.addComponent(buttonContainer);
+
+            }
 
             Button edit = new Button("Edit");
             edit.setStyleName("link");
@@ -99,26 +110,47 @@ public class Ticket1435 extends Application {
             options.setStyleName("link");
             buttonContainer.addComponent(options);
 
-            Button collapse = new Button("Collapse");
+            final Button expand = new Button("Expand");
+
+            final Button collapse = new Button("Collapse");
+            buttonContainer.addComponent(collapse);
+
             collapse.setStyleName("collapse");
             collapse.addListener(new Button.ClickListener() {
                 public void buttonClick(Button.ClickEvent event) {
-                    boolean visible = container.isVisible();
-                    container.setVisible(!visible);
-                    header.setHeight(!visible ? "26px" : "25px");
-                    if (visible) {
+                    if (useWorkaround) {
+                        container.setVisible(false);
                         lastHeight = root.getHeight();
                         lastHeightUnit = root.getHeightUnits();
-                        root.setHeight("25px");
+                        root.setHeight("26px");
+                        buttonContainer.replaceComponent(collapse, expand);
                     } else {
-                        root.setHeight(lastHeight, lastHeightUnit);
+                        boolean visible = container.isVisible();
+                        container.setVisible(!visible);
+                        if (visible) {
+                            lastHeight = root.getHeight();
+                            lastHeightUnit = root.getHeightUnits();
+                            root.setHeight("26px");
+                        } else {
+                            root.setHeight(lastHeight, lastHeightUnit);
+                        }
+                        event.getButton().setCaption(
+                                visible ? "Expand" : "Collapse");
                     }
-                    event.getButton().setCaption(
-                            visible ? "Expand" : "Collapse");
                 }
             });
 
-            buttonContainer.addComponent(collapse);
+            if (useWorkaround) {
+                expand.addListener(new Button.ClickListener() {
+
+                    public void buttonClick(ClickEvent event) {
+                        container.setVisible(true);
+                        root.setHeight(lastHeight, lastHeightUnit);
+                        buttonContainer.replaceComponent(expand, collapse);
+                    }
+                });
+            }
+
         }
 
         private void initContainer() {