Using Google Visualization in GWT 2.0 -
i'm working on learning gwt (total newb) , have question regarding visualiztion api provided google. page: http://code.google.com/p/gwt-google-apis/wiki/visualizationgettingstarted
describes getting started pie chart (which need). i'm trying in composite ui using uibinder. end don't know how handle callback correctly shown:
public class simpleviz implements entrypoint { public void onmoduleload() { // create callback called when visualization api // has been loaded. runnable onloadcallback = new runnable() { public void run() { panel panel = rootpanel.get(); // create pie chart visualization. piechart pie = new piechart(createtable(), createoptions()); pie.addselecthandler(createselecthandler(pie)); panel.add(pie); } }; // load visualization api, passing onloadcallback called // when loading done. visualizationutils.loadvisualizationapi(onloadcallback, piechart.package); }
my first assumption go in uibinder constructor, correct? yet assumes want place element in rootlayoutpanel, , don't. can't see elegant , obvious way of placing in binder. submit guess may wrong. ideas experts?
edit: should make clear attempt:
public graphpanel() { initwidget(uibinder.createandbindui(this)); runnable onloadcallback = new runnable() { public void run() { //layoutpanel panel = rootpanel. // create pie chart visualization. piechart pie = new piechart(createpietable(), createpieoptions()); pie.addselecthandler(createselecthandler(pie)); myself.getelement().appendchild(pie.getelement()); // .add(pie); } }; // load visualization api, passing onloadcallback called // when loading done. visualizationutils.loadvisualizationapi(onloadcallback, piechart.package); }
when run following in composites div:
<div class="gwt-viz-container"></div>
but see no graph using code above page.
edit 2: link may provide additional information. however, solution suggested not optimal since app needs know more widget (and if widget there). http://vaadin.com/forum/-/message_boards/message/97850
edit 3: shouldn't matter, in case, i'm running ff on linux. articles i've read have implied problem.
edit 4: adding:
pie.draw(createpietable(), createpieoptions());
after append child gets graph display. implies ordering of example wrong. if optimum?
it important know although gwt jre emulation library supports runnable
interface, can't used parallel processing in separate thread, code compiled javascript in turn runs single-threaded in browser. same goes synchronized
keyword.
i recommend doing preparation logic in widget/composite's constructor actual drawing in onload callback, need override. callback called when widget loaded in browser document, can perform page/layout interaction, enabling/disabling controls or requesting focus.
Comments
Post a Comment