--- /dev/null
+package com.itmill.toolkit.tests.tickets;\r
+\r
+import com.itmill.toolkit.Application;\r
+import com.itmill.toolkit.ui.Button;\r
+import com.itmill.toolkit.ui.ExpandLayout;\r
+import com.itmill.toolkit.ui.Label;\r
+import com.itmill.toolkit.ui.Panel;\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 Ticket2021 extends Application {\r
+\r
+ private ExpandLayout layout;\r
+\r
+ public void init() {\r
+ Window w = new Window(getClass().getSimpleName());\r
+ setMainWindow(w);\r
+\r
+ Panel p = new Panel();\r
+ p.setCaption("ExpandLayout");\r
+ p.setWidth(500);\r
+ p.setHeight(500);\r
+ p.getLayout().setSizeFull();\r
+ layout = new ExpandLayout();\r
+ p.getLayout().addComponent(layout);\r
+ w.getLayout().addComponent(p);\r
+\r
+ createUI(layout);\r
+ }\r
+\r
+ private void createUI(ExpandLayout layout) {\r
+ Label l = new Label("Label");\r
+ Button b = new Button("Enable/disable caption and watch button move",\r
+ new ClickListener() {\r
+\r
+ public void buttonClick(ClickEvent event) {\r
+ System.out.println("Enable caption");\r
+\r
+ if (Ticket2021.this.layout.getCaption() == null) {\r
+ Ticket2021.this.layout\r
+ .setCaption("Expand layout caption");\r
+ } else {\r
+ Ticket2021.this.layout.setCaption(null);\r
+ }\r
+\r
+ }\r
+\r
+ });\r
+ Label l2 = new Label("This should always be visible");\r
+\r
+ layout.addComponent(l);\r
+ layout.addComponent(b);\r
+ layout.addComponent(l2);\r
+\r
+ layout.expand(l);\r
+ }\r
+}\r