VTK
dox/GUISupport/Qt/Chart/vtkQtChartSeriesSelectionModel.h
Go to the documentation of this file.
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