From 798d35b70d615bbb30a45b0280712ad0b528d2c1 Mon Sep 17 00:00:00 2001 From: Jouni Koivuviita Date: Mon, 25 May 2009 11:17:27 +0000 Subject: [PATCH] Fixed horizontalPaddingAndBorder measurement for IE6. Vertical version could use a similar fix, but since there are no known issues currently, keeping it simple. Added a classname to VWindow: v-window-footer-no-resize. This is needed by IE7, that fails to render floated resizebox inside the footer properly. svn changeset:7986/svn branch:6.0 --- src/com/vaadin/terminal/gwt/client/Util.java | 8 ++++++++ src/com/vaadin/terminal/gwt/client/ui/VWindow.java | 3 +++ 2 files changed, 11 insertions(+) diff --git a/src/com/vaadin/terminal/gwt/client/Util.java b/src/com/vaadin/terminal/gwt/client/Util.java index 99e9e8cce1..a1e542ed44 100644 --- a/src/com/vaadin/terminal/gwt/client/Util.java +++ b/src/com/vaadin/terminal/gwt/client/Util.java @@ -257,6 +257,11 @@ public class Util { public static int measureHorizontalPaddingAndBorder(Element element, int paddingGuess) { String originalWidth = DOM.getStyleAttribute(element, "width"); + String originalOverflow = ""; + if (BrowserInfo.get().isIE6()) { + originalOverflow = DOM.getStyleAttribute(element, "overflow"); + DOM.setStyleAttribute(element, "overflow", "hidden"); + } int originalOffsetWidth = element.getOffsetWidth(); int widthGuess = (originalOffsetWidth - paddingGuess); if (widthGuess < 1) { @@ -266,6 +271,9 @@ public class Util { int padding = element.getOffsetWidth() - widthGuess; DOM.setStyleAttribute(element, "width", originalWidth); + if (BrowserInfo.get().isIE6()) { + DOM.setStyleAttribute(element, "overflow", originalOverflow); + } return padding; } diff --git a/src/com/vaadin/terminal/gwt/client/ui/VWindow.java b/src/com/vaadin/terminal/gwt/client/ui/VWindow.java index 787fe6e939..5e30585dbc 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VWindow.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VWindow.java @@ -614,9 +614,12 @@ public class VWindow extends VOverlay implements Container, ScrollListener { private void setResizable(boolean resizability) { resizable = resizability; if (resizability) { + DOM.setElementProperty(footer, "className", CLASSNAME + "-footer"); DOM.setElementProperty(resizeBox, "className", CLASSNAME + "-resizebox"); } else { + DOM.setElementProperty(footer, "className", CLASSNAME + "-footer " + + CLASSNAME + "-footer-noresize"); DOM.setElementProperty(resizeBox, "className", CLASSNAME + "-resizebox " + CLASSNAME + "-resizebox-disabled"); } -- 2.39.5