Example usage for com.google.gwt.visualization.client.events SelectHandler SelectHandler

List of usage examples for com.google.gwt.visualization.client.events SelectHandler SelectHandler

Introduction

In this page you can find the example usage for com.google.gwt.visualization.client.events SelectHandler SelectHandler.

Prototype

SelectHandler

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  .  ja  v a  2  s  . 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;
}

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.//from  ww  w. j av a  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;
}

From source file:com.square.client.gwt.client.presenter.personne.PersonneRelationsVisualizationPresenter.java

License:Open Source License

/**
 * Evenement sur le clic./*from www. j  a  v  a  2  s  .  co m*/
 * @param chart
 * @param datas
 * @return SelectHandler
 */
private SelectHandler createSelectHandler(final OrgChart chart, final DataTable data) {
    return new SelectHandler() {

        @Override
        public void onSelect(SelectEvent event) {
            // May be multiple selections.
            final JsArray<Selection> selections = chart.getSelections();
            final Selection celluleSelectionnee = selections.get(0);
            final int rowCell = celluleSelectionnee.getRow();
            if (rowCell != 0) {
                final Long idPersCible = Long.parseLong(data.getValueString(rowCell, 0));
                personneRpcService.rechercherPersonneParId(idPersCible, new AsyncCallback<PersonneBaseModel>() {
                    @Override
                    public void onSuccess(PersonneBaseModel result) {
                        final PersonneModel personneCible = (PersonneModel) result;
                        fireEventGlobalBus(new OpenPersonEvent(idPersCible, personneCible.getNumClient(),
                                personneCible.getNom() != null ? personneCible.getNom() : "",
                                personneCible.getPrenom() != null ? personneCible.getPrenom() : "",
                                (personneCible.getNaturePersonne() != null)
                                        ? personneCible.getNaturePersonne().getIdentifiant()
                                        : null));
                    }

                    @Override
                    public void onFailure(Throwable caught) {
                        view.onRpcServiceFailure(new ErrorPopupConfiguration(caught));
                    }
                });
            }
        }
    };
}

From source file:edu.cudenver.bios.glimmpse.client.panels.guided.EffectSizeBarChart.java

License:Open Source License

public EffectSizeBarChart() {
    VerticalPanel panel = new VerticalPanel();

    chart = new BarChart(createTable(), createOptions());
    chart.addSelectHandler(new SelectHandler() {
        public void onSelect(SelectEvent event) {
            // May be multiple selections.
            JsArray<Selection> selections = chart.getSelections();
            for (int i = 0; i < selections.length(); i++) {
                Selection selection = selections.get(i);
                if (selection.isCell()) {
                    // get cell row/column
                    selectedRow = selection.getRow();
                    selectedColumn = selection.getColumn();
                }// w  ww  . jav a2  s  . c  o  m
            }

        }
    });
    panel.add(chart);

    Grid grid = new Grid(3, 4);

    final ListBox list1 = new ListBox();
    final ListBox list2 = new ListBox();
    final ListBox list3 = new ListBox();
    final ListBox list4 = new ListBox();
    for (int j = 0; j < 10; j++) {
        list1.addItem(Integer.toString(j));
        list2.addItem(Integer.toString(j));
        list3.addItem(Integer.toString(j));
        list4.addItem(Integer.toString(j));
    }
    list1.setSelectedIndex(1);
    list2.setSelectedIndex(2);
    list3.setSelectedIndex(2);
    list4.setSelectedIndex(1);
    grid.setWidget(0, 0, new HTML("male"));
    grid.setWidget(0, 1, new HTML("male"));
    grid.setWidget(0, 2, new HTML("female"));
    grid.setWidget(0, 3, new HTML("female"));
    grid.setWidget(1, 0, new HTML("A"));
    grid.setWidget(1, 1, new HTML("B"));
    grid.setWidget(1, 2, new HTML("A"));
    grid.setWidget(1, 3, new HTML("B"));
    grid.setWidget(2, 0, list1);
    grid.setWidget(2, 1, list2);
    grid.setWidget(2, 2, list3);
    grid.setWidget(2, 3, list4);
    panel.add(grid);
    list1.addChangeHandler(new ChangeHandler() {
        public void onChange(ChangeEvent e) {
            ListBox lb = (ListBox) e.getSource();
            data.setValue(0, 1, Integer.parseInt(lb.getItemText(lb.getSelectedIndex())));
            chart.draw(data, options);
        }
    });
    list2.addChangeHandler(new ChangeHandler() {
        public void onChange(ChangeEvent e) {
            ListBox lb = (ListBox) e.getSource();
            data.setValue(1, 1, Integer.parseInt(lb.getItemText(lb.getSelectedIndex())));
            chart.draw(data, options);
        }
    });
    list3.addChangeHandler(new ChangeHandler() {
        public void onChange(ChangeEvent e) {
            ListBox lb = (ListBox) e.getSource();
            data.setValue(2, 1, Integer.parseInt(lb.getItemText(lb.getSelectedIndex())));
            chart.draw(data, options);
        }
    });
    list4.addChangeHandler(new ChangeHandler() {
        public void onChange(ChangeEvent e) {
            ListBox lb = (ListBox) e.getSource();
            data.setValue(3, 1, Integer.parseInt(lb.getItemText(lb.getSelectedIndex())));
            chart.draw(data, options);
        }
    });

    ListBox common = new ListBox();
    common.addItem("Custom Relative Differences");
    common.addItem("Gender Main Effect");
    common.addItem("Treatment Main Effect");
    common.addItem("Gender by Treatment Interaction");
    common.addChangeHandler(new ChangeHandler() {
        public void onChange(ChangeEvent e) {
            ListBox lb = (ListBox) e.getSource();
            String value = lb.getItemText(lb.getSelectedIndex());
            if (value.equals("Gender Main Effect")) {
                data.setValue(0, 1, 1);
                data.setValue(1, 1, 1);
                data.setValue(2, 1, 2);
                data.setValue(3, 1, 2);
                list1.setSelectedIndex(1);
                list2.setSelectedIndex(1);
                list3.setSelectedIndex(2);
                list4.setSelectedIndex(2);
                chart.draw(data, options);
            } else if (value.equals("Treatment Main Effect")) {
                data.setValue(0, 1, 2);
                data.setValue(1, 1, 1);
                data.setValue(2, 1, 2);
                data.setValue(3, 1, 1);
                list1.setSelectedIndex(2);
                list2.setSelectedIndex(1);
                list3.setSelectedIndex(2);
                list4.setSelectedIndex(1);
                chart.draw(data, options);
            } else {
                // interaction
                data.setValue(0, 1, 1);
                data.setValue(1, 1, 2);
                data.setValue(2, 1, 2);
                data.setValue(3, 1, 1);
                list1.setSelectedIndex(1);
                list2.setSelectedIndex(2);
                list3.setSelectedIndex(2);
                list4.setSelectedIndex(1);
                chart.draw(data, options);
            }
        }
    });
    panel.add(new HTML("Common patterns of differences:"));
    panel.add(common);
    initWidget(panel);
}