Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
QmitkPointListWidget.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 #ifndef QmitkPointListWidget_h
13 #define QmitkPointListWidget_h
14 
16 
17 #include <QmitkPointListModel.h>
18 #include <QmitkPointListView.h>
19 
20 #include <mitkDataInteractor.h>
21 #include <mitkDataNode.h>
22 #include <mitkPointSet.h>
23 
24 #include <QPushButton>
25 #include <QToolButton>
26 
28 
52 {
53  Q_OBJECT
54 
55 public:
56  QmitkPointListWidget(QWidget *parent = nullptr, int orientation = 0);
57  ~QmitkPointListWidget() override;
58 
59  void SetupConnections();
60 
68  void AddSliceNavigationController(mitk::SliceNavigationController *snc);
69 
77  void RemoveSliceNavigationController(mitk::SliceNavigationController *snc);
78 
80  void SetPointSet(mitk::PointSet *newPs);
81  mitk::PointSet *GetPointSet();
82 
84  void SetPointSetNode(mitk::DataNode *newNode);
85  mitk::DataNode *GetPointSetNode();
86 
88  void SetMultiWidget(QmitkAbstractMultiWidget*multiWidget);
89 
91  void OnNodeDeleted(const itk::EventObject &e);
92 
94  void UnselectEditButton();
95 
96 public slots:
97  void DeactivateInteractor(bool deactivate);
98  void EnableEditButton(bool enabled);
99 
100 signals:
103  void EditPointSets(bool active);
105  void PointSelectionChanged();
107  void PointListChanged();
108 
109 protected slots:
110  void OnBtnSavePoints();
111  void OnBtnLoadPoints();
112  void RemoveSelectedPoint();
113  void MoveSelectedPointDown();
114  void MoveSelectedPointUp();
115  void OnBtnAddPoint(bool checked);
116  void OnBtnAddPointManually();
117  void OnTimeStepChanged(int timeStep);
118 
122  void OnPointSelectionChanged();
123 
124  void OnListDoubleClick();
125 
126 protected:
127  void SetupUi();
128  void ObserveNewNode(mitk::DataNode *node);
129 
131 
133 
135 
136  QPushButton *m_MovePointUpBtn;
137  QPushButton *m_MovePointDownBtn;
138  QPushButton *m_RemovePointBtn;
139  QPushButton *m_SavePointsBtn;
140  QPushButton *m_LoadPointsBtn;
141  QPushButton *m_ToggleAddPoint;
142  QPushButton *m_AddPoint;
145 
149  unsigned long m_NodeObserverTag;
150 
152 };
153 
154 #endif
QmitkPointListWidget
Widget for regular operations on point sets.
Definition: QmitkPointListWidget.h:51
QmitkPointListWidget::m_AddPoint
QPushButton * m_AddPoint
Definition: QmitkPointListWidget.h:142
MITKQTWIDGETSEXT_EXPORT
#define MITKQTWIDGETSEXT_EXPORT
Definition: MitkQtWidgetsExtExports.h:15
QmitkPointListWidget::m_Orientation
int m_Orientation
Definition: QmitkPointListWidget.h:134
QmitkPointListView.h
QmitkPointListWidget::m_DataInteractor
mitk::DataInteractor::Pointer m_DataInteractor
Definition: QmitkPointListWidget.h:146
itk::SmartPointer< Self >
QmitkPointListWidget::m_MovePointDownBtn
QPushButton * m_MovePointDownBtn
Definition: QmitkPointListWidget.h:137
QmitkPointListWidget::m_TimeStepLabel
QLabel * m_TimeStepLabel
Definition: QmitkPointListWidget.h:144
QmitkPointListWidget::m_TimeStepDisplay
QLabel * m_TimeStepDisplay
Definition: QmitkPointListWidget.h:143
QmitkPointListWidget::m_EditAllowed
bool m_EditAllowed
Definition: QmitkPointListWidget.h:148
QmitkPointListWidget::m_PointListModel
QmitkPointListModel * m_PointListModel
Definition: QmitkPointListWidget.h:151
mitk::SliceNavigationController
Controls the selection of the slice the associated BaseRenderer will display.
Definition: mitkSliceNavigationController.h:130
QmitkPointListWidget::m_ToggleAddPoint
QPushButton * m_ToggleAddPoint
Definition: QmitkPointListWidget.h:141
mitkPointSet.h
QmitkPointListWidget::m_RemovePointBtn
QPushButton * m_RemovePointBtn
Definition: QmitkPointListWidget.h:138
QmitkPointListView
GUI widget for handling mitk::PointSet.
Definition: QmitkPointListView.h:38
QmitkPointListModel.h
QmitkPointListWidget::m_MovePointUpBtn
QPushButton * m_MovePointUpBtn
Definition: QmitkPointListWidget.h:136
mitkDataInteractor.h
QmitkPointListWidget::m_PointListView
QmitkPointListView * m_PointListView
Definition: QmitkPointListWidget.h:130
mitkDataNode.h
QmitkPointListWidget::m_NodeObserverTag
unsigned long m_NodeObserverTag
Definition: QmitkPointListWidget.h:149
MitkQtWidgetsExtExports.h
QmitkAbstractMultiWidget
The 'QmitkAbstractMultiWidget' is a 'QWidget' that can be subclassed to display multiple render windo...
Definition: QmitkAbstractMultiWidget.h:53
mitk::PointSet
Data structure which stores a set of points.
Definition: mitkPointSet.h:71
QmitkPointListWidget::m_LoadPointsBtn
QPushButton * m_LoadPointsBtn
Definition: QmitkPointListWidget.h:140
QmitkPointListModel
Definition: QmitkPointListModel.h:22
QmitkPointListWidget::m_SavePointsBtn
QPushButton * m_SavePointsBtn
Definition: QmitkPointListWidget.h:139
QmitkPointListWidget::m_PointSetNode
mitk::DataNode::Pointer m_PointSetNode
Definition: QmitkPointListWidget.h:132
mitk::DataNode
Class for nodes of the DataTree.
Definition: mitkDataNode.h:63
QmitkPointListWidget::m_TimeStep
int m_TimeStep
Definition: QmitkPointListWidget.h:147