Medical Imaging Interaction Toolkit  2023.12.99-77685e7b
Medical Imaging Interaction Toolkit
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