public void iLayout() {
if (orientationMode == ORIENTATION_HORIZONTAL) {
- int pixels = getOffsetHeight() - getTopMargin() - getBottomMargin();
- if (pixels < 0) {
- pixels = 0;
+ int pixels;
+ if ("".equals(height)) {
+ // try to find minimum height by looping all widgets
+ int maxHeight = 0;
+ Iterator iterator = getPaintables().iterator();
+ while (iterator.hasNext()) {
+ Widget w = (Widget) iterator.next();
+ int h = w.getOffsetHeight();
+ if (h > maxHeight) {
+ maxHeight = h;
+ }
+ }
+ pixels = maxHeight;
+ } else {
+ pixels = getOffsetHeight() - getTopMargin() - getBottomMargin();
+ if (pixels < 0) {
+ pixels = 0;
+ }
}
DOM.setStyleAttribute(marginElement, "height", pixels + "px");
DOM.setStyleAttribute(marginElement, "overflow", "hidden");
import com.itmill.toolkit.ui.ExpandLayout;\r
import com.itmill.toolkit.ui.Label;\r
import com.itmill.toolkit.ui.OrderedLayout;\r
+import com.itmill.toolkit.ui.Panel;\r
\r
/**\r
* \r
\r
public void createNewView() {\r
main.removeAllComponents();\r
- for (int i = 0; i < 10; i++) {\r
+ for (int i = 0; i < 6; i++) {\r
final ExpandLayout el = new ExpandLayout(\r
OrderedLayout.ORIENTATION_HORIZONTAL);\r
- for (int j = 0; j < 10; j++) {\r
+ for (int j = 0; j < i + 3; j++) {\r
final Label l = new Label("label" + i + ":" + j);\r
el.addComponent(l);\r
}\r
if (i > 0) {\r
- el.setHeight(1, ExpandLayout.UNITS_EM);\r
+ // el.setMargin(true);\r
+ el.setSizeUndefined();\r
+ el.setWidth("100%");\r
+ if (i % 2 == 0) {\r
+ el.setHeight("8em");\r
+ Panel p = new Panel("tp");\r
+ p.addComponent(new Label("panelc"));\r
+ p.setHeight("100%");\r
+ p.setWidth("100px");\r
+ el.addComponent(p);\r
+ }\r
}\r
main.addComponent(el);\r
}\r