OK my bad, I called the Java object implementing the interface directly within the callback function which I think is a mistake. I stored it to a js variable and used that variable in the js callback function and that worked. Thanks Alain for the help.
On Aug 1, 12:04 pm, Thomas Lefort <lefortho...@gmail.com> wrote: > Hi Thanks for your answer. > > I have tried and I am getting some weird js error message > "this.setPosition is not a function" referring to a random line from > the html file itself, so it looks like firebug is completely lost. > > My code is: > > public native UniMarkerJSNI addEditableMarker(HasEditableMarker > hasEditableMarker, double lat, double lng, String mapIconUrl, int > shiftX, int shiftY) /*-{ > var callback = function(marker) { > var eoLatLng = > @com.metaaps.webapps.earthimages.shared.domain.EOLatLng::new(DD) > (marker.getLat(), marker.getLng()); > alert("test1"); > > hasEditableMark...@com.metaaps.webapps.earthimages.shared.domain.implementation.HasEditableMa > rker::updatePosition(Lcom/ > metaaps/webapps/earthimages/shared/domain/EOLatLng;)(eoLatLng); > alert("test2"); > }; > var marker = new $wnd.mapsJSNI.uniMarker(lat, lng, mapIconUrl, > shiftX, shiftY, callback); > marker.setDraggable(callback); > return marker; > }-*/; > > alert test1 is triggered no problem. > > alert test2 is never triggered so it seems the problem occurs when > calling the interface method implementation from the object. My > interface method implementation is really simple, just assigning the > value to a field: > > @Override > public void updatePosition(EOLatLng pos) { > this.pos = pos; > } > > I have no clue as to how to sort this out... > > On Jul 27, 6:09 pm, Alain Ekambi <jazzmatad...@googlemail.com> wrote: > > > > > > > > > Yes it s possible. > > But you might want to actually call the function in the JSNI in the right > > way.(see bold entry) > > > public native void makeUseOfI(I myObjectAorB) /*-{ > > var val = myObjectAo...@pkg.I*::*myInterfaceFunction()*();* > > $wnd.whateverFunction(val) > > > }-*/; > > > 2011/7/27 Thomas Lefort <lefortho...@gmail.com> > > > > Hi, > > > > I have the following: > > > > interface I { > > > myInterfaceFunction > > > } > > > > A implements I { > > > } > > > > B implements I { > > > } > > > > I want to pass A or B using interface I to a js code I am writting, ie > > > > public native void makeUseOfI(I myObjectAorB) /*-{ > > > var val = myObjectAo...@pkg.I.myInterfaceFunction(); > > > $wnd.whateverFunction(val) > > > }-*/; > > > > Is this possible? > > > > Thanks, > > > > Thomas > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Google Web Toolkit" group. > > > To post to this group, send email to google-web-toolkit@googlegroups.com. > > > To unsubscribe from this group, send email to > > > google-web-toolkit+unsubscr...@googlegroups.com. > > > For more options, visit this group at > > >http://groups.google.com/group/google-web-toolkit?hl=en. > > > -- > > > GWT API for non Java based > > platformshttp://code.google.com/p/gwt4air/http://www.gwt4air.appspot.com/ -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.