]> source.dussan.org Git - vaadin-framework.git/commitdiff
fixes #2495, bad dimensions for contained component on initial paint
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Mon, 2 Feb 2009 10:44:49 +0000 (10:44 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Mon, 2 Feb 2009 10:44:49 +0000 (10:44 +0000)
svn changeset:6699/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheet.java
src/com/itmill/toolkit/terminal/gwt/client/ui/ITabsheetPanel.java

index 590e70f85be290cb38f946baa769ab87679b77da..a30b884b94c7a42f0b2f99fc4b49de13984ed24d 100644 (file)
@@ -412,6 +412,7 @@ public class ITabsheet extends ITabsheetBase {
 
         contentNode.getStyle().setPropertyPx("width", contentWidth);
         super.setWidth(realWidth + "px");
+        updateOpenTabSize();
     }
 
     @Override
index fa87c11dd4257fb1ebda831dd8971138dde64da2..c7ff6a08fb47df582c56d49766a9de7557759045 100644 (file)
@@ -131,8 +131,11 @@ public class ITabsheetPanel extends ComplexPanel {
             return;\r
         }\r
 \r
+        boolean dynamicHeight = false;\r
+\r
         if (height < 0) {\r
             height = visibleWidget.getOffsetHeight();\r
+            dynamicHeight = true;\r
         }\r
         if (width < 0) {\r
             width = visibleWidget.getOffsetWidth();\r
@@ -141,14 +144,22 @@ public class ITabsheetPanel extends ComplexPanel {
             width = minWidth;\r
         }\r
 \r
+        Element wrapperDiv = (Element) visibleWidget.getElement()\r
+                .getParentElement();\r
+\r
+        // width first\r
+        getElement().getStyle().setPropertyPx("width", width);\r
+        wrapperDiv.getStyle().setPropertyPx("width", width);\r
+\r
+        if (dynamicHeight) {\r
+            // height of widget might have changed due wrapping\r
+            height = visibleWidget.getOffsetHeight();\r
+        }\r
         // i-tabsheet-tabsheetpanel height\r
         getElement().getStyle().setPropertyPx("height", height);\r
-        getElement().getStyle().setPropertyPx("width", width);\r
 \r
         // widget wrapper height\r
-        Element wrapperDiv = DOM.getParent(visibleWidget.getElement());\r
         wrapperDiv.getStyle().setPropertyPx("height", height);\r
-        wrapperDiv.getStyle().setPropertyPx("width", width);\r
     }\r
 \r
     public void runWebkitOverflowAutoFix() {\r