From e249cc1b47f042cab571830f8f9a18ae198ba347 Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Tue, 27 Jan 2009 11:49:05 +0000 Subject: [PATCH] fixes #2491 svn changeset:6648/svn branch:trunk --- .../toolkit/terminal/gwt/client/ui/ILink.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java index 016e7c4aed..9c19e8d2df 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java @@ -41,7 +41,9 @@ public class ILink extends HTML implements Paintable, ClickListener { private Element errorIndicatorElement; - private final Element captionElement = DOM.createAnchor(); + private final Element anchor = DOM.createAnchor(); + + private final Element captionElement = DOM.createSpan(); private Icon icon; @@ -49,7 +51,8 @@ public class ILink extends HTML implements Paintable, ClickListener { public ILink() { super(); - DOM.appendChild(getElement(), captionElement); + getElement().appendChild(anchor); + anchor.appendChild(captionElement); addClickListener(this); sinkEvents(ITooltip.TOOLTIP_EVENTS); setStyleName(CLASSNAME); @@ -70,11 +73,11 @@ public class ILink extends HTML implements Paintable, ClickListener { if (uidl.hasAttribute("name")) { target = uidl.getStringAttribute("name"); - captionElement.setAttribute("target", target); + anchor.setAttribute("target", target); } if (uidl.hasAttribute("src")) { src = client.translateToolkitUri(uidl.getStringAttribute("src")); - captionElement.setAttribute("href", src); + anchor.setAttribute("href", src); } if (uidl.hasAttribute("border")) { @@ -93,7 +96,7 @@ public class ILink extends HTML implements Paintable, ClickListener { .getIntAttribute("targetWidth") : -1; // Set link caption - DOM.setInnerText(captionElement, uidl.getStringAttribute("caption")); + captionElement.setInnerText(uidl.getStringAttribute("caption")); // handle error if (uidl.hasAttribute("error")) { @@ -110,7 +113,7 @@ public class ILink extends HTML implements Paintable, ClickListener { if (uidl.hasAttribute("icon")) { if (icon == null) { icon = new Icon(client); - DOM.insertChild(getElement(), icon.getElement(), 0); + anchor.insertBefore(icon.getElement(), captionElement); } icon.setUri(uidl.getStringAttribute("icon")); } @@ -166,8 +169,7 @@ public class ILink extends HTML implements Paintable, ClickListener { if (client != null) { client.handleTooltipEvent(event, this); } - if (target == captionElement - || (icon != null && target == icon.getElement())) { + if (target == anchor || (icon != null && target == icon.getElement())) { super.onBrowserEvent(event); } if (!enabled) { -- 2.39.5