Changeset 4956

Show
Ignore:
Timestamp:
06/26/08 13:49:43 (5 months ago)
Author:
marc.englund@…
Message:

IE6 transparent PNG fix added; for #1219

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/com/itmill/toolkit/terminal/gwt/client/ui/Icon.java

    r3162 r4956  
    66 
    77import com.google.gwt.user.client.DOM; 
     8import com.google.gwt.user.client.Element; 
    89import com.google.gwt.user.client.ui.UIObject; 
    910import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; 
     11import com.itmill.toolkit.terminal.gwt.client.BrowserInfo; 
    1012 
    1113public class Icon extends UIObject { 
     
    1820        setStyleName("i-icon"); 
    1921        this.client = client; 
     22        BrowserInfo b = BrowserInfo.get(); 
     23        if (b.isIE6()) { 
     24            addPngFix(getElement(), client.getThemeUri() 
     25                    + "/../default/common/img/blank.gif"); 
     26        } 
    2027    } 
    2128 
     
    2734    public void setUri(String uidlUri) { 
    2835        if (!uidlUri.equals(myUri)) { 
    29             DOM.setElementProperty(getElement(), "src", client 
    30                     .translateToolkitUri(uidlUri)); 
     36            String uri = client.translateToolkitUri(uidlUri); 
     37            DOM.setElementProperty(getElement(), "src", uri); 
    3138            myUri = uidlUri; 
    3239        } 
    3340    } 
     41 
     42    private native static void addPngFix(Element el, String blankImageUrl) 
     43    /*-{ 
     44        el.attachEvent("onload", function() { 
     45            var src = el.src; 
     46            if (src.indexOf(".png")<1) return; 
     47            var w = el.width||16;  
     48            var h = el.height||16; 
     49            el.src =blankImageUrl; 
     50            el.style.height = h+"px"; 
     51            el.style.width = w+"px"; 
     52            el.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"', sizingMethod='crop');";   
     53        },false); 
     54    }-*/; 
     55 
    3456}