From e96613c6dc97e1793919c42539fdc20dcb62bdbc Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Thu, 19 Jun 2008 09:34:13 +0000 Subject: [PATCH] fixes #1838 (rendering bug on FF2) svn changeset:4923/svn branch:trunk --- .../terminal/gwt/client/ui/IGridLayout.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java index ac3a888831..68bb5396c1 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IGridLayout.java @@ -8,7 +8,9 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; +import com.google.gwt.user.client.Command; import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.DeferredCommand; import com.google.gwt.user.client.Element; import com.google.gwt.user.client.ui.FlexTable; import com.google.gwt.user.client.ui.HasHorizontalAlignment; @@ -18,6 +20,7 @@ import com.google.gwt.user.client.ui.Widget; import com.google.gwt.user.client.ui.HasHorizontalAlignment.HorizontalAlignmentConstant; import com.google.gwt.user.client.ui.HasVerticalAlignment.VerticalAlignmentConstant; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; +import com.itmill.toolkit.terminal.gwt.client.BrowserInfo; import com.itmill.toolkit.terminal.gwt.client.CaptionWrapper; import com.itmill.toolkit.terminal.gwt.client.Container; import com.itmill.toolkit.terminal.gwt.client.ContainerResizedListener; @@ -35,6 +38,8 @@ public class IGridLayout extends SimplePanel implements Paintable, Container, private boolean needsLayout = false; + private boolean needsFF2Hack = BrowserInfo.get().isFF2(); + private Element margin = DOM.createDiv(); private Element meterElement; @@ -224,6 +229,27 @@ public class IGridLayout extends SimplePanel implements Paintable, Container, client.unregisterPaintable(w.getPaintable()); widgetToCaptionWrapper.remove(w.getPaintable()); } + // fix rendering bug on FF2 (#1838) + if (needsFF2Hack) { + DeferredCommand.addCommand(new Command() { + public void execute() { + Element firstcell = getCellFormatter().getElement(0, 0); + if (firstcell != null) { + String styleAttribute = DOM.getStyleAttribute( + firstcell, "verticalAlign"); + DOM.setStyleAttribute(firstcell, "verticalAlign", + ""); + int elementPropertyInt = DOM.getElementPropertyInt( + firstcell, "offsetWidth"); + DOM.setStyleAttribute(firstcell, "verticalAlign", + styleAttribute); + if (elementPropertyInt > 0) { + needsFF2Hack = false; + } + } + } + }); + } } public boolean hasChildComponent(Widget component) { -- 2.39.5