--- /dev/null
+package com.itmill.toolkit.tests.layouts;\r
+\r
+import com.itmill.toolkit.tests.components.TestBase;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.VerticalLayout;\r
+import com.itmill.toolkit.ui.Window;\r
+import com.itmill.toolkit.ui.Button.ClickEvent;\r
+import com.itmill.toolkit.ui.Button.ClickListener;\r
+\r
+public class VerticalLayoutExpandRatioModification extends TestBase implements\r
+ ClickListener {\r
+\r
+ private boolean isVisible = false;\r
+ private VerticalLayout mainLayout;\r
+ private VerticalLayout vl1;\r
+ private VerticalLayout vl2;\r
+ private Button button;\r
+\r
+ public void setup() {\r
+ Window main = new Window("The Main Window");\r
+ mainLayout = new VerticalLayout();\r
+ main.setLayout(mainLayout);\r
+ setMainWindow(main);\r
+\r
+ // The upper layout\r
+ vl1 = new VerticalLayout();\r
+ Label label1 = new Label("The upper layout");\r
+ vl1.addComponent(label1);\r
+\r
+ // Button that hides or shows the bottom part\r
+ button = new Button("show / hide", this);\r
+\r
+ // The bottom layout\r
+ vl2 = new VerticalLayout();\r
+ Label label2 = new Label("The bottom layout");\r
+ vl2.addComponent(label2);\r
+\r
+ // Add everything to the view\r
+ mainLayout.addComponent(vl1);\r
+ mainLayout.addComponent(button);\r
+ mainLayout.addComponent(vl2);\r
+\r
+ // Set expand ratios, hide lower\r
+ mainLayout.setExpandRatio(vl1, 1);\r
+ mainLayout.setExpandRatio(vl2, 0);\r
+\r
+ // Maximize everything\r
+ main.setSizeFull();\r
+ mainLayout.setSizeFull();\r
+ vl1.setSizeFull();\r
+ vl2.setSizeFull();\r
+ }\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ if (isVisible) {\r
+ mainLayout.setExpandRatio(vl2, 0);\r
+ isVisible = false;\r
+ } else {\r
+ mainLayout.setExpandRatio(vl2, 1);\r
+ isVisible = true;\r
+ }\r
+ }\r
+\r
+ @Override\r
+ protected String getDescription() {\r
+ return "Changing the expand ratio should repaint the layout correctly. Changing from 0 to something else should render the previously invisible component";\r
+ }\r
+\r
+ @Override\r
+ protected Integer getTicketNumber() {\r
+ return 2454;\r
+ }\r
+}\r