PDA

View Full Version : ext.ux.ofcgxt - ChartWidget



gslender
30 Sep 2008, 4:20 AM
UPDATE 13/02/2009 : Valentine's Day release - v1.3.0 new multi-model providers/store - sync with 1.3 of OFCGWT.
UPDATE 24/12/2008 : Xmas eve release - v1.2.1 new model providers, new autoscale and label strategy.
UPDATE 14/12/2008 : v1.2 released synced with OFCGWT (new charts/onclick)
UPDATE 18/10/2008 : beta4 released with new charts and fixes


OpenFlashChart widget for GXT -> http://code.google.com/p/ext-ux-ofcgxt/

ChartWidget wraps a flash chart object and adds support for model/store and integrates as a normal GXT widget.

Instructions and details on the google code website link above.

enjoy !!

Grant
:D

TheBuzzer
30 Sep 2008, 12:16 PM
nice job. looks great.

no clue what I could use this widget for. ya I dont have a use for charts with the stuff I am doing but still really nice. Will be helpful for ppl that needs to draw charts

gslender
1 Oct 2008, 12:24 PM
nice job. looks great.

no clue what I could use this widget for

the demo provided on the website gives an example use case - as a way of better showing related information - often if you are using a grid/table/tree then you probably can benefit from graphing that same information

TheBuzzer
1 Oct 2008, 9:07 PM
The only chart i could think of is to make the program i am doing have a total section where it shows the cost and profits as a graph.

but i dont think i going to do that yet.

maybe in the future. but still might be using this if i am.

still trying to rewrite my whole gwt project using gxt and ui changed a lot.

It isnt a easy task but I am liking the result of what I am doing so far but still wish I have other ppl helping me and not just a lone developer working in a company.

piprog
2 Oct 2008, 8:14 AM
Good work Grant, much appreciated!

gslender
17 Oct 2008, 4:49 PM
beta4 release based on OFCGWT v1.0.1 and fixes for window/portal bug

dardison
25 Nov 2008, 9:41 AM
Hi Grant and all,

I think I finally resolved the issue on calculating the Y Scale on BarChart Charts.
What I did is modify the updateChartModelData method code in order to introduce a method to calculate Scale in order to BarChart renders properly with big Y values.

I tested and I'm using this code.
I posted here because I think it could help others.

Here is the code changes I made in BarChartProvider class:


public void updateChartModelData(List<M> models) {
Integer maxValue=this.getMaxYValue(models);
Scale scale=this.calculateBaseScale(maxValue);
bc.getValues().clear();
chartData.getXAxis().setXAxisLabels(null);
chartData.getYAxis().setMax(scale.getBase().intValue());
chartData.getYAxis().setMin(0);
chartData.getYAxis().setSteps(scale.getInterval().intValue());
for (M m : models) {
if (modelXLabel != null) chartData.getXAxis().addLabels((String)m.get(modelXLabel));
Object v = m.get(modelYValue);
if (v instanceof String) {
bc.addValues(new Double((String)v));
}
else {
bc.addValues((Number)v);
}
}
}

protected Scale calculateBaseScale(Integer maxValue){
double result=0;
double interval=0;
int divideCount=0;
Double base=0.0;
int intBase;
boolean found=false;
result=maxValue;
if(result>1000){
while(!found){
result=result / 1000;
divideCount++;
if(result<1000){
found=true;
}
}
}
if(result<1000 && result>=500){
interval=100;
}
if(result<500 && result>=200){
interval=50;
}
if(result<200 && result>=100){
interval=20;
}
if(result<100 && result>=50){
interval=10;
}
if(result<50 && result>=20){
interval=5;
}
if(result<20 && result>=10){
interval=2;
}
if(result<10 && result>=5){
interval=1;
}
if(result<5 && result>=2){
interval=0.5;
}
if(result<2 && result>=1){
interval=0.2;
}
base=result/interval;
intBase=base.intValue();
base=intBase*interval;
for(int i=0; i<divideCount;i++){
base=base*1000;
interval=interval*1000;
}
base=base+interval;
Scale scale=new Scale(base, interval);
return scale;
}

protected Integer getMaxYValue(List<M> models){
Double maxValue=0.0;
Double currentValue;
for(M m : models){
Object v = m.get(modelYValue);
if (v instanceof String) {
currentValue=new Double((String)v);
}else {
currentValue=(Double)v;
}
if(currentValue>maxValue)
maxValue=currentValue;
}
return maxValue.intValue();
}

/**
* Gets the model y value.
*
* @return the model y value
*/
public String getModelYValue() {
return modelYValue;
}

/**
* Sets the model y value.
*
* @param value the new model y value
*/
public void setModelYValue(String value) {
this.modelYValue = value;
}

/**
* Gets the model x label.
*
* @return the model x label
*/
public String getModelXLabel() {
return modelXLabel;
}

/**
* Sets the model x label.
*
* @param modelXLabel the new model x label
*/
public void setModelXLabel(String modelXLabel) {
this.modelXLabel = modelXLabel;
}

/**
* Gets the bar chart.
*
* @return the bar chart
*/
public BarChart getBarChart() {
return bc;
}

/**
* Sets the bar chart.
*
* @param bc the new bar chart
*/
public void setBarChart(BarChart bc) {
this.bc = bc;
}

protected class Scale{
private Double base;
private Double interval;

protected Scale(Double base, Double interval){
this.interval=interval;
this.base=base;
}

protected Double getBase(){
return base;
}

protected Double getInterval(){
return interval;
}
}
The changes are:

Method to calculate the Max Value from a List of Models : getMaxYValue(models).
The Private Scale class to hold base and interval values
Method to calculate the Scale giving maxValue : calculateBaseScale(maxValue).

Please feel free to use this code.
Regards.

Daniel

gslender
13 Dec 2008, 11:26 PM
UPDATE 14/12/2008 : v1.2 released synced with OFCGWT (new charts/onclick)

116708828
21 Dec 2008, 9:24 PM
I want a gantt chat ,could you make a plugins? Thank you

gslender
22 Dec 2008, 1:39 AM
OFCGXT is based on OFC (http://teethgrinder.co.uk/open-flash-chart-2/) so really, if you want a new chart, you'd be best asking the OFC developer.

gslender
23 Dec 2008, 8:39 PM
UPDATE 24/12/2008 : v1.2.1 released

pedrosousa
7 Jan 2009, 8:34 AM
UPDATE: 2009-Jan-07: Released v1.2.3 - bug fix regarding attach/detach + sync with OFCGWT

pedrosousa
7 Jan 2009, 8:38 AM
Hi,

I using ext.ux.ofcggxt. So far I have problems when I add the chart widget to a Panel with CenterLayout or if I add to an Horizontal Panel. Anyone has the same problem?

My goal is to put charts in Portlet panels and I want to center the chart.

Can anyone give me a hand?

Regards,
Pedro Sousa

dardison
7 Jan 2009, 12:40 PM
Hi Pedro,

I'm also using Chart inside panels but in my case is the only widget I have in the panel, so I used FitLayout and it works fine. I don't have experience with other layouts and Charts.

Regards,
Daniel

gslender
7 Jan 2009, 1:24 PM
I using ext.ux.ofcggxt. So far I have problems when I add the chart widget to a Panel with CenterLayout or if I add to an Horizontal Panel. Anyone has the same problem?


There are known bugs in IE that cause this problem. GXT breaks the DOM and so IE coughs and the Javascript <-> Flash interaction breaks. There is nothing I can do (at least I don't think there is).

In any case, can you provide a test snippet that demonstrates the bug. I might have another go at trying to solve it.

Cheers,
Grant

gslender
7 Jan 2009, 7:16 PM
In any case, can you provide a test snippet that demonstrates the bug. I might have another go at trying to solve it.

eg... this works fine for me so its hard to know what to fix ;-)



Viewport vp = new Viewport();
vp.setLayout(new CenterLayout());
ContentPanel cp = new ContentPanel();
cp.setHeading("chart");
cp.setSize(400,400);
cp.add(getGxtChartWidget());
vp.add(cp);
RootPanel.get().add(vp);

widget
8 Jan 2009, 12:00 AM
How to properly load data to ext.ux.ofcggxt's store before render it?

This code does not work:



public class GraphPanel extends LayoutContainer {

@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);

setLayout(new FitLayout());

final ListStore<DayStat> store = new ListStore<DayStat>();
DBServiceAsync service = (DBServiceAsync) Registry.get(MainWindow.DBSERVICE);
service.getDayStats(new AsyncCallback<List<DayStat>>() {

public void onFailure(Throwable caught) {
}

public void onSuccess(List<DayStat> result) {
for (DayStat dayStat : result) {
store.add(dayStat);
}
store.commitChanges();
}

});

GxtChartWidget<DayStat> chart = new GxtChartWidget<DayStat>();
chart.setStore(store);

BarChartProvider<DayStat> bcp = new BarChartProvider<DayStat>(BarChart.BarStyle.GLASS, "Cdr", "D");
bcp.getChartData().setTitle(new Text("Some title"));
bcp.getChartData().setBackgroundColour("#eeeeee");
bcp.getBarChart().setColour("#9933CC");

chart.setModelChartProvider(bcp);

add(chart);
}

}

But if I load data in button's listener, it works:



public class GraphPanel extends LayoutContainer {

@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);

//setLayout(new FitLayout());

// some initial data
store.add(new DayStat("2008", "12", "01", "10.0", "20.0"));
store.add(new DayStat("2008", "12", "02", "11.0", "20.0"));
store.add(new DayStat("2008", "12", "03", "13.0", "20.0"));

GxtChartWidget<DayStat> chart = new GxtChartWidget<DayStat>();
chart.setStore(store);

BarChartProvider<DayStat> bcp = new BarChartProvider<DayStat>(BarChart.BarStyle.GLASS, "Cdr", "D");
bcp.getChartData().setTitle(new Text("Some title"));
bcp.getChartData().setBackgroundColour("#eeeeee");
bcp.getBarChart().setColour("#9933CC");

chart.setModelChartProvider(bcp);

chart.setPixelSize(600, 50);
add(chart);

Button btn = new Button("Load");

btn.addSelectionListener(new SelectionListener<ButtonEvent>() {

@Override
public void componentSelected(ButtonEvent ce) {
DBServiceAsync service = (DBServiceAsync) Registry.get(MainWindow.DBSERVICE);
service.getDayStats(new AsyncCallback<List<DayStat>>() {

public void onFailure(Throwable caught) {
}

public void onSuccess(List<DayStat> result) {
for (DayStat dayStat : result) {
store.add(dayStat);
}
store.commitChanges();
}

});
}

});
add(btn);
}

}


Will work GxtChartWidget with RPCProxy?

pedrosousa
8 Jan 2009, 1:39 AM
There are known bugs in IE that cause this problem. GXT breaks the DOM and so IE coughs and the Javascript <-> Flash interaction breaks. There is nothing I can do (at least I don't think there is).

In any case, can you provide a test snippet that demonstrates the bug. I might have another go at trying to solve it.

Cheers,
Grant

Hi,

I made a sample app where a demonstrate de problem using center layout in a portlet. Hope it can helps.



package pt.test.client;

import com.extjs.gxt.ui.client.widget.Viewport;
import com.extjs.gxt.ui.client.widget.custom.Portal;
import com.extjs.gxt.ui.client.widget.custom.Portlet;
import com.extjs.gxt.ui.client.widget.layout.CenterLayout;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Random;
import com.google.gwt.user.client.ui.RootPanel;
import com.rednels.ofcgwt.client.IChartListener;
import com.rednels.ofcgwt.client.model.ChartData;
import com.rednels.ofcgwt.client.model.elements.PieChart;

import ext.ux.ofcgxt.client.GxtChartWidget;

public class Test implements EntryPoint {

public void onModuleLoad() {
Portal portal = new Portal(1);
portal.setBorders(true);
portal.setStyleAttribute("backgroundColor", "white");
portal.setColumnWidth(0, 1);

Portlet portlet = new Portlet();
portlet.setHeading("Chart in a Portlet");
portlet.setLayout(new CenterLayout());
portlet.setHeight(400);
portlet.add(getCP2());

portal.add(portlet, 0);

final Viewport vp = new Viewport();
vp.setLayout(new FitLayout());

vp.add(portal);

RootPanel.get().add(vp);
}

private GxtChartWidget getCP2() {

final TestPieChart tpc = new TestPieChart();
final GxtChartWidget chart2 = new GxtChartWidget();
chart2.setJsonData(tpc.getJSON());
chart2.addChartListeners(new IChartListener() {
public void handleChartReadyEvent() {
// chart is ready event...
// not used but could be if required
}
public void imageSavedEvent() {
// chart was saved ok event...
// not used but could be if required
}
});
chart2.setSize("300", "300");

return chart2;
}

public class TestPieChart {
ChartData c;
PieChart p;

public TestPieChart() {
p = new PieChart();
p.setGradientFill(true);
p.setAnimate(false);
p.setStartAngle(35);
p.setBorder(2);
p.setColours("#d01f3c", "#345678", "#356aa0", "#C79810");
p.setTooltip("#label#<br>$#val# (#percent#)");
p.setAlpha(0.6f);
p.setNoLabels(true);

c = new ChartData("Pie Chart");
c.addElements(p);
c.setBackgroundColour("#eeffee");
}

public String getJSON() {
p.getValues().clear();
int n = Random.nextInt(6) + 2;
for (int i = 0; i < n; i++) {
p.addSlice(Random.nextInt(12) * 1000, "Slice #" + (i + 1));
}
return c.toString();
}
}
}


I tested with JDK 1.5.0_15, GWT 1.5.2, GXT 1.2 and ofcgxt 1.2.3.

Regards,

gslender
8 Jan 2009, 4:40 AM
ok, so I tried you sample and it works fine ?

I'm using JDK 1.6 / GWT 1.5.3 / GXT 1.2.1 / ofcgxt 1.2.3


So I'm not sure what else to say?

gslender
8 Jan 2009, 4:47 AM
How to properly load data to ext.ux.ofcggxt's store before render it?

This code does not work:

Will work GxtChartWidget with RPCProxy?

Can you please post a full RPC example - with the server side code etc... zip up the project if you need and post to me (or email to gslender@gmail.com)

Thanks
Grant

pedrosousa
8 Jan 2009, 6:23 AM
ok, so I tried you sample and it works fine ?

I'm using JDK 1.6 / GWT 1.5.3 / GXT 1.2.1 / ofcgxt 1.2.3


So I'm not sure what else to say?

Ok, thanks. Now I find out that GXT 1.2 has some problem. I tested the app with GXT 1.2.1 and it works fine.

Regards,

gslender
8 Jan 2009, 3:19 PM
How to properly load data to ext.ux.ofcggxt's store before render it?

Will work GxtChartWidget with RPCProxy?

A RPC test case and few bug fixes (to correct null values and cast errors) have been placed in SVN. In saying that, not much was really added to impact your problem - ie if it worked locally then it would have worked remotely - assuming the data was correctly produced by the server.

Michi_de
14 Jan 2009, 2:43 AM
Hi,
i have some problems, using the OFCGXT stuff.

[ERROR] Line 108: No source code is available for type ext.ux.ofcgxt.client.GxtChartWidget<M>; did you forget to inherit a required module?

Into my App.gwt.xml i put this code inside:

<!-- Other module inherits -->
<inherits name='com.rednels.ofcgwt.OFCGWT'/>
like its said in the OFCGWT getting started guide.

Seems like there is something wrong with this inherit?

There is even more i'm wondering about:
How actually i can use this chart widgets and implement them into my Gxt application?

My approach was:

GxtChartWidget<Statistic> chart = new GxtChartWidget<Statistic>();
chart.setStore(statisticStore);

PieChartProvider<Statistic> provider = new PieChartProvider<Statistic>("abc", "def");

chart.setModelChartProvider(provider);

Is this a correct way to use this charts? And why there are this different package names?
(com.rednles.stuff... and ext.ux.stuff.. )
Is there a way i can use a piechart, more easy, with the com.rednels.ofcgwt.client.model.elements.PieChart ? I havent found an API for the ext.ux.stuff ...

gslender
14 Jan 2009, 3:06 AM
Into my App.gwt.xml i put this code inside:

<!-- Other module inherits -->
<inherits name='com.rednels.ofcgwt.OFCGWT'/>
like its said in the OFCGWT getting started guide.


did you also include the jar file in the launch and compile classpath for GWT ?

Michi_de
14 Jan 2009, 3:55 AM
I created a user library, containing the jar file.
Should i use the simple jar file instead?

/edit:
now i added the "external jar file" into my application (properties on app: Java Build Path: Libraries: Add External Jars)
and also in the run configuration (run configurations... : classpath: Add External Jars).

Still same error..

Michi_de
14 Jan 2009, 4:49 AM
Now i've tested to use a chartwidget within a servlet (not compiled by the GWT compiler). Now there is no error anymore... so it seems, i included the jars correctly, but the error seems to come from my App.gwt.xmp ?

this is what my xml looks like:

<module>

<!-- Inherit the core Web Toolkit stuff. -->
<inherits name='com.google.gwt.user.User'/>
<inherits name='com.extjs.gxt.ui.GXT'/>
<!-- 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'/> -->

<set-property name="gwt.suppressNonStaticFinalFieldWarnings" value="true" />

<!-- Other module inherits -->
<inherits name='com.rednels.ofcgwt.OFCGWT'/>

<!-- Specify the app entry point class. -->
<entry-point class='ShortcutManager.client.App'/>

<servlet path="/service" class="ShortcutManager.server.ShortcutServiceImpl" />

<!-- Specify the application specific style sheet. -->
<stylesheet src='App.css' />

</module>

Michi_de
14 Jan 2009, 11:39 PM
Finally... i found that the right inherit is:

<inherits name='ext.ux.ofcgxt.OFCGXT' />

.... (:|

My next question is more OFCGWT specific. Not a problem, just a little bit of understanding the use of this plugin:

I want to create an application like this one:


+--ContentPanel-----------------------------------+
| +--HorizontalPanel----------------------------+ |
| | GRID | CHART | |
| +---------------------------------------------+ |
+-------------------------------------------------+

How to realize something like this? I just want the Chart on the right hand side of the grid.

Using the horizontalpanel doesnt work. What Layouts and Panels i should use?

gslender
15 Jan 2009, 1:30 AM
Have a look at http://code.google.com/p/ext-ux-ofcgxt/source/browse/trunk/test/com/gwttest/client/Demo.java

Whilst this is vertical, conceptually you'd do the same thing but with a Orientation.HORIZONTAL for the RowLayout

Michi_de
15 Jan 2009, 4:24 AM
In your example you add the viewport into the rootpanel.
I need to add my HorizontalPanel into a ContentPanel.

I tried to put a viewport (with the charts and grids) into my ContentPanel. But it just don't work.
It looks like something like that:



public class StatisticsPanel extends ContentPanel {
public StatisticsPanel () {
ContentPanel cp1 = new ContentPanel();
ContentPanel cp2 = new ContentPanel();

cp1.add(new Button("Panel1 Button"));
cp2.add(new Button("Panel2 Button"));

Viewport vp = new Viewport();
vp.setLayout(new RowLayout(Orientation.HORIZONTAL));
vp.add(cp1, new RowData(300, 400, new Margins(10)));
vp.add(cp2, new RowData(350, 300, new Margins(10)));

add(vp);
}As you can see in the attached picture:
the bothe ContentPanels (cp1 and cp2) seem to start somewhere in the upper left, outside my content panel. (i cant see the buttons actually...)
The content panel himselfs just don't get rendered correct. His borders in the right and bottom are just somewhere out of my application.

Please any help :(

Man, the documentation for all the GXT and stuff is just way too poor. I need days to learn something easy like this... just because the only way to learn is watch complex code and then try and error...
realy frustrating :(

sven
15 Jan 2009, 4:46 AM
You are adding a viewport to some other component. Viewport should be the most top component.

Michi_de
15 Jan 2009, 4:47 AM
Which means, its impossible to put charts and grids together in just one content panel? Except by just adding one widget after each other with the result of



+-CP----+
| GRID |
| Chart |
| .... |
+-------+

But a chart in one line with the grid is not possible?

sven
15 Jan 2009, 4:48 AM
It means that you cant use a viewport there...

gslender
15 Jan 2009, 5:13 AM
But a chart in one line with the grid is not possible?

Michi_de, read a little of the docs first before posting... /:)

I gave you the answer - use a ContentPanel with a RowLayout set to HORIZONTAL.

Viewport is for the intial panel added to an application that other containers are added to - this is in the docs, in the wiki and all the sample apps.

Michi_de
15 Jan 2009, 6:01 AM
Oh, sorry... to keep the drawing simple i had only one horizontal line... my bad, sorry, i should have made my problem more clear.

Now, that i can put widgets one after each other in just one line. How can i go to the next line? So i can create a matrix?

Like this:



+--CP----------+
| GRID | CHART |
| GRID | CHART |
+--------------+

Is this possible?

(i know there is a TableLayout and TableData, but they both only contain .setColspan() , but no .setRows() or sthg.. so i don't know how to use this kind of layout...)

gslender
15 Jan 2009, 1:02 PM
Read the docs, wiki and all the sample apps. Pls post further questions in the help forum and don't just keep reposting on an unrelated thread.

Michi_de
19 Jan 2009, 5:17 AM
Something OFCGXT specific:
There are some things which looks a little bit 'buggy' imo.



buGrid = new Grid<Statistic>(statisticStore, buColumnmodel);

buChart = new GxtChartWidget<Statistic>();
buChart.setStore(statisticStore);
Both widgets are using the same store.
Now i add some new model into the database, then reload the store to get the latest data from database.
The grids data gets refreshed. The Charts data gets outdated.

Is this a bug? Or i need to reload the chart somehow? (haven't found anything in the api)

And another question: is there an API for the ofcgxt classes?

And one more 'bug':
The
buChartProvider.getPieChart().setAnimate(false);
does not set the animation of the piechart disabled. Why? Did i missunderstood the meaning of this method?

gslender
19 Jan 2009, 11:51 AM
Something OFCGXT specific:
There are some things which looks a little bit 'buggy' imo.



buGrid = new Grid<Statistic>(statisticStore, buColumnmodel);

buChart = new GxtChartWidget<Statistic>();
buChart.setStore(statisticStore);
Both widgets are using the same store.

There is nothing wrong with that - if you want both Grid and Chart to display the same data than this is how you would do that.


Now i add some new model into the database, then reload the store to get the latest data from database.
The grids data gets refreshed. The Charts data gets outdated.

Is this a bug? Or i need to reload the chart somehow? (haven't found anything in the api)

Could be - I haven't actually tried that scenario so possibly a bug exists. I'll test this and see what I can find...


And another question: is there an API for the ofcgxt classes?

I've not generated Javadocs from the source, so other than using Eclipse's auto comments, there is no seperate API. Though, the source is documented (see http://code.google.com/p/ext-ux-ofcgxt/source/browse/trunk/src/ext/ux/ofcgxt/client/data/BaseModelChartProvider.java)



And one more 'bug':
The buChartProvider.getPieChart().setAnimate(false);
does not set the animation of the piechart disabled.

It does, just unfortunately not the animation you wanted - if you set it to true, it will spiral from the 1st slice outwards. False turns this off.

gslender
19 Jan 2009, 2:03 PM
Could be - I haven't actually tried that scenario so possibly a bug exists. I'll test this and see what I can find...


No bug - works as expected. I've updated the on-line demo to showcase this (adding a row updates both grid and chart) and the Demo.java in the test package shows how I did this.

See http://code.google.com/p/ext-ux-ofcgxt/

If its not working for you, please post a new thread in the help forum and I'll help you with this.

Cheers,
Grant

Michi_de
19 Jan 2009, 11:53 PM
Sorry, but in the link i can't find the source code you mean. Anyway i guess you tried to just add data into the store, right?
My approach was to reload the loader. This uses an RPC Proxy to load data from my servlet.
Could the error be resulting from this?

Sorry, but i don't know why i should open up a new thread for this ...
If you want, just delete this post.
But as this is 100% ofcgxt related only, i posted it just here...

gslender
20 Jan 2009, 12:03 AM
Sorry, but in the link i can't find the source code you mean.
How hard did you look? :D

Line 168 of http://code.google.com/p/ext-ux-ofcgxt/source/browse/trunk/test/com/gwttest/client/Demo.java



Anyway i guess you tried to just add data into the store, right?
My approach was to reload the loader. This uses an RPC Proxy to load data from my servlet.
Could the error be resulting from this?

Reload the loader? So you mean you added a new item to the server data list and then called loader.load - is that right?

Come to think of it, I don't think I listen for load reload events, so yes that is probably why. I'll look into this and let you know (pls post a new thread re below)



Sorry, but i don't know why i should open up a new thread for this ...
If you want, just delete this post.
But as this is 100% ofcgxt related only, i posted it just here...

I just don't want heaps of posts added to the bottom of this thread for help/support. Its already at 30+ and if everybody posted help questions on the end, it will quickly get out of control.

Perhaps think about posting to the discussion group on Google associated with this project.... http://groups.google.com/group/ofcgwt

...or the issues list if its a bug

gslender
13 Feb 2009, 3:45 AM
UPDATE 13/02/2009 : v1.3.0 released

babyblue
18 Aug 2009, 1:02 PM
Hi,

Is "Save Image Locally" currently working? Is this what this thread is about?

http://code.google.com/p/ofcgwt/issues/detail?id=25

Does it work like "Save As Image" from

http://teethgrinder.co.uk/open-flash-chart-2/save-image-js.php

Where it opens another window with the image inside?

Thanks.

ddanny
22 Sep 2009, 6:42 AM
Hello,

I think this topic is quite important for the few of us needing charting stuff in our (Ext)GWT based applications.

In my opinion, two issues should be fixed before we can ship software for real customers with ExtGWT charting included:
* Make "Save Image Locally" actually work
* Provide the possibility to customize the right-click popup menu. Potential customers will not care about most of the items in that menu.

Regards,

Dan