From 86fac6eb045ed47328e3cad622572da3355f65c3 Mon Sep 17 00:00:00 2001 From: Marc Englund Date: Thu, 26 Jun 2008 13:49:43 +0000 Subject: [PATCH] IE6 transparent PNG fix added; for #1219 svn changeset:4956/svn branch:trunk --- .../toolkit/terminal/gwt/client/ui/Icon.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) 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); + }-*/; + } -- 2.39.5