| Index: charted/lib/charts/src/chart_state_impl.dart
|
| diff --git a/charted/lib/charts/src/chart_state_impl.dart b/charted/lib/charts/src/chart_state_impl.dart
|
| deleted file mode 100644
|
| index 71c4afa3214d53058bf3b9e66449baa2db486642..0000000000000000000000000000000000000000
|
| --- a/charted/lib/charts/src/chart_state_impl.dart
|
| +++ /dev/null
|
| @@ -1,133 +0,0 @@
|
| -//
|
| -// Copyright 2014 Google Inc. All rights reserved.
|
| -//
|
| -// Use of this source code is governed by a BSD-style
|
| -// license that can be found in the LICENSE file or at
|
| -// https://developers.google.com/open-source/licenses/bsd
|
| -//
|
| -
|
| -part of charted.charts;
|
| -
|
| -///
|
| -/// Model that maintains state of each visualization item. Each entry in the
|
| -/// legend is considered one visualization item.
|
| -/// - In [CartesianArea] it is always a column.
|
| -/// - In [LayoutArea] renders choose either columns or rows.
|
| -///
|
| -class DefaultChartStateImpl extends ChangeNotifier implements ChartState {
|
| - final bool isMultiSelect;
|
| - final bool isMultiHighlight;
|
| - final bool isSelectOrHighlight;
|
| - final bool supportColumnSelection;
|
| - final bool supportColumnPreview;
|
| - final bool supportValueHighlight;
|
| - final bool supportValueHover;
|
| -
|
| - LinkedHashSet<int> hidden = new LinkedHashSet<int>();
|
| -
|
| - LinkedHashSet<int> selection = new LinkedHashSet<int>();
|
| - LinkedHashSet<Pair<int,int>> highlights = new LinkedHashSet<Pair<int,int>>();
|
| -
|
| - Pair<int,int> _hovered;
|
| - int _preview;
|
| -
|
| - DefaultChartStateImpl({
|
| - this.supportColumnSelection: true,
|
| - this.supportColumnPreview: true,
|
| - this.supportValueHighlight: true,
|
| - this.supportValueHover: true,
|
| - this.isMultiSelect: false,
|
| - this.isMultiHighlight: false,
|
| - this.isSelectOrHighlight: true});
|
| -
|
| - set hovered(Pair<int,int> value) {
|
| - if (!this.supportValueHover) return null;
|
| - if (value != _hovered) {
|
| - _hovered = value;
|
| - notifyChange(new ChartHoverChangeRecord(_hovered));
|
| - }
|
| - return value;
|
| - }
|
| - Pair<int,int> get hovered => _hovered;
|
| -
|
| - set preview(int value) {
|
| - if (!this.supportColumnPreview) return null;
|
| - if (value != _preview) {
|
| - _preview = value;
|
| - notifyChange(new ChartPreviewChangeRecord(_preview));
|
| - }
|
| - return value;
|
| - }
|
| - int get preview => _preview;
|
| -
|
| - bool unhide(int id) {
|
| - if (hidden.contains(id)) {
|
| - hidden.remove(id);
|
| - notifyChange(new ChartVisibilityChangeRecord(unhide:id));
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - bool hide(int id) {
|
| - if (!hidden.contains(id)) {
|
| - hidden.add(id);
|
| - notifyChange(new ChartVisibilityChangeRecord(hide:id));
|
| - }
|
| - return false;
|
| - }
|
| -
|
| - bool isVisible(int id) => !hidden.contains(id);
|
| -
|
| - bool select(int id) {
|
| - if (!this.supportColumnSelection) return false;
|
| - if (!selection.contains(id)) {
|
| - if (!isMultiSelect) {
|
| - selection.clear();
|
| - }
|
| - if (isSelectOrHighlight) {
|
| - highlights.clear();
|
| - }
|
| - selection.add(id);
|
| - notifyChange(new ChartSelectionChangeRecord(add:id));
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - bool unselect(int id) {
|
| - if (selection.contains(id)) {
|
| - selection.remove(id);
|
| - notifyChange(new ChartSelectionChangeRecord(remove:id));
|
| - }
|
| - return false;
|
| - }
|
| -
|
| - bool isSelected(int id) => selection.contains(id);
|
| -
|
| - bool highlight(int column, int row) {
|
| - if (!this.supportValueHighlight) return false;
|
| - if (!isHighlighted(column, row)) {
|
| - if (!isMultiHighlight) {
|
| - highlights.clear();
|
| - }
|
| - if (isSelectOrHighlight) {
|
| - selection.clear();
|
| - }
|
| - var item = new Pair(column, row);
|
| - highlights.add(item);
|
| - notifyChange(new ChartHighlightChangeRecord(add: item));
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - bool unhighlight(int column, int row) {
|
| - if (isHighlighted(column, row)) {
|
| - var item = new Pair(column, row);
|
| - highlights.remove(item);
|
| - notifyChange(new ChartHighlightChangeRecord(remove: item));
|
| - }
|
| - return false;
|
| - }
|
| -
|
| - bool isHighlighted(int column, int row) =>
|
| - highlights.any((x) => x.first == column && x.last == row);
|
| -}
|
|
|