Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qMRMLPlotView.h
Go to the documentation of this file.
1 /*==============================================================================
2 
3  Copyright (c) Kapteyn Astronomical Institute
4  University of Groningen, Groningen, Netherlands. All Rights Reserved.
5 
6  See COPYRIGHT.txt
7  or http://www.slicer.org/copyright/copyright.txt for details.
8 
9  Unless required by applicable law or agreed to in writing, software
10  distributed under the License is distributed on an "AS IS" BASIS,
11  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  See the License for the specific language governing permissions and
13  limitations under the License.
14 
15  This file was originally developed by Davide Punzo, Kapteyn Astronomical Institute,
16  and was supported through the European Research Council grant nr. 291531.
17 
18 ==============================================================================*/
19 
20 #ifndef __qMRMLPlotView_h
21 #define __qMRMLPlotView_h
22 
23 // CTK includes
24 #include <ctkPimpl.h>
25 #include <ctkVTKChartView.h>
26 
27 #include "qMRMLWidgetsExport.h"
28 
29 class qMRMLPlotViewPrivate;
30 
31 // MRML includes
33 class vtkMRMLColorLogic;
34 class vtkMRMLScene;
35 
36 // VTK includes
37 class vtkCollection;
38 class vtkStringArray;
39 
45 
46 class QMRML_WIDGETS_EXPORT qMRMLPlotView : public ctkVTKChartView
47 {
48  Q_OBJECT
49 public:
51  typedef ctkVTKChartView Superclass;
52 
54  explicit qMRMLPlotView(QWidget* parent = 0);
55  virtual ~qMRMLPlotView();
56 
58  vtkMRMLScene* mrmlScene() const;
59 
61  vtkMRMLPlotViewNode* mrmlPlotViewNode()const;
62 
65  void setColorLogic(vtkMRMLColorLogic* colorLogic);
66 
68  vtkMRMLColorLogic* colorLogic()const;
69 
71  virtual QSize sizeHint() const;
72 
73 public slots:
74 
76  void setMRMLScene(vtkMRMLScene* newScene);
77 
79  void setMRMLPlotViewNode(vtkMRMLPlotViewNode* newPlotViewNode);
80 
81 signals:
82 
86  void mrmlSceneChanged(vtkMRMLScene*);
87 
91  void dataSelected(vtkStringArray* mrmlPlotDataIDs, vtkCollection* selectionCol);
92 
93 protected:
94  QScopedPointer<qMRMLPlotViewPrivate> d_ptr;
95 
97  virtual void keyPressEvent(QKeyEvent* event);
98 
99  virtual void keyReleaseEvent(QKeyEvent* event);
100 
101 private:
102  Q_DECLARE_PRIVATE(qMRMLPlotView);
103  Q_DISABLE_COPY(qMRMLPlotView);
104 };
105 
106 #endif
MRML node to represent Plot view parameters.
ctkVTKChartView Superclass
Superclass typedef.
Definition: qMRMLPlotView.h:51
MRML logic class for color manipulation.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:54
QScopedPointer< qMRMLPlotViewPrivate > d_ptr
Definition: qMRMLPlotView.h:94
qMRMLPlotView is the display canvas for a Plot.
Definition: qMRMLPlotView.h:46