From 600fae15ba637cfa74e53db76ac2483f4d9c065d Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Mon, 27 Oct 2008 13:40:04 +0000 Subject: [PATCH] Fixed margin handling in OrderedLayout svn changeset:5741/svn branch:trunk --- .../gwt/client/ui/layout/CellBasedLayout.java | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/layout/CellBasedLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/layout/CellBasedLayout.java index 47c96f3522..1012bf6862 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/layout/CellBasedLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/layout/CellBasedLayout.java @@ -32,21 +32,11 @@ public abstract class CellBasedLayout extends ComplexPanel implements Container protected final Spacing spacingFromCSS = new Spacing(12, 12); protected final Spacing activeSpacing = new Spacing(0, 0); - private Widget clearWidget; - private boolean dynamicWidth; private boolean dynamicHeight; - private static class ClearWidget extends Widget { - public ClearWidget() { - Element clearElement = DOM.createDiv(); - DOM.setStyleAttribute(clearElement, "clear", "both"); - DOM.setStyleAttribute(clearElement, "width", "0px"); - DOM.setStyleAttribute(clearElement, "height", "0px"); - setElement(clearElement); - } - } + private Element clearElement; public static class Spacing { @@ -76,8 +66,13 @@ public abstract class CellBasedLayout extends ComplexPanel implements Container DOM.setStyleAttribute(root, "width", "500%"); getElement().appendChild(root); - clearWidget = new ClearWidget(); - add(clearWidget, root); + clearElement = DOM.createDiv(); + DOM.setStyleAttribute(clearElement, "width", "0px"); + DOM.setStyleAttribute(clearElement, "height", "0px"); + DOM.setStyleAttribute(clearElement, "clear", "both"); + DOM.setStyleAttribute(clearElement, "overflow", "hidden"); + + DOM.appendChild(getElement(), clearElement); } @@ -98,15 +93,20 @@ public abstract class CellBasedLayout extends ComplexPanel implements Container return; } - // This call should be made first. Ensure correct implementation, - // and don't let the containing coordinateLayout manage caption, etc. + /* + * This must be called before size so that setWidth/setHeight is aware + * of the margins in use. + */ + handleMarginsAndSpacing(uidl); + /* + * This call should be made first. Ensure correct implementation, handle + * size etc. + */ if (client.updateComponent(this, uidl, true)) { return; } - handleMarginsAndSpacing(uidl); - handleDynamicDimensions(uidl); } -- 2.39.5