dsitkin
5 Nov 2009, 6:27 PM
I've added a ChartListener to a StackedBarChart, but it's chartClicked and handleEvent methods are never invoked. Is it possible to register a ChartListener with a StackedBarChart for the purpose of handling chart events?
GXT Version: 2.0.1
GWT Version: 1.7.0
Mode: Hosted and Web
Browsers: Firefox 3.5.4, IE6 and IE7
Flash Version: 10
OS: Windows XP
Code Sample
public class LayoutTest implements EntryPoint {
public void onModuleLoad() {
RootPanel.get().add(new VerticalStackedChart());
}
class VerticalStackedChart extends ContentPanel {
public VerticalStackedChart() {
setBorders(false);
setBodyBorder(false);
setHeaderVisible(false);
setHeight(500);
setWidth(400);
}
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
XAxis xAxis = new XAxis();
xAxis.setMin(0);
xAxis.setMax(1);
xAxis.setSteps(1);
YAxis yAxis = new YAxis();
yAxis.setMin(0);
yAxis.setMax(800);
yAxis.setSteps(100);
StackedBarChart barChart = new StackedBarChart();
barChart.setTooltip("#key# - #val#");
List<StackedBarChart.StackValue> data = new ArrayList<StackedBarChart.StackValue>();
data.add(new StackedBarChart.StackValue(100, "#AF1E2D", "Text 1"));
data.add(new StackedBarChart.StackValue(200, "#006B54", "Text 2"));
data.add(new StackedBarChart.StackValue(400, "#003F87", "Text 3"));
barChart.addStack(data);
data = new ArrayList<StackedBarChart.StackValue>();
data.add(new StackedBarChart.StackValue(200, "#AF1E2D", "Text 1"));
data.add(new StackedBarChart.StackValue(400, "#006B54", "Text 2"));
data.add(new StackedBarChart.StackValue(100, "#003F87", "Text 3"));
barChart.addStack(data);
ChartModel model = new ChartModel();
model.setXAxis(xAxis);
model.setYAxis(yAxis);
model.addChartConfig(barChart);
Chart chart = new Chart("resources/chart/open-flash-chart.swf");
chart.setChartModel(model);
add(chart);
barChart.addChartListener(new ChartListener(){
@Override
public void chartClick(ChartEvent ce) {
// TODO Auto-generated method stub
super.chartClick(ce);
Window.alert("Chart Click");
}
@Override
public void handleEvent(ChartEvent ce) {
// TODO Auto-generated method stub
super.handleEvent(ce);
Window.alert("Chart Event");
}});
}
}
}
GXT Version: 2.0.1
GWT Version: 1.7.0
Mode: Hosted and Web
Browsers: Firefox 3.5.4, IE6 and IE7
Flash Version: 10
OS: Windows XP
Code Sample
public class LayoutTest implements EntryPoint {
public void onModuleLoad() {
RootPanel.get().add(new VerticalStackedChart());
}
class VerticalStackedChart extends ContentPanel {
public VerticalStackedChart() {
setBorders(false);
setBodyBorder(false);
setHeaderVisible(false);
setHeight(500);
setWidth(400);
}
@Override
protected void onRender(Element parent, int index) {
super.onRender(parent, index);
XAxis xAxis = new XAxis();
xAxis.setMin(0);
xAxis.setMax(1);
xAxis.setSteps(1);
YAxis yAxis = new YAxis();
yAxis.setMin(0);
yAxis.setMax(800);
yAxis.setSteps(100);
StackedBarChart barChart = new StackedBarChart();
barChart.setTooltip("#key# - #val#");
List<StackedBarChart.StackValue> data = new ArrayList<StackedBarChart.StackValue>();
data.add(new StackedBarChart.StackValue(100, "#AF1E2D", "Text 1"));
data.add(new StackedBarChart.StackValue(200, "#006B54", "Text 2"));
data.add(new StackedBarChart.StackValue(400, "#003F87", "Text 3"));
barChart.addStack(data);
data = new ArrayList<StackedBarChart.StackValue>();
data.add(new StackedBarChart.StackValue(200, "#AF1E2D", "Text 1"));
data.add(new StackedBarChart.StackValue(400, "#006B54", "Text 2"));
data.add(new StackedBarChart.StackValue(100, "#003F87", "Text 3"));
barChart.addStack(data);
ChartModel model = new ChartModel();
model.setXAxis(xAxis);
model.setYAxis(yAxis);
model.addChartConfig(barChart);
Chart chart = new Chart("resources/chart/open-flash-chart.swf");
chart.setChartModel(model);
add(chart);
barChart.addChartListener(new ChartListener(){
@Override
public void chartClick(ChartEvent ce) {
// TODO Auto-generated method stub
super.chartClick(ce);
Window.alert("Chart Click");
}
@Override
public void handleEvent(ChartEvent ce) {
// TODO Auto-generated method stub
super.handleEvent(ce);
Window.alert("Chart Event");
}});
}
}
}