]> source.dussan.org Git - vaadin-framework.git/commitdiff
fixes tooltip issues #2074,#2075
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 16 Sep 2008 06:15:10 +0000 (06:15 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Tue, 16 Sep 2008 06:15:10 +0000 (06:15 +0000)
svn changeset:5406/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/ILabel.java
src/com/itmill/toolkit/terminal/gwt/client/ui/ILink.java

index 15e1eab9ef4f6e870334de8a834ab2a91a7bdec5..9d0c78b55a327453b26345fb31637823c56b5e4c 100644 (file)
@@ -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));
index 4b9b86d1a36ee6e7d6209c61ada243fd83316dbd..edb924f79770c8751720ac6d99a4c0e8ab75f4f7 100644 (file)
@@ -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);
-        }
-    }
-
 }