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
qMRMLMarkupsPlaneWidget.h
Go to the documentation of this file.
1/*==============================================================================
2
3 Program: 3D Slicer
4
5 Copyright (c) Kitware Inc.
6
7 See COPYRIGHT.txt
8 or http://www.slicer.org/copyright/copyright.txt for details.
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 This file was originally developed by Kyle Sunderland, PerkLab, Queen's University
17 and was supported through CANARIE's Research Software Program, Cancer
18 Care Ontario, OpenAnatomy, and Brigham and Women's Hospital through NIH grant R01MH112748.
19
20==============================================================================*/
21
22#ifndef __qMRMLMarkupsPlaneWidget_h
23#define __qMRMLMarkupsPlaneWidget_h
24
25// Qt includes
26#include <QWidget>
27
28// Markups widgets includes
30#include "qSlicerMarkupsModuleWidgetsExport.h"
31
32// CTK includes
33#include <ctkPimpl.h>
34#include <ctkVTKObject.h>
35
36class vtkMRMLNode;
38class qMRMLMarkupsPlaneWidgetPrivate;
39
40class Q_SLICER_MODULE_MARKUPS_WIDGETS_EXPORT qMRMLMarkupsPlaneWidget : public qMRMLMarkupsAbstractOptionsWidget
41{
42 Q_OBJECT
43 QVTK_OBJECT
44
45public:
47 qMRMLMarkupsPlaneWidget(QWidget* parent=nullptr);
49
52
54 const QString className() const override { return "qMRMLMarkupsPlaneWidget"; }
55
57 bool canManageMRMLMarkupsNode(vtkMRMLMarkupsNode *markupsNode) const override;
58
59public slots:
61 void updateWidgetFromMRML() override;
62
65
68 {
69 return new qMRMLMarkupsPlaneWidget();
70 }
71
72protected slots:
80
81protected:
82 void setup();
83
84protected:
85 QScopedPointer<qMRMLMarkupsPlaneWidgetPrivate> d_ptr;
86
87private:
88 Q_DECLARE_PRIVATE(qMRMLMarkupsPlaneWidget);
89 Q_DISABLE_COPY(qMRMLMarkupsPlaneWidget);
90
91};
92
93#endif
qMRMLMarkupsAbstractOptionsWidget(QWidget *parent=nullptr)
qMRMLMarkupsPlaneWidget(QWidget *parent=nullptr)
const QString className() const override
Gets the name of the additional options widget type.
void onPlaneTypeIndexChanged()
Internal function to update type of Plane.
~qMRMLMarkupsPlaneWidget() override
qMRMLMarkupsAbstractOptionsWidget Superclass
QScopedPointer< qMRMLMarkupsPlaneWidgetPrivate > d_ptr
vtkMRMLMarkupsPlaneNode * mrmlPlaneNode() const
Returns the current MRML Plane node.
void updateWidgetFromMRML() override
Updates the widget based on information from MRML.
void setMRMLMarkupsNode(vtkMRMLMarkupsNode *node) override
Set the MRML node of interest.
qMRMLMarkupsAbstractOptionsWidget * createInstance() const override
Returns an instance of the widget.
void onNormalVisibilityCheckBoxChanged()
bool canManageMRMLMarkupsNode(vtkMRMLMarkupsNode *markupsNode) const override
Checks whether a given node can be handled by the widget.
MRML node to represent a plane markup Plane Markups nodes contain three control points....
Abstract Superclass for all specific types of MRML nodes.