You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by no...@apache.org on 2009/09/02 09:07:36 UTC

svn commit: r810385 - /labs/hupa/widgets/src/main/java/org/apache/hupa/widgets/ui/ToolTip.java

Author: norman
Date: Wed Sep  2 07:07:36 2009
New Revision: 810385

URL: http://svn.apache.org/viewvc?rev=810385&view=rev
Log:
Better implementation of Tooltip

Modified:
    labs/hupa/widgets/src/main/java/org/apache/hupa/widgets/ui/ToolTip.java

Modified: labs/hupa/widgets/src/main/java/org/apache/hupa/widgets/ui/ToolTip.java
URL: http://svn.apache.org/viewvc/labs/hupa/widgets/src/main/java/org/apache/hupa/widgets/ui/ToolTip.java?rev=810385&r1=810384&r2=810385&view=diff
==============================================================================
--- labs/hupa/widgets/src/main/java/org/apache/hupa/widgets/ui/ToolTip.java (original)
+++ labs/hupa/widgets/src/main/java/org/apache/hupa/widgets/ui/ToolTip.java Wed Sep  2 07:07:36 2009
@@ -26,6 +26,10 @@
 import com.google.gwt.event.dom.client.MouseOutHandler;
 import com.google.gwt.event.dom.client.MouseOverEvent;
 import com.google.gwt.event.dom.client.MouseOverHandler;
+import com.google.gwt.event.logical.shared.CloseEvent;
+import com.google.gwt.event.logical.shared.CloseHandler;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.ui.Label;
 import com.google.gwt.user.client.ui.PopupPanel;
 import com.google.gwt.user.client.ui.Widget;
 
@@ -34,8 +38,17 @@
  *  
  *
  */
-public class ToolTip extends PopupPanel {
+public class ToolTip extends Label {
+	
+	private final PopupPanel popup = new PopupPanel();
+	private final Timer showTimer = new Timer() {
 
+		@Override
+		public void run() {
+			popup.show();
+		}
+		
+	};
 	public ToolTip(Widget w) {
 		if (!(w instanceof HasMouseOverHandlers) || (!( w instanceof HasMouseOutHandlers))) {
 			throw new IllegalArgumentException("Widget must implement HasMouseOverHandlers and HasMouseOutHandlers");
@@ -43,7 +56,7 @@
 		((HasMouseOverHandlers) w).addMouseOverHandler(new MouseOverHandler() {
 
 			public void onMouseOver(MouseOverEvent event) {
-				show();
+				showTimer.schedule(2000);
 			}
 			
 		});
@@ -51,12 +64,28 @@
 		((HasMouseOutHandlers)w).addMouseOutHandler(new MouseOutHandler() {
 
 			public void onMouseOut(MouseOutEvent event) {
-				hide();
+				showTimer.cancel();
+				popup.hide();
+			}
+			
+		});
+		popup.addCloseHandler(new CloseHandler<PopupPanel>() {
+
+			public void onClose(CloseEvent<PopupPanel> event) {
+				showTimer.cancel();
 			}
 			
 		});
 		addStyleName("hupa-ToolTip");
-		setAnimationEnabled(true);
-		setAutoHideEnabled(true);
+		popup.addStyleName("hupa-ToolTip");
+		popup.setAnimationEnabled(true);
+		popup.setAutoHideEnabled(true);
+	}
+	
+	public void setText(String text) {
+		super.setText(text);
+		popup.setWidget(this);
 	}
+	
+	
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org