From: Matti Tahvonen Date: Wed, 12 Nov 2008 09:48:24 +0000 (+0000) Subject: IGridLayout enhancements: correct available space and canvas size X-Git-Tag: 6.7.0.beta1~3822 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=aaafd7e4d4853ba2a22f5d6d5568a36a427abe12;p=vaadin-framework.git IGridLayout enhancements: correct available space and canvas size svn changeset:5872/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java index 2d0238c9ee..182c102715 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java @@ -307,8 +307,20 @@ public class IGridLayout extends SimplePanel implements Paintable, Container { } x += columnWidths[i] + spacingPixels; } - // ensure canvas is right size - canvas.setPixelSize(x - spacingPixels, y - spacingPixels); + + if ("".equals(width)) { + canvas.setWidth((x - spacingPixels) + "px"); + } else { + // main element defines width + canvas.setWidth(""); + } + int canvasHeight; + if ("".equals(height)) { + canvasHeight = y - spacingPixels; + } else { + canvasHeight = getOffsetHeight() - marginTopAndBottom; + } + canvas.setHeight(canvasHeight + "px"); } private void renderRemainingComponents(LinkedList pendingCells) { @@ -718,7 +730,9 @@ public class IGridLayout extends SimplePanel implements Paintable, Container { } public RenderSpace getAllocatedSpace() { - return new RenderSpace(getAvailableWidth(), getAvailableHeight()); + return new RenderSpace(getAvailableWidth() + - cc.getCaptionWidthAfterComponent(), getAvailableHeight() + - cc.getCaptionHeightAboveComponent()); } public boolean hasContent() {