]> source.dussan.org Git - vaadin-framework.git/commitdiff
Allocate full width to relative children.
authorLeif Åstrand <leif@vaadin.com>
Wed, 4 Apr 2012 14:26:07 +0000 (17:26 +0300)
committerLeif Åstrand <leif@vaadin.com>
Wed, 4 Apr 2012 14:26:07 +0000 (17:26 +0300)
This reduces the risk of initially adding scrollbars that would require
additional propagation to get rid of.

src/com/vaadin/terminal/gwt/client/ui/AbstractOrderedLayoutConnector.java
src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java

index 825b54bab68f13a4ac7430021f40a064b3dd4272..d98f10c419278912f5f33d9e46c048c4e886b45a 100644 (file)
@@ -7,6 +7,7 @@ import java.util.List;
 
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.dom.client.Style;
+import com.google.gwt.dom.client.Style.Unit;
 import com.google.gwt.user.client.Element;
 import com.google.gwt.user.client.ui.Widget;
 import com.vaadin.terminal.gwt.client.ApplicationConnection;
@@ -285,6 +286,9 @@ public abstract class AbstractOrderedLayoutConnector extends
                         .getStylePrimaryName(), child, this);
             }
             layout.addOrMove(slot, currentIndex++);
+            if (child.isRelativeWidth()) {
+                slot.getWrapperElement().getStyle().setWidth(100, Unit.PCT);
+            }
         }
 
         for (ComponentConnector child : previousChildren) {
index f9782f51438733c752c2bbb2cc2f9a32f61a0239..c0c14fdee73d78b0c52e4def0ebc9ab2590a131c 100644 (file)
@@ -562,6 +562,10 @@ public class VGridLayout extends ComplexPanel {
                 if (slot == null || slot.getChild() != childConnector) {
                     slot = new ComponentConnectorLayoutSlot(CLASSNAME,
                             childConnector, getConnector());
+                    if (childConnector.isRelativeWidth()) {
+                        slot.getWrapperElement().getStyle()
+                                .setWidth(100, Unit.PCT);
+                    }
                     Element slotWrapper = slot.getWrapperElement();
                     getElement().appendChild(slotWrapper);