]> source.dussan.org Git - vaadin-framework.git/commitdiff
Only report sizes for relative children
authorLeif Åstrand <leif@vaadin.com>
Wed, 4 Apr 2012 15:05:28 +0000 (18:05 +0300)
committerLeif Åstrand <leif@vaadin.com>
Wed, 4 Apr 2012 15:21:42 +0000 (18:21 +0300)
src/com/vaadin/terminal/gwt/client/ui/VAbstractSplitPanel.java

index ac715633237bdab3f81db0772c868ebd719cc726..55742f24b366ad43ac63568277581260126c0c15 100644 (file)
@@ -25,6 +25,7 @@ import com.google.gwt.user.client.ui.ComplexPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.vaadin.terminal.gwt.client.ApplicationConnection;
 import com.vaadin.terminal.gwt.client.BrowserInfo;
+import com.vaadin.terminal.gwt.client.ComponentConnector;
 import com.vaadin.terminal.gwt.client.ConnectorMap;
 import com.vaadin.terminal.gwt.client.LayoutManager;
 import com.vaadin.terminal.gwt.client.Util;
@@ -303,14 +304,20 @@ public class VAbstractSplitPanel extends ComplexPanel {
             if (layoutManager.isLayoutRunning()) {
                 ConnectorMap connectorMap = ConnectorMap.get(client);
                 if (firstChild != null) {
-                    layoutManager.reportWidthAssignedToRelative(
-                            connectorMap.getConnector(firstChild),
-                            pixelPosition);
+                    ComponentConnector connector = connectorMap
+                            .getConnector(firstChild);
+                    if (connector.isRelativeWidth()) {
+                        layoutManager.reportWidthAssignedToRelative(connector,
+                                pixelPosition);
+                    }
                 }
                 if (secondChild != null) {
-                    layoutManager.reportWidthAssignedToRelative(
-                            connectorMap.getConnector(secondChild),
-                            secondContainerWidth);
+                    ComponentConnector connector = connectorMap
+                            .getConnector(secondChild);
+                    if (connector.isRelativeWidth()) {
+                        layoutManager.reportWidthAssignedToRelative(connector,
+                                secondContainerWidth);
+                    }
                 }
             }
             break;
@@ -344,14 +351,20 @@ public class VAbstractSplitPanel extends ComplexPanel {
             if (layoutManager.isLayoutRunning()) {
                 ConnectorMap connectorMap = ConnectorMap.get(client);
                 if (firstChild != null) {
-                    layoutManager.reportHeightAssignedToRelative(
-                            connectorMap.getConnector(firstChild),
-                            pixelPosition);
+                    ComponentConnector connector = connectorMap
+                            .getConnector(firstChild);
+                    if (connector.isRelativeHeight()) {
+                        layoutManager.reportHeightAssignedToRelative(connector,
+                                pixelPosition);
+                    }
                 }
                 if (secondChild != null) {
-                    layoutManager.reportHeightAssignedToRelative(
-                            connectorMap.getConnector(secondChild),
-                            secondContainerHeight);
+                    ComponentConnector connector = connectorMap
+                            .getConnector(secondChild);
+                    if (connector.isRelativeHeight()) {
+                        layoutManager.reportHeightAssignedToRelative(connector,
+                                secondContainerHeight);
+                    }
                 }
             }