aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/itmill/toolkit/terminal/gwt/client/ui/IButton.java
diff options
context:
space:
mode:
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.java38
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);
+ }
+ }
+
}