00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00023
00024 #ifndef _vtkQtChartSeriesSelectionModel_h
00025 #define _vtkQtChartSeriesSelectionModel_h
00026
00027 #include "vtkQtChartExport.h"
00028 #include <QObject>
00029
00030 class vtkQtChartSeriesModel;
00031 class vtkQtChartSeriesSelection;
00032
00033
00038 class VTKQTCHART_EXPORT vtkQtChartSeriesSelectionModel : public QObject
00039 {
00040 Q_OBJECT
00041
00042 public:
00046 vtkQtChartSeriesSelectionModel(QObject *parent=0);
00047 virtual ~vtkQtChartSeriesSelectionModel();
00048
00053 vtkQtChartSeriesModel *getModel() const {return this->Model;}
00054
00058 void setModel(vtkQtChartSeriesModel *model);
00059
00066 bool isInInteractiveChange() const {return this->InInteractMode;}
00067
00091 void beginInteractiveChange();
00092
00096 void endInteractiveChange();
00097
00102 bool isSelectionEmpty() const;
00103
00108 const vtkQtChartSeriesSelection &getSelection() const;
00109
00111 void selectAllSeries();
00112
00114 void selectAllPoints();
00115
00117 void selectNone();
00118
00120 void selectInverse();
00121
00125 void setSelection(const vtkQtChartSeriesSelection &selection);
00126
00130 void addSelection(const vtkQtChartSeriesSelection &selection);
00131
00135 void subtractSelection(const vtkQtChartSeriesSelection &selection);
00136
00141 void xorSelection(const vtkQtChartSeriesSelection &selection);
00142
00143 signals:
00147 void selectionChanged(const vtkQtChartSeriesSelection &list);
00148
00156 void interactionFinished();
00157
00158 public slots:
00160
00161
00162
00163
00164
00165
00166 void beginModelReset();
00167
00169 void endModelReset();
00170
00180 void beginInsertSeries(int first, int last);
00181
00186 void endInsertSeries(int first, int last);
00187
00198 void beginRemoveSeries(int first, int last);
00199
00204 void endRemoveSeries(int first, int last);
00206
00207 private:
00209 void limitSelection();
00210
00211 private:
00213 vtkQtChartSeriesSelection *Selection;
00214 vtkQtChartSeriesModel *Model;
00215 bool PendingSignal;
00216 bool InInteractMode;
00217 };
00218
00219 #endif