Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
qMRMLMarkupsAngleMeasurementsWidget.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Copyright (c) The Intervention Centre
4 Oslo University Hospital, Oslo, Norway. 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 Rafael Palomar (The Intervention Centre,
16 Oslo University Hospital) and was supported by The Research Council of Norway
17 through the ALive project (grant nr. 311393).
18
19==============================================================================*/
20
21#ifndef __qMRMLMarkupsAngleMeasurementsWidget_h_
22#define __qMRMLMarkupsAngleMeasurementsWidget_h_
23
24// Markups widgets includes
26#include "qSlicerMarkupsModuleWidgetsExport.h"
27
28#include <ctkVTKObject.h>
29
30// ------------------------------------------------------------------------------
31class qMRMLMarkupsAngleMeasurementsWidgetPrivate;
33
34// ------------------------------------------------------------------------------
35class Q_SLICER_MODULE_MARKUPS_WIDGETS_EXPORT qMRMLMarkupsAngleMeasurementsWidget
37{
38 Q_OBJECT
39 QVTK_OBJECT
40
41public:
43 qMRMLMarkupsAngleMeasurementsWidget(QWidget* parent=nullptr);
45
47 const QString className() const override { return "qMRMLMarkupsAngleMeasurementsWidget"; }
48
50 bool canManageMRMLMarkupsNode(vtkMRMLMarkupsNode *markupsNode) const override;
51
54
58
59public slots:
65 void updateWidgetFromMRML() override;
66
67protected:
68 qMRMLMarkupsAngleMeasurementsWidget(QWidget* parent, qMRMLMarkupsAngleMeasurementsWidgetPrivate &d);
69
70protected:
71 void setup();
72
73protected:
74 QScopedPointer<qMRMLMarkupsAngleMeasurementsWidgetPrivate> d_ptr;
75
76private:
77 Q_DECLARE_PRIVATE(qMRMLMarkupsAngleMeasurementsWidget);
79};
80
81#endif
qMRMLMarkupsAbstractOptionsWidget(QWidget *parent=nullptr)
void onRotationAxisChanged()
Update angle measurement rotation axis if the user edits the column vector.
qMRMLMarkupsAngleMeasurementsWidget(QWidget *parent=nullptr)
qMRMLMarkupsAbstractOptionsWidget * createInstance() const override
Returns an instance of the widget.
QScopedPointer< qMRMLMarkupsAngleMeasurementsWidgetPrivate > d_ptr
void updateWidgetFromMRML() override
Updates the widget on MRML changes.
const QString className() const override
Gets the name of the additional options widget type.
void setMRMLMarkupsNode(vtkMRMLMarkupsNode *node) override
Set the MRML node of interest.
void onAngleMeasurementModeChanged()
Change angle mode of current angle markup if combobox selection is made.
bool canManageMRMLMarkupsNode(vtkMRMLMarkupsNode *markupsNode) const override
Checks whether a given node can be handled by the widget.
qMRMLMarkupsAngleMeasurementsWidget(QWidget *parent, qMRMLMarkupsAngleMeasurementsWidgetPrivate &d)