From 60db0ae59e0c07985f34b57a85e5abe4bf143908 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Mon, 2 Feb 2009 10:44:49 +0000 Subject: [PATCH] fixes #2495, bad dimensions for contained component on initial paint svn changeset:6699/svn branch:trunk --- .../terminal/gwt/client/ui/ITabsheet.java | 1 + .../terminal/gwt/client/ui/ITabsheetPanel.java | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java index 590e70f85b..a30b884b94 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java @@ -412,6 +412,7 @@ public class ITabsheet extends ITabsheetBase { contentNode.getStyle().setPropertyPx("width", contentWidth); super.setWidth(realWidth + "px"); + updateOpenTabSize(); } @Override diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheetPanel.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheetPanel.java index fa87c11dd4..c7ff6a08fb 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheetPanel.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheetPanel.java @@ -131,8 +131,11 @@ public class ITabsheetPanel extends ComplexPanel { return; } + boolean dynamicHeight = false; + if (height < 0) { height = visibleWidget.getOffsetHeight(); + dynamicHeight = true; } if (width < 0) { width = visibleWidget.getOffsetWidth(); @@ -141,14 +144,22 @@ public class ITabsheetPanel extends ComplexPanel { width = minWidth; } + Element wrapperDiv = (Element) visibleWidget.getElement() + .getParentElement(); + + // width first + getElement().getStyle().setPropertyPx("width", width); + wrapperDiv.getStyle().setPropertyPx("width", width); + + if (dynamicHeight) { + // height of widget might have changed due wrapping + height = visibleWidget.getOffsetHeight(); + } // i-tabsheet-tabsheetpanel height getElement().getStyle().setPropertyPx("height", height); - getElement().getStyle().setPropertyPx("width", width); // widget wrapper height - Element wrapperDiv = DOM.getParent(visibleWidget.getElement()); wrapperDiv.getStyle().setPropertyPx("height", height); - wrapperDiv.getStyle().setPropertyPx("width", width); } public void runWebkitOverflowAutoFix() { -- 2.39.5