There is an issue posted for adding a keyboard listener to the
document here:
http://code.google.com/p/google-web-toolkit/issues/detail?id=1442

Based on the GWT team response to that issue, I would assume that
there is not going to mouse listener support for the entire document
anytime soon.

Whenever something doesn't have a good api yet in GWT, you can always
roll your own with JSNI.  Something like this would be my approach:

public class MousePosition {
    public static int x,y;
    private static MouseMoveEvent mouseEvent; //from
com.google.gwt.event.dom.client.MouseMoveEvent

    public static void setMouseEvent(MouseMoveEvent e){
        mouseEvent = e;
        x = mouseEvent.getX();
        y = mouseEvent.getY();
        sliqueJS.log.info("latest mouse event position (X,Y) = "+x
+","+y);
    }
    public static native void trackMousePos() /*-{
        $wnd.document.onmousemove =
@com.slique.input.MousePosition::setMouseEvent(Lcom/google/gwt/event/
dom/client/MouseMoveEvent;);
        }-*/;
}

Unfortunately, code is spewing an error I don't recognize.  Can anyone
else tell what's going on here?

java.lang.IllegalArgumentException
        at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:
103)
        at com.google.gwt.dev.shell.ie.IDispatchImpl.callMethod
(IDispatchImpl.java:126)
        at com.google.gwt.dev.shell.ie.MethodDispatch.invoke
(MethodDispatch.java:97)
        at com.google.gwt.dev.shell.ie.IDispatchImpl.Invoke
(IDispatchImpl.java:294)
        at com.google.gwt.dev.shell.ie.IDispatchImpl.method6
(IDispatchImpl.java:194)
        at org.eclipse.swt.internal.ole.win32.COMObject.callback6
(COMObject.java:117)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:1925)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2966)
        at com.google.gwt.dev.SwtHostedModeBase.processEvents
(SwtHostedModeBase.java:297)
        at com.google.gwt.dev.HostedModeBase.pumpEventLoop
(HostedModeBase.java:565)
        at com.google.gwt.dev.HostedModeBase.run(HostedModeBase.java:411)
        at com.google.gwt.dev.HostedMode.main(HostedMode.java:243)

~Carver
http://slique.com - builds group memory by putting all your group's
email, files and documents in one place

On Jul 15, 4:22 am, Frank <[email protected]> wrote:
> With a simple javascript I can have the mouseposition anytime:
>
> <!--
> document.onmousemove = mouseMove;
>
> function mouseMove(ev){
>         ev           = ev || window.event;
>         var mousePos = mouseCoords(ev);
>
>         //document.Show.MouseX.value = mousePos.x;
>         //document.Show.MouseY.value = mousePos.y;
>
> }
>
> function mouseCoords(ev){
>         if(ev.pageX || ev.pageY){
>                 return {x:ev.pageX, y:ev.pageY};
>         }
>         return {
>                 x:ev.clientX + document.body.scrollLeft - 
> document.body.clientLeft,
>                 y:ev.clientY + document.body.scrollTop  - 
> document.body.clientTop
>         };}
>
> //->
>
> How can I implement this in GWT and assign mousePos.x and mousePos.y
> to class attributes?
>
> On 15 jul, 05:15, Carver <[email protected]> wrote:
>
> > Javascript will only give you a mouse position in response to an
> > event, AFAIK.  Of course, events happen all the time (eg~ the mouse
> > moving).  So you just need to decide which element in GWT is listening
> > for that event.  See all the known objects that have the mouse move
> > handler 
> > here:http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/g...
>
> > GWT has a FocusPanel (ie~ a Panel that captures mouse and keyboard
> > events), but does not seem to have an equivalent FocusPopupPanel.  So
> > you might want to do something like add a FocusWidget to your
> > PopupPanel.
>
> > ~Carver
>
> > Slique.com - builds group memory by putting all your group's email,
> > files and documents in one place
> > I'm trying this out:http://five.sentenc.es/
>
> > On Jul 14, 9:41 am, Frank <[email protected]> wrote:
>
> > > Hi,
>
> > > I'm trying to get the cursor position on a page made with GWT. But I
> > > can't find any function to do this
>
> > > How can I get the x,y coordinates of my pointer. (I want to use this
> > > with a popup window)
>
> > > Regards,
>
> > > Frank
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to