diff options
author | Jouni Koivuviita <jouni@jounikoivuviita.com> | 2012-04-18 14:34:12 +0300 |
---|---|---|
committer | Jouni Koivuviita <jouni@jounikoivuviita.com> | 2012-04-18 14:34:12 +0300 |
commit | 8d84994be8cdae19c5e2e22f7223614453e0ef1d (patch) | |
tree | 8411a99939240b6f887f88b748df9b1b7eff03d0 | |
parent | 9a9e240a98db853e19ca844659ae1f397241a040 (diff) | |
download | vaadin-framework-8d84994be8cdae19c5e2e22f7223614453e0ef1d.tar.gz vaadin-framework-8d84994be8cdae19c5e2e22f7223614453e0ef1d.zip |
Fixed negative padding setting for IE8 in BoxLayout. Fixed vertical implicit expand ratio distribution for BoxLayout
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/AbstractBoxLayoutConnector.java | 2 | ||||
-rw-r--r-- | src/com/vaadin/terminal/gwt/client/ui/VBoxLayout.java | 16 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/ui/AbstractBoxLayoutConnector.java b/src/com/vaadin/terminal/gwt/client/ui/AbstractBoxLayoutConnector.java index 3d1aa1d697..b4df5215bd 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/AbstractBoxLayoutConnector.java +++ b/src/com/vaadin/terminal/gwt/client/ui/AbstractBoxLayoutConnector.java @@ -142,7 +142,7 @@ public abstract class AbstractBoxLayoutConnector extends // extra space equally if no expand ratios are specified inside a // layout with specified size if (expandRatios.getKeySet().size() == 0 - && ((!getWidget().vertical && !isUndefinedHeight()) || !isUndefinedWidth())) { + && ((getWidget().vertical && !isUndefinedHeight()) || !isUndefinedWidth())) { expandRatio = 1; hasExpandRatio.add(child); } else if (expandRatios.containsKey(pid) diff --git a/src/com/vaadin/terminal/gwt/client/ui/VBoxLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VBoxLayout.java index fcb76783cd..29c619434f 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VBoxLayout.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VBoxLayout.java @@ -608,16 +608,19 @@ public class VBoxLayout extends FlowPanel { if (layoutManager != null) { // TODO check caption position if (vertical) { - totalSize += layoutManager.getOuterHeight(slot + int size = layoutManager.getOuterHeight(slot .getWidget().getElement()) - layoutManager.getMarginHeight(slot .getWidget().getElement()); if (slot.hasCaption()) { - totalSize += layoutManager.getOuterHeight(slot + size += layoutManager.getOuterHeight(slot .getCaptionElement()) - layoutManager.getMarginHeight(slot .getCaptionElement()); } + if (size > 0) { + totalSize += size; + } } else { int max = -1; max = layoutManager.getOuterWidth(slot.getWidget() @@ -631,7 +634,9 @@ public class VBoxLayout extends FlowPanel { .getCaptionElement()); max = Math.max(max, max2); } - totalSize += max; + if (max > 0) { + totalSize += max; + } } } else { totalSize += vertical ? slot.getOffsetHeight() : slot @@ -639,7 +644,10 @@ public class VBoxLayout extends FlowPanel { } } // TODO fails in Opera, always returns 0 - totalSize += slot.getSpacingSize(vertical); + int spacingSize = slot.getSpacingSize(vertical); + if (spacingSize > 0) { + totalSize += spacingSize; + } } // When we set the margin to the first child, we don't need |