summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeif Åstrand <leif@vaadin.com>2012-02-27 16:04:46 +0200
committerLeif Åstrand <leif@vaadin.com>2012-02-27 16:05:01 +0200
commite6a278ea4cf7760bce5ef03e487d99c16cf20bbf (patch)
tree4a5ead652a3dac0e9437d3551b2876562384579a
parent9cda1cc5cafc61fdb29bc6e79f52a4bf281762e4 (diff)
downloadvaadin-framework-e6a278ea4cf7760bce5ef03e487d99c16cf20bbf.tar.gz
vaadin-framework-e6a278ea4cf7760bce5ef03e487d99c16cf20bbf.zip
Update GridLayout to use its "margins" (#8313)
-rw-r--r--src/com/vaadin/terminal/gwt/client/LayoutManager.java8
-rw-r--r--src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java26
2 files changed, 25 insertions, 9 deletions
diff --git a/src/com/vaadin/terminal/gwt/client/LayoutManager.java b/src/com/vaadin/terminal/gwt/client/LayoutManager.java
index e90e045356..bb869ac2d0 100644
--- a/src/com/vaadin/terminal/gwt/client/LayoutManager.java
+++ b/src/com/vaadin/terminal/gwt/client/LayoutManager.java
@@ -330,4 +330,12 @@ public class LayoutManager {
public int getPaddingLeft(Element element) {
return getMeasuredSize(element, nullSize).getPaddingLeft();
}
+
+ public int getPaddingBottom(Element element) {
+ return getMeasuredSize(element, nullSize).getPaddingBottom();
+ }
+
+ public int getPaddingRight(Element element) {
+ return getMeasuredSize(element, null).getPaddingRight();
+ }
}
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java b/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
index 789fb66750..7c1f13e977 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VGridLayout.java
@@ -17,9 +17,6 @@ import com.google.gwt.user.client.Element;
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.ComponentState;
-import com.vaadin.terminal.gwt.client.RenderSpace;
-import com.vaadin.terminal.gwt.client.StyleConstants;
import com.vaadin.terminal.gwt.client.LayoutManager;
import com.vaadin.terminal.gwt.client.UIDL;
import com.vaadin.terminal.gwt.client.Util;
@@ -190,9 +187,13 @@ public class VGridLayout extends ComplexPanel {
void layoutCellsVertically() {
int verticalSpacing = getVerticalSpacing();
- int y = 0;
+ LayoutManager layoutManager = LayoutManager.get(client);
+ Element element = getElement();
+ int paddingTop = layoutManager.getPaddingTop(element);
+ int y = paddingTop;
+
for (int i = 0; i < cells.length; i++) {
- y = 0;
+ y = paddingTop;
for (int j = 0; j < cells[i].length; j++) {
Cell cell = cells[i][j];
if (cell != null) {
@@ -203,13 +204,17 @@ public class VGridLayout extends ComplexPanel {
}
if (isUndefinedHeight()) {
- int innerHeight = y - verticalSpacing;
- getElement().getStyle().setHeight(innerHeight, Unit.PX);
+ int outerHeight = y - verticalSpacing
+ + layoutManager.getPaddingBottom(element)
+ + layoutManager.getBorderHeight(element);
+ element.getStyle().setHeight(outerHeight, Unit.PX);
}
}
void layoutCellsHorizontally() {
- int x = 0;
+ LayoutManager layoutManager = LayoutManager.get(client);
+ Element element = getElement();
+ int x = layoutManager.getPaddingLeft(element);
int horizontalSpacing = getHorizontalSpacing();
for (int i = 0; i < cells.length; i++) {
for (int j = 0; j < cells[i].length; j++) {
@@ -222,7 +227,10 @@ public class VGridLayout extends ComplexPanel {
}
if (isUndefinedWidth()) {
- getElement().getStyle().setWidth((x - horizontalSpacing), Unit.PX);
+ int outerWidth = x - horizontalSpacing
+ + layoutManager.getPaddingRight(element)
+ + layoutManager.getBorderWidth(element);
+ element.getStyle().setWidth(outerWidth, Unit.PX);
}
}