protected final Spacing spacingFromCSS = new Spacing(12, 12);\r
protected final Spacing activeSpacing = new Spacing(0, 0);\r
\r
- private Widget clearWidget;\r
-\r
private boolean dynamicWidth;\r
\r
private boolean dynamicHeight;\r
\r
- private static class ClearWidget extends Widget {\r
- public ClearWidget() {\r
- Element clearElement = DOM.createDiv();\r
- DOM.setStyleAttribute(clearElement, "clear", "both");\r
- DOM.setStyleAttribute(clearElement, "width", "0px");\r
- DOM.setStyleAttribute(clearElement, "height", "0px");\r
- setElement(clearElement);\r
- }\r
- }\r
+ private Element clearElement;\r
\r
public static class Spacing {\r
\r
DOM.setStyleAttribute(root, "width", "500%");\r
getElement().appendChild(root);\r
\r
- clearWidget = new ClearWidget();\r
- add(clearWidget, root);\r
+ clearElement = DOM.createDiv();\r
+ DOM.setStyleAttribute(clearElement, "width", "0px");\r
+ DOM.setStyleAttribute(clearElement, "height", "0px");\r
+ DOM.setStyleAttribute(clearElement, "clear", "both");\r
+ DOM.setStyleAttribute(clearElement, "overflow", "hidden");\r
+\r
+ DOM.appendChild(getElement(), clearElement);\r
\r
}\r
\r
return;\r
}\r
\r
- // This call should be made first. Ensure correct implementation,\r
- // and don't let the containing coordinateLayout manage caption, etc.\r
+ /*\r
+ * This must be called before size so that setWidth/setHeight is aware\r
+ * of the margins in use.\r
+ */\r
+ handleMarginsAndSpacing(uidl);\r
\r
+ /*\r
+ * This call should be made first. Ensure correct implementation, handle\r
+ * size etc.\r
+ */\r
if (client.updateComponent(this, uidl, true)) {\r
return;\r
}\r
\r
- handleMarginsAndSpacing(uidl);\r
-\r
handleDynamicDimensions(uidl);\r
\r
}\r