From: Matti Tahvonen Date: Tue, 16 Sep 2008 06:15:10 +0000 (+0000) Subject: fixes tooltip issues #2074,#2075 X-Git-Tag: 6.7.0.beta1~4159 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0f5f66e23307d33e14a952965daca3c5d417d647;p=vaadin-framework.git fixes tooltip issues #2074,#2075 svn changeset:5406/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/gwt/client/ui/ILabel.java b/src/com/itmill/toolkit/terminal/gwt/client/ui/ILabel.java index 15e1eab9ef..9d0c78b55a 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ILabel.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ILabel.java @@ -4,23 +4,35 @@ package com.itmill.toolkit.terminal.gwt.client.ui; +import com.google.gwt.user.client.Event; import com.google.gwt.user.client.ui.HTML; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; +import com.itmill.toolkit.terminal.gwt.client.ITooltip; import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; public class ILabel extends HTML implements Paintable { public static final String CLASSNAME = "i-label"; + private ApplicationConnection client; public ILabel() { super(); setStyleName(CLASSNAME); + sinkEvents(ITooltip.TOOLTIP_EVENTS); } public ILabel(String text) { super(text); setStyleName(CLASSNAME); + sinkEvents(ITooltip.TOOLTIP_EVENTS); + } + + public void onBrowserEvent(Event event) { + super.onBrowserEvent(event); + if (client != null) { + client.handleTooltipEvent(event, this); + } } public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { @@ -29,6 +41,8 @@ public class ILabel extends HTML implements Paintable { return; } + this.client = client; + final String mode = uidl.getStringAttribute("mode"); if (mode == null || "text".equals(mode)) { setText(uidl.getChildString(0)); 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 4b9b86d1a3..edb924f797 100644 --- a/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java +++ b/src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java @@ -12,7 +12,6 @@ import com.google.gwt.user.client.ui.ClickListener; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.Widget; import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection; -import com.itmill.toolkit.terminal.gwt.client.IErrorMessage; import com.itmill.toolkit.terminal.gwt.client.Paintable; import com.itmill.toolkit.terminal.gwt.client.UIDL; @@ -42,10 +41,10 @@ public class ILink extends HTML implements Paintable, ClickListener { private final Element captionElement = DOM.createSpan(); - private IErrorMessage errorMessage; - private Icon icon; + private ApplicationConnection client; + public ILink() { super(); DOM.appendChild(getElement(), captionElement); @@ -61,6 +60,8 @@ public class ILink extends HTML implements Paintable, ClickListener { return; } + this.client = client; + enabled = uidl.hasAttribute("disabled") ? false : true; readonly = uidl.hasAttribute("readonly") ? true : false; @@ -100,11 +101,6 @@ public class ILink extends HTML implements Paintable, ClickListener { sinkEvents(Event.MOUSEEVENTS); } DOM.insertChild(getElement(), errorIndicatorElement, 0); - if (errorMessage == null) { - errorMessage = new IErrorMessage(); - } - errorMessage.updateFromUIDL(errorUidl); - } else if (errorIndicatorElement != null) { DOM.setStyleAttribute(errorIndicatorElement, "display", "none"); } @@ -117,11 +113,6 @@ public class ILink extends HTML implements Paintable, ClickListener { icon.setUri(uidl.getStringAttribute("icon")); } - // handle description - if (uidl.hasAttribute("description")) { - setTitle(uidl.getStringAttribute("description")); - } - } public void onClick(Widget sender) { @@ -157,22 +148,8 @@ public class ILink extends HTML implements Paintable, ClickListener { public void onBrowserEvent(Event event) { final Element target = DOM.eventGetTarget(event); - if (errorIndicatorElement != null - && DOM.compare(target, errorIndicatorElement)) { - switch (DOM.eventGetType(event)) { - case Event.ONMOUSEOVER: - showErrorMessage(); - break; - case Event.ONMOUSEOUT: - hideErrorMessage(); - break; - case Event.ONCLICK: - ApplicationConnection.getConsole().log( - DOM.getInnerHTML(errorMessage.getElement())); - return; - default: - break; - } + if (client != null) { + client.handleTooltipEvent(event, this); } if (DOM.compare(target, captionElement) || (icon != null && DOM.compare(target, icon.getElement()))) { @@ -180,14 +157,4 @@ public class ILink extends HTML implements Paintable, ClickListener { } } - private void hideErrorMessage() { - errorMessage.hide(); - } - - private void showErrorMessage() { - if (errorMessage != null) { - errorMessage.showAt(errorIndicatorElement); - } - } - }