Hi Eric, Thanks for getting back to me.
-> http://code.google.com/p/gwt-google-apis/issues/detail?id=425 Yes, I found that post yesterday and that's why I moved from smartGWT 2.4 to the latest smartGWT nightly build (2.5). -> making sure you aren't moving any widgets from one parent to another I think its a smartGWT-related issue -> http://forums.smartclient.com/showthread.php?t=16703 I also posted here because of this post -> http://groups.google.com/group/google-visualization-api/browse_thread/thread/ff89e49ecf52fd4/69b7bfd3d4042526?lnk=gst&q=smartGWT#69b7bfd3d4042526 Although it might also be GWTP-related. As you suggested I'll set some breakpoints and see how I go. Cheers Rob On May 10, 2:31 am, Eric Ayers <[email protected]> wrote: > First of all, there was an issue a lot of SmartGWT users ran into > w/r/t visualization I wanted you to be aware of. > > http://code.google.com/p/gwt-google-apis/issues/detail?id=425 > > The message you're getting doesn't sound specific to the visualization > API, it sounds more like a general GWT or smart GWT problem. As a > general debugging tip, I'd recommend setting break points in dev mode > and making sure you aren't moving any widgets from one parent to > another and you aren't accidentally getting a callback more than once. > > > > On Sun, May 8, 2011 at 9:44 PM, Rob <[email protected]> wrote: > > Hi > > > I would like to add visualization support via the Google Visualization > > API (1.1) to an existing GWT (2.1.1) and smartGWT (2.4) application. > > > I followed the approach described in this post -> > >http://forums.smartclient.com/showpost.php?p=37754&postcount=2and the > > Visualization Getting Started guide-> > >http://code.google.com/p/gwt-google-apis/wiki/VisualizationGettingSta.... > > > And, then found this post -> > >http://groups.google.com/group/google-visualization-api/browse_thread... > > in the Google Visualization API discussion group. > > > For example: > > > -> > > > public void loadVisualizationApi() { > > > Log.debug("loadVisualizationApi()"); > > > // Create a callback to be called when the visualization API > > // has been loaded. > > Runnable onLoadCallback = new Runnable() { > > public void run() { > > > Log.debug("onLoadCallback()"); > > > // Create a pie chart visualization. > > pie = new PieChart(createTable(), createOptions()); > > pie.setWidth("80%"); > > > Canvas canvas = new Canvas(); > > canvas.setID("sys_pie_canvas"); > > canvas.setWidth100(); > > canvas.setHeight("50%"); > > canvas.addChild(pie); > > > panel.addMember(canvas, 0); > > > Log.debug("panel.addMember(canvas, 0)"); > > } > > }; > > > // Load the visualization api, passing the onLoadCallback > > // to be called when loading is complete. > > VisualizationUtils.loadVisualizationApi("1.1", onLoadCallback, > > PieChart.PACKAGE); > > } > > > // The code for createTable() and createOptions()) is as per > > // the post mentioned above. > > > -> > > > However, this results in the following error: > > java.lang.AssertionError: A widget that has an existing parent widget > > may not be added to the detach list at > > com.google.gwt.user.client.ui.RootPanel.detachOnWi > > ndowClose(RootPanel.java:136) when using GWT (2.1.1), smartGWT LGPL > > (2.5 nightly build) and Google Visualization API (1.1). > > > Note: I also tested the code using smartGWT (2.4) and received the > > following error: (NativeMethodAccessorImpl.java:-2) 2011-05-09 > > 10:26:21,613 [FATAL] Uncaught JavaScript exception [Script error.] > > in , line 0 > > > If I comment out the call to "panel.addMember(pie)" and replace it > > with "RootPanel.get().add(pie)" no exception is thrown and the "chart" > > is rendered correctly (you can see it momentarily if you re-size the > > browser window) but as a child of the root panel. Which means it is > > hidden by the application's other nested layout containers (e.g. > > North, West, East and South). > > > I would like to be able to place the "chart" in a nested layout > > container if possible? > > > The stack trace: > > > -> > > > 16:13:50.134 [ERROR] [serendipity] (ExceptionHelper.java:38) > > 2011-05-08 16:13:50,134 [FATAL] Uncaught Exception: > > > java.lang.AssertionError: A widget that has an existing parent widget > > may not be added to the detach list > > at > > com.google.gwt.user.client.ui.RootPanel.detachOnWindowClose(RootPanel.java: > > 136) > > at com.google.gwt.user.client.ui.RootPanel.get(RootPanel.java:211) > > at > > com.smartgwt.client.widgets.WidgetCanvas.onDraw(WidgetCanvas.java:39) > > at com.smartgwt.client.widgets.BaseWidget.rendered(BaseWidget.java: > > 242) > > at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > > 25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) > > at > > com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) > > at > > com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java: > > 157) > > at > > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java: > > 326) > > at > > com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java: > > 207) > > at > > com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java: > > 126) > > at > > com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java: > > 561) > > at > > com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java: > > 289) > > at > > com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java: > > 107) > > at > > com.smartgwt.client.widgets.layout.Layout.addMemberPostCreate(Layout.java) > > at com.smartgwt.client.widgets.layout.Layout.addMember(Layout.java: > > 1089) > > at com.smartgwt.client.widgets.layout.Layout.addMember(Layout.java: > > 1076) > > at au.com.uptick.serendipity.client.sales.view.DashboardsView > > $1.run(DashboardsView.java:76) > > at > > com.google.gwt.ajaxloader.client.ExceptionHelper.runProtected(ExceptionHelper.java: > > 36) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > > 39) > > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: > > 25) > > at java.lang.reflect.Method.invoke(Method.java:597) > > at > > com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) > > at > > com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) > > at > > com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java: > > 157) > > at > > com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java: > > 281) > > at > > com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java: > > 531) > > at > > com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java: > > 352) > > at java.lang.Thread.run(Thread.java:619) > > > -> > > > Cheers > > Rob > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google Visualization API" 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 > > athttp://groups.google.com/group/google-visualization-api?hl=en. > > -- > Eric Z. Ayers > Google Web Toolkit, Atlanta, GA USA -- You received this message because you are subscribed to the Google Groups "Google Visualization API" 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-visualization-api?hl=en.
