From: Marc Englund Date: Fri, 27 Jun 2008 09:00:55 +0000 (+0000) Subject: Fixes #1219; although it's added specifically to Icon resources, caption (error indic... X-Git-Tag: 6.7.0.beta1~4549 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=249b4c14c948266b8b6496c16e5a9900eda33668;p=vaadin-framework.git Fixes #1219; although it's added specifically to Icon resources, caption (error indicator) and Embedded. Adding a global fix that goes trough all IMG -elements after each update would be a more 'global' fix, but also much heavier. svn changeset:4961/svn branch:trunk --- diff --git a/WebContent/ITMILL/themes/default/caption/caption.css b/WebContent/ITMILL/themes/default/caption/caption.css index a163f02f4f..afd2c9fcf1 100644 --- a/WebContent/ITMILL/themes/default/caption/caption.css +++ b/WebContent/ITMILL/themes/default/caption/caption.css @@ -15,6 +15,8 @@ } * html .i-errorindicator { margin-left:-3px; + background: transparent none; + filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../icons/16/error.png", sizingMethod="scale"); } *+html .i-errorindicator { margin-left:-3px; diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java index 9150fad03b..a1afdf7c40 100755 --- a/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ApplicationConnection.java @@ -966,4 +966,19 @@ public class ApplicationConnection { tooltip.handleTooltipEvent(event, owner); } + + /** + * Adds PNG-fix conditionally (only for IE6) to the specified IMG -element. + * + * @param el + * the IMG element to fix + */ + public void addPngFix(Element el) { + BrowserInfo b = BrowserInfo.get(); + if (b.isIE6()) { + Util.addPngFix(el, getThemeUri() + + "/../default/common/img/blank.gif"); + } + } + } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/Util.java b/src/com/itmill/toolkit/terminal/gwt/client/Util.java index e1f70c4099..3058a68302 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/Util.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/Util.java @@ -124,4 +124,26 @@ public class Util { DOM.setInnerText(escapeHtmlHelper, html); return DOM.getInnerHTML(escapeHtmlHelper); } + + /** + * Adds transparent PNG fix to image element; only use for IE6. + * + * @param el + * IMG element + * @param blankImageUrl + * URL to transparent one-pixel gif + */ + public 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); + }-*/; } diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/IEmbedded.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/IEmbedded.java index aa9192fab8..d1df5601e8 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/IEmbedded.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/IEmbedded.java @@ -46,6 +46,8 @@ public class IEmbedded extends HTML implements Paintable { } setHTML(""); + client.addPngFix(DOM.getFirstChild(getElement())); + } else if (type.equals("browser")) { if (browserElement == null) { setHTML("