From: Marc Englund Date: Thu, 26 Jun 2008 13:49:43 +0000 (+0000) Subject: IE6 transparent PNG fix added; for #1219 X-Git-Tag: 6.7.0.beta1~4552 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=86fac6eb045ed47328e3cad622572da3355f65c3;p=vaadin-framework.git IE6 transparent PNG fix added; for #1219 svn changeset:4956/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java index bc14d553ef..daa21c92ae 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java @@ -5,8 +5,10 @@ package com.itmill.toolkit.terminal.gwt.client.ui; import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Element; import com.google.gwt.user.client.ui.UIObject; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; +import com.itmill.toolkit.terminal.gwt.client.BrowserInfo; public class Icon extends UIObject { private final ApplicationConnection client; @@ -17,6 +19,11 @@ public class Icon extends UIObject { DOM.setElementProperty(getElement(), "alt", "icon"); setStyleName("i-icon"); this.client = client; + BrowserInfo b = BrowserInfo.get(); + if (b.isIE6()) { + addPngFix(getElement(), client.getThemeUri() + + "/../default/common/img/blank.gif"); + } } public Icon(ApplicationConnection client, String uidlUri) { @@ -26,9 +33,24 @@ public class Icon extends UIObject { public void setUri(String uidlUri) { if (!uidlUri.equals(myUri)) { - DOM.setElementProperty(getElement(), "src", client - .translateToolkitUri(uidlUri)); + String uri = client.translateToolkitUri(uidlUri); + DOM.setElementProperty(getElement(), "src", uri); myUri = uidlUri; } } + + private native static void addPngFix(Element el, String blankImageUrl) + /*-{ + el.attachEvent("onload", function() { + var src = el.src; + if (src.indexOf(".png")<1) return; + var w = el.width||16; + var h = el.height||16; + el.src =blankImageUrl; + el.style.height = h+"px"; + el.style.width = w+"px"; + el.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='crop');"; + },false); + }-*/; + }