Re: Garmin Communicator API
Stephen,
You're most likely going to need to use the $wnd or $doc variable
within your JSNI code as the Garmin JS is not loaded into the same
area as GWT code (http://code.google.com/webtoolkit/doc/1.6/
DevGuideCodingBasics.html#DevGuideJavaScriptNativeInterface)
i.e. var display = new $wnd.Garmin.DeviceDisplay("garminDisplay",
{........
//Adam
On 21 Nov, 20:25, Stephen Walsh <stephenwalsh....@gmail.com> wrote:
> I am trying to use the above api to implement some JSNI code in my
> onModuleLoad method. I am having the darnedest time trying to get it to
> recognize that I have the extra javascript files available. The JS debugger
> in Chrome keeps saying that Garmin is undefined (see below). Here's the
> dilemma: when I create my JSNI it gets compiled in the main JS code and
> evidently the Garmin JS code is out of the scope of where the call happens
> in the compiled JS. I'm somewhat new to GWT, and I'm not sure if I'm doing
> something incorrectly or not. Here's what I've got in my project:
>
> src
> ---public
> ------communicator-api
> ---------miscellaneous garmin folders in the original structure
> ---garmin_project.gwt.xml
>
> com.stephenlwalsh.garmin_project.client
> ---garmin_project.java
>
> Contents of garmin_project.gwt.xml The script src tags are doing a fine job
> of pulling in the js needed and the entire communicator-api folder on
> compile.
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.1/distro-source...
> ">
> <module rename-to='garmin_favorites_sync'>
> <!-- Inherit the core Web Toolkit stuff. -->
> <inherits name='com.google.gwt.user.User'/>
>
> <!-- Inherit the default GWT style sheet. You can change -->
> <!-- the theme of your GWT application by uncommenting -->
> <!-- any one of the following lines. -->
> <inherits name='com.google.gwt.user.theme.standard.Standard'/>
> <!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
> <!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
>
> <!-- Other module inherits -->
> <script src="http://www.google.com/uds/api?file=uds.js&v=1.0&gwt=1
> "/>
> <script src="communicator-api/garmin/device/GarminDeviceDisplay.js"/>
> <script src="communicator-api/prototype/prototype.js"/>
> <stylesheet src="communicator-api/garmin/device/style/communicator.css"/>
> <!-- Specify the app entry point class. -->
> <entry-point
> class='com.stephenlwalsh.garminsync.client.Garmin_Favorites_Sync'/>
> </module>
>
> JSNI function within EntryPoint()
>
> private native void load() /*-{
> var display = new Garmin.DeviceDisplay("garminDisplay", {
> pathKeyPairsArray:
> ["http://developer.garmin.com","49048b3369edffd4a511d920202a6214"],
>
> autoFindDevices: true, //start searching for devices
> showStatusElement: true, //basic feedback provided
> showReadDataElement: false //don't offer to read data
> //add other options per the documentation
> });
> }-*/;
>
> From within onModuleLoad() I have the function called and it works fine.
> The problem lies within the line above in the var display declaration. It
> says that "Garmin" is undefined. I have moved files and reworded and
> everything trying to give that function access to the JS that it should have
> access to. It's interesting that when I place the js load function in the
> html, it works just fine even when GWT is compiling the external javascript.
>
> Any thoughts?
>
> Thanks,
> Stephen Walsh
--
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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home