PDA

View Full Version : Using GWT Gauge in a GXT Portlet


fakoori
09-23-2009, 06:29 AM
Hi folks. I have big problem in using gwt.visualization widgets like gauge for adding to a GXT portlet? can anyone tell me how could i do that? thanks so much

pawel.sawicki
11-11-2009, 02:28 PM
Hi,
I am using such an approach and it works :

First - create some abstract portlet class

public abstract class AbstractChartPortlet extends Portlet {

protected DataTable dataTable;

public AbstractChartPortlet(String title, int height, String url){

setHeading(title);
setHeight(height);
setLayout(new FitLayout());

Query query = Query.create(url);
query.send(new Callback() {

@Override
public void onResponse(QueryResponse response) {
if (response.isError()) {
Log.error("Error in query: " + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
dataTable = response.getDataTable();
createChart();

}
});
}

protected abstract void createChart();


then I have some certain implementation of Portlet that contains different gaugae,
for example :


public class BarChartPortlet extends AbstractChartPortlet{

private final static String DATA_URL = "some url";

public BarChartPortlet() {
super("Title", 250, DATA_URL);
}

@Override
protected void createChart() {
Options options = Options.create();
options.setWidth(380);
options.setHeight(200);
options.set3D(true);
options.setShowCategories(true);
options.setEnableTooltip(true);
BarChart viz = new BarChart(dataTable, options);

add(viz);
doLayout();
}

}


and finally usage :


Portal portal = new Portal();
BarChartPortlet barPortlet = new BarChartPortlet();
portal.add(barPortlet,0);


Hope it helps

pawel.sawicki
11-11-2009, 02:32 PM
BarChart comes from com.google.gwt.visualization.client.visualizations.BarChart so it is a gwt.visualization gauge.
In my example we connect to remote data source to get some data to be shown within bar chart.

Arno.Nyhm
11-12-2009, 03:48 AM
http://code.google.com/p/gwt-google-apis/
i think you use this one?

pawel.sawicki
11-12-2009, 04:14 AM
to be more precious (I have listed BarChart code not Gauge code), Gauge code is listed below :


public class GaugePortlet extends AbstractChartPortlet {

private final static String DATA_URL = "some url";

public GaugePortlet() {
super("Title", 250, DATA_URL);
}

@Override
protected void createChart() {
Gauge.Options options = Gauge.Options.create();
options.setWidth(400);
options.setHeight(240);
options.setGaugeRange(0, 24);
options.setGreenRange(0, 6);
options.setYellowRange(6, 12);
options.setRedRange(12, 24);
Gauge gauge = new Gauge(dataTable, options);
add(gauge );
doLayout();

}



usage : create instance of this class and add it to your portal