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 <div> or
<span>
@@ -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