Example usage for com.google.gwt.visualization.client.visualizations Table getSelections

List of usage examples for com.google.gwt.visualization.client.visualizations Table getSelections

Introduction

In this page you can find the example usage for com.google.gwt.visualization.client.visualizations Table getSelections.

Prototype

public final JsArray<Selection> getSelections() 

Source Link

Usage

From source file:com.google.gwt.visualization.sample.hellovisualization.client.VisualizationDemo.java

License:Apache License

/**
 * Creates a table visualization from a spreadsheet.
 *
 * @return panel with a table.//  w  w  w.jav  a2 s. c  om
 */
private Widget createTable() {
    final String noSelectionString = "<i>No rows selected.</i>";
    final Panel panel = new FlowPanel();
    final HTML label = new HTML(noSelectionString);
    panel.add(new HTML("<h2>Table visualization with selection support</h2>"));
    panel.add(label);
    // Read data from spreadsheet
    String dataUrl = "http://spreadsheets.google.com/tq?key=prll1aQH05yQqp_DKPP9TNg&pub=1";
    Query.Options queryOptions = Query.Options.create();
    queryOptions.setSendMethod(SendMethod.SCRIPT_INJECTION);
    Query query = Query.create(dataUrl, queryOptions);
    query.send(new Callback() {

        public void onResponse(QueryResponse response) {
            if (response.isError()) {
                Window.alert("Error in query: " + response.getMessage() + ' ' + response.getDetailedMessage());
                return;
            }

            final Table viz = new Table();
            panel.add(viz);
            Options options = Table.Options.create();
            options.setShowRowNumber(true);
            DataTable dataTable = response.getDataTable();
            ArrowFormat formatter = createFormatter();
            formatter.format(dataTable, 1);
            viz.draw(dataTable, options);

            viz.addSelectHandler(new SelectHandler() {
                @Override
                public void onSelect(SelectEvent event) {
                    StringBuffer b = new StringBuffer();
                    Table table = viz;
                    JsArray<Selection> s = table.getSelections();
                    for (int i = 0; i < s.length(); ++i) {
                        if (s.get(i).isCell()) {
                            b.append(" cell ");
                            b.append(s.get(i).getRow());
                            b.append(":");
                            b.append(s.get(i).getColumn());
                        } else if (s.get(i).isRow()) {
                            b.append(" row ");
                            b.append(s.get(i).getRow());
                        } else {
                            b.append(" column ");
                            b.append(s.get(i).getColumn());
                        }
                    }
                    if (b.length() == 0) {
                        label.setHTML(noSelectionString);
                    } else {
                        label.setHTML("<i>Selection changed to" + b.toString() + "<i>");
                    }
                }
            });
        }
    });
    return panel;
}

From source file:com.radoslavhusar.tapas.war.client.app.VisualizationDemo.java

License:Apache License

/**
 * Creates a table visualization from a spreadsheet.
 *
 * @return panel with a table.//www.  j ava  2s  .c  o  m
 */
private Widget createTable() {
    final String noSelectionString = "<i>No rows selected.</i>";
    final Panel panel = new FlowPanel();
    final HTML label = new HTML(noSelectionString);
    panel.add(new HTML("<h2>Table visualization with selection support</h2>"));
    panel.add(label);
    // Read data from spreadsheet
    String dataUrl = "http://spreadsheets.google.com/tq?key=prll1aQH05yQqp_DKPP9TNg&pub=1";
    Query.Options queryOptions = Query.Options.create();
    queryOptions.setSendMethod(SendMethod.SCRIPT_INJECTION);
    Query query = Query.create(dataUrl, queryOptions);
    query.send(new Callback() {

        public void onResponse(QueryResponse response) {
            if (response.isError()) {
                Window.alert("Error in query: " + response.getMessage() + ' ' + response.getDetailedMessage());
                return;
            }

            final Table viz = new Table();
            panel.add(viz);
            Options options = Table.Options.create();
            options.setShowRowNumber(true);
            DataTable dataTable = response.getDataTable();
            ArrowFormat formatter = createFormatter();
            formatter.format(dataTable, 1);
            viz.draw(dataTable, options);

            viz.addSelectHandler(new SelectHandler() {

                @Override
                public void onSelect(SelectEvent event) {
                    StringBuffer b = new StringBuffer();
                    Table table = viz;
                    JsArray<Selection> s = table.getSelections();
                    for (int i = 0; i < s.length(); ++i) {
                        if (s.get(i).isCell()) {
                            b.append(" cell ");
                            b.append(s.get(i).getRow());
                            b.append(":");
                            b.append(s.get(i).getColumn());
                        } else if (s.get(i).isRow()) {
                            b.append(" row ");
                            b.append(s.get(i).getRow());
                        } else {
                            b.append(" column ");
                            b.append(s.get(i).getColumn());
                        }
                    }
                    if (b.length() == 0) {
                        label.setHTML(noSelectionString);
                    } else {
                        label.setHTML("<i>Selection changed to" + b.toString() + "<i>");
                    }
                }
            });
        }
    });
    return panel;
}