package ilarkesto.gwt.client; import com.google.gwt.dom.client.AnchorElement; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Element; import com.google.gwt.user.client.ui.FocusWidget; import com.google.gwt.user.client.ui.Image; public class ImageAnchor extends FocusWidget { private AnchorElement a; public ImageAnchor(Image image, String text, boolean spacerBetweenImageAndText) { if (image == null && text == null) throw new IllegalArgumentException("image or text must be not null"); a = AnchorElement.as(DOM.createAnchor()); setElement(a); setStyleName("ImageAnchor"); // a.setHref("javascript:"); if (image != null) { Element img = image.getElement(); DOM.appendChild(getElement(), img); } // if (spacerBetweenImageAndText && image != null && text != null) { // Element span = DOM.createSpan(); // span.setInnerHTML(" "); // DOM.appendChild(getElement(), span); // } if (text != null) { Element div = DOM.createDiv(); div.setClassName("text"); div.setInnerText(text); DOM.appendChild(getElement(), div); } if (image != null) { Element clear = DOM.createDiv(); clear.setClassName("floatClear"); DOM.appendChild(getElement(), clear); } } public ImageAnchor(Image image, String text) { this(image, text, true); } public ImageAnchor(Image image) { this(image, null, false); } public void setTooltip(String text) { a.setTitle(text); } public void setHref(String href) { a.setHref(href); } }