]> source.dussan.org Git - vaadin-framework.git/commitdiff
#3444 Missing components in Opera
authorHenri Sara <henri.sara@itmill.com>
Tue, 6 Oct 2009 09:56:44 +0000 (09:56 +0000)
committerHenri Sara <henri.sara@itmill.com>
Tue, 6 Oct 2009 09:56:44 +0000 (09:56 +0000)
svn changeset:9096/svn branch:6.1

src/com/vaadin/terminal/gwt/client/ui/VOrderedLayout.java
src/com/vaadin/terminal/gwt/client/ui/layout/ChildComponentContainer.java

index b37c6abde6e21eefefe5d46aa9ecc79eb62a93b4..282136383d6bbeaabb85839e021391b57fbb26de 100644 (file)
@@ -117,7 +117,7 @@ public class VOrderedLayout extends CellBasedLayout {
                 relativeSizeComponentUIDL.add(childUIDL);\r
             } else {\r
                 if (isDynamicWidth()) {\r
-                    childComponentContainer.renderChild(childUIDL, client, 0);\r
+                    childComponentContainer.renderChild(childUIDL, client, -1);\r
                 } else {\r
                     childComponentContainer.renderChild(childUIDL, client,\r
                             activeLayoutSize.getWidth());\r
@@ -166,7 +166,7 @@ public class VOrderedLayout extends CellBasedLayout {
             UIDL childUIDL = relativeSizeComponentUIDL.get(i);\r
 \r
             if (isDynamicWidth()) {\r
-                childComponentContainer.renderChild(childUIDL, client, 0);\r
+                childComponentContainer.renderChild(childUIDL, client, -1);\r
             } else {\r
                 childComponentContainer.renderChild(childUIDL, client,\r
                         activeLayoutSize.getWidth());\r
index 53065caf9fc1198a08b2a0cbf86a6736d37c81d0..ccda36ff8eea8fe3871d94460557768ae746fd51 100644 (file)
@@ -40,7 +40,7 @@ public class ChildComponentContainer extends Panel {
     private int captionHeight = 0;
 
     /**
-     * 
+     *
      * Padding added to the container when it is larger than the component.
      */
     private Size containerExpansion = new Size(0, 0);
@@ -189,19 +189,20 @@ public class ChildComponentContainer extends Panel {
         /*
          * Must remove width specification from container before rendering to
          * allow components to grow in horizontal direction.
-         * 
+         *
          * For fixed width layouts we specify the width directly so that height
          * is automatically calculated correctly (e.g. for Labels).
          */
         /*
          * This should no longer be needed (after #2563) as all components are
          * such that they can be rendered inside a 0x0 DIV.
+         *
+         * The exception seems to be complex components (Tree and Table) on
+         * Opera (#3444).
          */
-        // if (fixedWidth > 0) {
-        // setLimitedContainerWidth(fixedWidth);
-        // } else {
-        // setUnlimitedContainerWidth();
-        // }
+        if (fixedWidth < 0 && BrowserInfo.get().isOpera()) {
+            setUnlimitedContainerWidth();
+        }
         ((Paintable) widget).updateFromUIDL(childUIDL, client);
     }
 
@@ -610,7 +611,7 @@ public class ChildComponentContainer extends Panel {
     /**
      * Return true if the size of the widget has been specified in the selected
      * orientation.
-     * 
+     *
      * @return
      */
     public boolean widgetHasSizeSpecified(int orientation) {
@@ -653,7 +654,7 @@ public class ChildComponentContainer extends Panel {
     /**
      * Sets the normalized expand ratio of this slot. The fraction that this
      * slot will use of "excess space".
-     * 
+     *
      * @param expandRatio
      */
     public void setNormalizedExpandRatio(double expandRatio) {