Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
qMRMLPlotChartPropertiesWidget.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 __qMRMLPlotChartPropertiesWidget_h
21 #define __qMRMLPlotChartPropertiesWidget_h
22 
23 // Qt includes
24 #include <QWidget>
25 
26 // CTK includes
27 #include <ctkPimpl.h>
28 
29 // Plots Widgets includes
30 #include "qSlicerPlotsModuleWidgetsExport.h"
31 #include "ui_qMRMLPlotChartPropertiesWidget.h"
32 
33 class qMRMLPlotChartPropertiesWidgetPrivate;
34 class vtkMRMLNode;
36 
37 class Q_SLICER_MODULE_PLOTS_WIDGETS_EXPORT qMRMLPlotChartPropertiesWidget : public qMRMLWidget
38 {
39  Q_OBJECT
40 public:
43 
45  explicit qMRMLPlotChartPropertiesWidget(QWidget* parent = nullptr);
47 
49  vtkMRMLPlotChartNode* mrmlPlotChartNode()const;
50 
51 public slots:
52 
54  void setMRMLScene(vtkMRMLScene* newScene) override;
55 
57  void setMRMLPlotChartNode(vtkMRMLNode* node);
58 
60  void setMRMLPlotChartNode(vtkMRMLPlotChartNode* plotChartNode);
61 
63  void setGridVisibility(bool show);
64 
66  void setLegendVisibility(bool show);
67 
70  void setTitle(const QString& str);
71 
74  void setXAxisLabel(const QString& str);
75 
78  void setYAxisLabel(const QString& str);
79 
81  void setFontType(const QString& type);
82 
84  void setTitleFontSize(double size);
85 
87  void setLegendFontSize(double size);
88 
90  void setAxisTitleFontSize(double size);
91 
93  void setAxisLabelFontSize(double size);
94 
95  void setXAxisManualRangeEnabled(bool);
96  void setXAxisRangeMin(double);
97  void setXAxisRangeMax(double);
98 
99  void setYAxisManualRangeEnabled(bool);
100  void setYAxisRangeMin(double);
101  void setYAxisRangeMax(double);
102 
103  void setXAxisLogScale(bool);
104  void setYAxisLogScale(bool);
105 
106 signals:
107 
110  void seriesNodeAddedByUser(vtkMRMLNode*);
111 
112 protected:
113  QScopedPointer<qMRMLPlotChartPropertiesWidgetPrivate> d_ptr;
114 
115 private:
116  Q_DECLARE_PRIVATE(qMRMLPlotChartPropertiesWidget);
117  Q_DISABLE_COPY(qMRMLPlotChartPropertiesWidget);
118 };
119 
120 #endif
MRML node for referencing a collection of data to plot.
qMRMLWidget Superclass
Superclass typedef.
A set of MRML Nodes that supports serialization and undo/redo.
Definition: vtkMRMLScene.h:57
Base class for any widget that requires a MRML Scene.
Definition: qMRMLWidget.h:35
QScopedPointer< qMRMLPlotChartPropertiesWidgetPrivate > d_ptr
virtual void setMRMLScene(vtkMRMLScene *newScene)
Set the MRML scene associated with the widget.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167