/* * 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.JsArray; import com.google.gwt.user.client.ui.Label; import com.google.gwt.visualization.client.Selectable; import com.google.gwt.visualization.client.Selection; import com.google.gwt.visualization.client.events.SelectHandler; /** * Demo for SelectHandler that can be applied to any Selectable visualization. */ class SelectionDemo extends SelectHandler { private final Selectable viz; private final Label label; SelectionDemo(Selectable viz, Label label) { this.viz = viz; this.label = label; } @Override public void onSelect(SelectEvent event) { StringBuffer b = new StringBuffer(); JsArray<Selection> s = 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()); } } label.setText("selection changed " + b.toString()); } private JsArray<Selection> getSelections() { return viz.getSelections(); } }