Revision: 8542
Author: [email protected]
Date: Fri Aug 13 16:13:23 2010
Log: Add mouse position information to ClickEvent and DoubleClickEvent. Manually verified that this information is indeed available on some older and some more modern browsers, sampling Mac/Linux/Win
where possible:
- Chrome 5, Chrome 6
- FF 2.0.0.20, FF 3.0.19, FF 3.6.3
- Opera 10.60
- Safari 3.2.2, Safari 5.0.1
- IE6, IE7.

Also, a few relevent classes now implement HasDoubleClickHandlers
- com/google/gwt/user/client/ui/FocusPanel.java
- com/google/gwt/user/client/ui/FocusWidget.java
- com/google/gwt/user/client/ui/HTMLTable.java
- com/google/gwt/user/client/ui/Hyperlink.java
- com/google/gwt/user/client/ui/Image.java
- com/google/gwt/user/client/ui/Label.java
- com/google/gwt/user/client/ui/TabBar.java

Review at http://gwt-code-reviews.appspot.com/763801

Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=8542

Modified:
 /trunk/user/src/com/google/gwt/event/dom/client/ClickEvent.java
 /trunk/user/src/com/google/gwt/event/dom/client/DoubleClickEvent.java
 /trunk/user/src/com/google/gwt/user/client/ui/FocusPanel.java
 /trunk/user/src/com/google/gwt/user/client/ui/FocusWidget.java
 /trunk/user/src/com/google/gwt/user/client/ui/HTMLTable.java
 /trunk/user/src/com/google/gwt/user/client/ui/Hyperlink.java
 /trunk/user/src/com/google/gwt/user/client/ui/Image.java
 /trunk/user/src/com/google/gwt/user/client/ui/Label.java

=======================================
--- /trunk/user/src/com/google/gwt/event/dom/client/ClickEvent.java Wed Oct 28 09:10:53 2009 +++ /trunk/user/src/com/google/gwt/event/dom/client/ClickEvent.java Fri Aug 13 16:13:23 2010
@@ -18,7 +18,7 @@
 /**
  * Represents a native click event.
  */
-public class ClickEvent extends DomEvent<ClickHandler> {
+public class ClickEvent extends MouseEvent<ClickHandler> {

   /**
* Event type for click events. Represents the meta-data associated with this
=======================================
--- /trunk/user/src/com/google/gwt/event/dom/client/DoubleClickEvent.java Wed Oct 28 09:10:53 2009 +++ /trunk/user/src/com/google/gwt/event/dom/client/DoubleClickEvent.java Fri Aug 13 16:13:23 2010
@@ -18,7 +18,7 @@
 /**
  * Represents a native double click event.
  */
-public class DoubleClickEvent extends DomEvent<DoubleClickHandler> {
+public class DoubleClickEvent extends MouseEvent<DoubleClickHandler> {

   /**
* Event type for double click events. Represents the meta-data associated
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/FocusPanel.java Fri Mar 20 11:33:42 2009 +++ /trunk/user/src/com/google/gwt/user/client/ui/FocusPanel.java Fri Aug 13 16:13:23 2010
@@ -19,12 +19,15 @@
 import com.google.gwt.event.dom.client.BlurHandler;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.DoubleClickEvent;
+import com.google.gwt.event.dom.client.DoubleClickHandler;
 import com.google.gwt.event.dom.client.FocusEvent;
 import com.google.gwt.event.dom.client.FocusHandler;
 import com.google.gwt.event.dom.client.HasAllFocusHandlers;
 import com.google.gwt.event.dom.client.HasAllKeyHandlers;
 import com.google.gwt.event.dom.client.HasAllMouseHandlers;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasDoubleClickHandlers;
 import com.google.gwt.event.dom.client.KeyDownEvent;
 import com.google.gwt.event.dom.client.KeyDownHandler;
 import com.google.gwt.event.dom.client.KeyPressEvent;
@@ -53,8 +56,8 @@
 @SuppressWarnings("deprecation")
 public class FocusPanel extends SimplePanel implements HasFocus,
     SourcesClickEvents, SourcesMouseEvents, SourcesMouseWheelEvents,
-    HasAllMouseHandlers, HasClickHandlers, HasAllKeyHandlers,
-    HasAllFocusHandlers {
+    HasAllMouseHandlers, HasClickHandlers, HasDoubleClickHandlers,
+    HasAllKeyHandlers, HasAllFocusHandlers {

   static final FocusImpl impl = FocusImpl.getFocusImplForPanel();

@@ -82,6 +85,10 @@
   public void addClickListener(ClickListener listener) {
     ListenerWrapper.WrappedClickListener.add(this, listener);
   }
+
+ public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
+    return addDomHandler(handler, DoubleClickEvent.getType());
+  }

   public HandlerRegistration addFocusHandler(FocusHandler handler) {
     return addDomHandler(handler, FocusEvent.getType());
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/FocusWidget.java Tue Mar 2 07:47:13 2010 +++ /trunk/user/src/com/google/gwt/user/client/ui/FocusWidget.java Fri Aug 13 16:13:23 2010
@@ -20,12 +20,15 @@
 import com.google.gwt.event.dom.client.BlurHandler;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.DoubleClickEvent;
+import com.google.gwt.event.dom.client.DoubleClickHandler;
 import com.google.gwt.event.dom.client.FocusEvent;
 import com.google.gwt.event.dom.client.FocusHandler;
 import com.google.gwt.event.dom.client.HasAllFocusHandlers;
 import com.google.gwt.event.dom.client.HasAllKeyHandlers;
 import com.google.gwt.event.dom.client.HasAllMouseHandlers;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasDoubleClickHandlers;
 import com.google.gwt.event.dom.client.KeyDownEvent;
 import com.google.gwt.event.dom.client.KeyDownHandler;
 import com.google.gwt.event.dom.client.KeyPressEvent;
@@ -53,8 +56,8 @@
  */
 @SuppressWarnings("deprecation")
public abstract class FocusWidget extends Widget implements SourcesClickEvents,
-    HasClickHandlers, HasFocus, HasAllFocusHandlers, HasAllKeyHandlers,
-    HasAllMouseHandlers, SourcesMouseEvents {
+ HasClickHandlers, HasDoubleClickHandlers, HasFocus, HasAllFocusHandlers,
+    HasAllKeyHandlers, HasAllMouseHandlers, SourcesMouseEvents {

   private static final FocusImpl impl = FocusImpl.getFocusImplForWidget();

@@ -98,6 +101,10 @@
   public void addClickListener(ClickListener listener) {
     ListenerWrapper.WrappedClickListener.add(this, listener);
   }
+
+ public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
+    return addHandler(handler, DoubleClickEvent.getType());
+  }

   public HandlerRegistration addFocusHandler(FocusHandler handler) {
     return addDomHandler(handler, FocusEvent.getType());
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/HTMLTable.java Fri Apr 9 11:02:02 2010 +++ /trunk/user/src/com/google/gwt/user/client/ui/HTMLTable.java Fri Aug 13 16:13:23 2010
@@ -20,7 +20,10 @@
 import com.google.gwt.dom.client.TableRowElement;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.DoubleClickEvent;
+import com.google.gwt.event.dom.client.DoubleClickHandler;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasDoubleClickHandlers;
 import com.google.gwt.event.shared.HandlerRegistration;
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Element;
@@ -43,7 +46,7 @@
  */
 @SuppressWarnings("deprecation")
public abstract class HTMLTable extends Panel implements SourcesTableEvents,
-    HasClickHandlers {
+    HasClickHandlers, HasDoubleClickHandlers {

   /**
    * Return value for {...@link HTMLTable#getCellForEvent}.
@@ -720,6 +723,10 @@
   public HandlerRegistration addClickHandler(ClickHandler handler) {
     return addDomHandler(handler, ClickEvent.getType());
   }
+
+ public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
+    return addHandler(handler, DoubleClickEvent.getType());
+  }

   /**
    * Adds a listener to the current table.
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/Hyperlink.java Tue Jan 26 10:25:12 2010 +++ /trunk/user/src/com/google/gwt/user/client/ui/Hyperlink.java Fri Aug 13 16:13:23 2010
@@ -18,7 +18,10 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.DoubleClickEvent;
+import com.google.gwt.event.dom.client.DoubleClickHandler;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasDoubleClickHandlers;
 import com.google.gwt.event.shared.HandlerRegistration;
 import com.google.gwt.user.client.DOM;
 import com.google.gwt.user.client.Element;
@@ -60,7 +63,7 @@
  */
 @SuppressWarnings("deprecation")
public class Hyperlink extends Widget implements HasHTML, SourcesClickEvents,
-    HasClickHandlers {
+    HasClickHandlers, HasDoubleClickHandlers {

   private static HyperlinkImpl impl = GWT.create(HyperlinkImpl.class);

@@ -137,6 +140,10 @@
   public void addClickListener(ClickListener listener) {
     ListenerWrapper.WrappedClickListener.add(this, listener);
   }
+
+ public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
+    return addHandler(handler, DoubleClickEvent.getType());
+  }

   public String getHTML() {
     return DOM.getInnerHTML(anchorElem);
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/Image.java Tue Aug 10 10:18:55 2010 +++ /trunk/user/src/com/google/gwt/user/client/ui/Image.java Fri Aug 13 16:13:23 2010
@@ -22,10 +22,13 @@
 import com.google.gwt.dom.client.NativeEvent;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.DoubleClickEvent;
+import com.google.gwt.event.dom.client.DoubleClickHandler;
 import com.google.gwt.event.dom.client.ErrorEvent;
 import com.google.gwt.event.dom.client.ErrorHandler;
 import com.google.gwt.event.dom.client.HasAllMouseHandlers;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasDoubleClickHandlers;
 import com.google.gwt.event.dom.client.HasErrorHandlers;
 import com.google.gwt.event.dom.client.HasLoadHandlers;
 import com.google.gwt.event.dom.client.LoadEvent;
@@ -89,9 +92,9 @@
  * </p>
  */
 @SuppressWarnings("deprecation")
-public class Image extends Widget implements SourcesLoadEvents,
- HasLoadHandlers, HasErrorHandlers, SourcesClickEvents, HasClickHandlers,
-    HasAllMouseHandlers, SourcesMouseEvents {
+public class Image extends Widget implements SourcesLoadEvents, HasLoadHandlers,
+    HasErrorHandlers, SourcesClickEvents, HasClickHandlers,
+    HasDoubleClickHandlers, HasAllMouseHandlers, SourcesMouseEvents {

   /**
* The attribute that is set when an image fires a native load or error event
@@ -473,6 +476,10 @@
   public void addClickListener(ClickListener listener) {
     ListenerWrapper.WrappedClickListener.add(this, listener);
   }
+
+ public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
+    return addHandler(handler, DoubleClickEvent.getType());
+  }

   public HandlerRegistration addErrorHandler(ErrorHandler handler) {
     return addHandler(handler, ErrorEvent.getType());
=======================================
--- /trunk/user/src/com/google/gwt/user/client/ui/Label.java Mon Aug 2 09:47:24 2010 +++ /trunk/user/src/com/google/gwt/user/client/ui/Label.java Fri Aug 13 16:13:23 2010
@@ -19,8 +19,11 @@
 import com.google.gwt.dom.client.Element;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.DoubleClickEvent;
+import com.google.gwt.event.dom.client.DoubleClickHandler;
 import com.google.gwt.event.dom.client.HasAllMouseHandlers;
 import com.google.gwt.event.dom.client.HasClickHandlers;
+import com.google.gwt.event.dom.client.HasDoubleClickHandlers;
 import com.google.gwt.event.dom.client.MouseDownEvent;
 import com.google.gwt.event.dom.client.MouseDownHandler;
 import com.google.gwt.event.dom.client.MouseMoveEvent;
@@ -59,8 +62,9 @@
  */
 @SuppressWarnings("deprecation")
public class Label extends Widget implements HasText, HasWordWrap, HasDirection,
-    HasClickHandlers, SourcesClickEvents, SourcesMouseEvents,
- HasAllMouseHandlers, HasDirectionEstimator, HasAutoHorizontalAlignment {
+    HasClickHandlers, HasDoubleClickHandlers, SourcesClickEvents,
+    SourcesMouseEvents, HasAllMouseHandlers, HasDirectionEstimator,
+    HasAutoHorizontalAlignment {

   /**
* Creates a Label widget that wraps an existing &lt;div&gt; or &lt;span&gt;
@@ -210,6 +214,10 @@
   public void addClickListener(ClickListener listener) {
     ListenerWrapper.WrappedClickListener.add(this, listener);
   }
+
+ public HandlerRegistration addDoubleClickHandler(DoubleClickHandler handler) {
+    return addHandler(handler, DoubleClickEvent.getType());
+  }

public HandlerRegistration addMouseDownHandler(MouseDownHandler handler) {
     return addDomHandler(handler, MouseDownEvent.getType());

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to