/* * Copyright 2008 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.gwt.visualization.visualizationshowcase.client; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.visualization.client.VisualizationUtils; import com.google.gwt.visualization.client.DataTable; import com.google.gwt.visualization.client.AbstractDataTable.ColumnType; import com.google.gwt.visualization.client.visualizations.AnnotatedTimeLine; import com.google.gwt.visualization.client.visualizations.AreaChart; import com.google.gwt.visualization.client.visualizations.BarChart; import com.google.gwt.visualization.client.visualizations.ColumnChart; import com.google.gwt.visualization.client.visualizations.Gauge; import com.google.gwt.visualization.client.visualizations.GeoMap; import com.google.gwt.visualization.client.visualizations.IntensityMap; import com.google.gwt.visualization.client.visualizations.LineChart; import com.google.gwt.visualization.client.visualizations.MapVisualization; import com.google.gwt.visualization.client.visualizations.MotionChart; import com.google.gwt.visualization.client.visualizations.OrgChart; import com.google.gwt.visualization.client.visualizations.PieChart; import com.google.gwt.visualization.client.visualizations.ScatterChart; import com.google.gwt.visualization.client.visualizations.Table; /** * Google Visualization API in GWT demo. */ class Showcase implements EntryPoint { static DataTable getCompanyPerformance() { DataTable data = DataTable.create(); data.addColumn(ColumnType.STRING, "Year"); data.addColumn(ColumnType.NUMBER, "Sales"); data.addColumn(ColumnType.NUMBER, "Expenses"); data.addRows(4); data.setValue(0, 0, "2004"); data.setValue(0, 1, 1000); data.setValue(0, 2, 400); data.setValue(1, 0, "2005"); data.setValue(1, 1, 1170); data.setValue(1, 2, 460); data.setValue(2, 0, "2006"); data.setValue(2, 1, 660); data.setValue(2, 2, 1120); data.setValue(3, 0, "2007"); data.setValue(3, 1, 1030); data.setValue(3, 2, 540); return data; } static DataTable getDailyActivities() { DataTable data = DataTable.create(); data.addColumn(ColumnType.STRING, "Task"); data.addColumn(ColumnType.NUMBER, "Hours per Day"); data.addRows(5); data.setValue(0, 0, "Work"); data.setValue(0, 1, 11); data.setValue(1, 0, "Eat"); data.setValue(1, 1, 2); data.setValue(2, 0, "Commute"); data.setValue(2, 1, 2); data.setValue(3, 0, "Watch TV"); data.setValue(3, 1, 2); data.setValue(4, 0, "Sleep"); data.setValue(4, 1, 7); return data; } static DataTable getSugarSaltAndCaloriesComparison() { DataTable data = DataTable.create(); data.addColumn(ColumnType.NUMBER, "Sugar"); data.addColumn(ColumnType.NUMBER, "Calories"); data.addColumn(ColumnType.NUMBER, "Salt"); data.addRows(4); data.setValue(0, 0, 20); data.setValue(0, 1, 11); data.setValue(0, 2, 30); data.setValue(1, 0, 30); data.setValue(1, 1, 10); data.setValue(1, 2, 20); data.setValue(2, 0, 27); data.setValue(2, 1, 2); data.setValue(2, 2, 34); data.setValue(3, 0, 22); data.setValue(3, 1, 2); data.setValue(3, 1, 9); return data; } public void onModuleLoad() { VisualizationUtils.loadVisualizationApi("1.1", new Runnable() { public void run() { final VerticalPanel vp = new VerticalPanel(); vp.setSpacing(15); RootPanel.get().add(vp); vp.add(new HTML( "The following visualizations are included in the GWT " + "Visualization API in the package " + "<tt>com.google.gwt.visualization.client.visualizations</tt>. " + "For a full listing of visualizations available in GWT, see <a href=" + '"' + "http://code.google.com/apis/visualization/documentation/gallery.html" + '"' + ">the Google Visualization API</a>.")); LeftTabPanel tabby = new LeftTabPanel(); vp.add(tabby); AnnotatedDemo annotatedWidget = new AnnotatedDemo(); tabby.add(annotatedWidget, "AnnotatedTimeLine"); tabby.add(new AreaDemo(), "AreaChart"); tabby.add(new BarDemo(), "BarChart"); tabby.add(new ColumnDemo(), "ColumnChart"); tabby.add(new GaugeDemo(), "Gauge"); tabby.add(new GeoDemo(), "Geo Map"); tabby.add(new IntensityDemo(), "IntensityMap"); tabby.add(new LineDemo(), "LineChart"); tabby.add(new MapDemo(), "Map"); tabby.add(new MotionDemo(), "MotionChart"); tabby.add(new OrgDemo(), "OrgChart"); tabby.add(new PieDemo(), "PieChart"); tabby.add(new ScatterDemo(), "ScatterChart"); tabby.add(new TableDemo(), "Table"); tabby.setWidget(annotatedWidget); } }, AnnotatedTimeLine.PACKAGE, AreaChart.PACKAGE, BarChart.PACKAGE, ColumnChart.PACKAGE, Gauge.PACKAGE, GeoMap.PACKAGE, IntensityMap.PACKAGE, LineChart.PACKAGE, MapVisualization.PACKAGE, MotionChart.PACKAGE, OrgChart.PACKAGE, PieChart.PACKAGE, ScatterChart.PACKAGE, Table.PACKAGE); } }