aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Koivuviita <jouni@jounikoivuviita.com>2012-04-18 14:34:12 +0300
committerJouni Koivuviita <jouni@jounikoivuviita.com>2012-04-18 14:34:12 +0300
commit8d84994be8cdae19c5e2e22f7223614453e0ef1d (patch)
tree8411a99939240b6f887f88b748df9b1b7eff03d0
parent9a9e240a98db853e19ca844659ae1f397241a040 (diff)
downloadvaadin-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.java2
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VBoxLayout.java16
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