VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkQtChartSeriesSelectionModel.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 /*------------------------------------------------------------------------- 00016 Copyright 2008 Sandia Corporation. 00017 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00018 the U.S. Government retains certain rights in this software. 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