diff options
Diffstat (limited to 'src/com/itmill/toolkit/terminal/gwt/client/ui/IButton.java')
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/client/ui/IButton.java | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IButton.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IButton.java index 561e7cb787..15641acff8 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IButton.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IButton.java @@ -18,6 +18,8 @@ import com.itmill.toolkit.terminal.gwt.client.UIDL; public class IButton extends Button implements Paintable { + private String width = null; + public static final String CLASSNAME = "i-button"; String id; @@ -108,20 +110,6 @@ public class IButton extends Button implements Paintable { } } - public void setStyleName(String style) { - super.setStyleName(style); - if (BrowserInfo.get().isIE7()) { - /* - * Workaround for IE7 bug (#2014) where button width is growing when - * changing styles - */ - Element e = getElement(); - String w = DOM.getStyleAttribute(e, "width"); - DOM.setStyleAttribute(e, "width", "1px"); - DOM.setStyleAttribute(e, "width", w); - } - } - public void setText(String text) { DOM.setInnerText(captionElement, text); } @@ -150,4 +138,26 @@ public class IButton extends Button implements Paintable { } } + @Override + public void setWidth(String width) { + /* Workaround for IE7 button size part 1 (#2014) */ + if (BrowserInfo.get().isIE7() && this.width != null) { + if (this.width.equals(width)) { + return; + } + + if (width == null) { + width = ""; + } + } + + this.width = width; + super.setWidth(width); + + /* Workaround for IE7 button size part 2 (#2014) */ + if (BrowserInfo.get().isIE7()) { + super.setWidth(width); + } + } + } |