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
QmitkSingleNodeSelectionWidget.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 
13 #ifndef QmitkSingleNodeSelectionWidget_h
14 #define QmitkSingleNodeSelectionWidget_h
15 
16 #include <MitkQtWidgetsExports.h>
17 
18 #include <ui_QmitkSingleNodeSelectionWidget.h>
19 
20 #include <mitkDataStorage.h>
21 #include <mitkWeakPointer.h>
22 #include <mitkNodePredicateBase.h>
23 
26 
28 
41 {
42  Q_OBJECT
43 
44 public:
45  explicit QmitkSingleNodeSelectionWidget(QWidget* parent = nullptr);
46 
47  mitk::DataNode::Pointer GetSelectedNode() const;
48  bool GetAutoSelectNewNodes() const;
49 
51 
52 public Q_SLOTS:
53  void SetCurrentSelectedNode(mitk::DataNode* selectedNode);
54 
70  void SetAutoSelectNewNodes(bool autoSelect);
71 
72 protected Q_SLOTS:
73  virtual void OnClearSelection();
74 
75 protected:
76  void ReviseSelectionChanged(const NodeList& oldInternalSelection, NodeList& newInternalSelection) override;
77 
78  bool eventFilter(QObject *obj, QEvent *ev) override;
79  void EditSelection();
80  void UpdateInfo() override;
81 
82  void OnDataStorageChanged() override;
83  void OnNodeAddedToStorage(const mitk::DataNode* node) override;
84  void OnNodePredicateChanged() override;
85 
86  void AutoSelectNodes();
87 
90  mitk::DataNode::Pointer DetermineAutoSelectNode(const NodeList& ignoreNodes = {});
91 
94 
95  Ui_QmitkSingleNodeSelectionWidget m_Controls;
96 };
97 
98 #endif
QmitkAbstractNodeSelectionWidget
Abstract base class for the selection of data from a data storage.
Definition: QmitkAbstractNodeSelectionWidget.h:31
MITKQTWIDGETS_EXPORT
#define MITKQTWIDGETS_EXPORT
Definition: MitkQtWidgetsExports.h:15
mitkDataStorage.h
itk::SmartPointer< Self >
QmitkAbstractNodeSelectionWidget::UpdateInfo
virtual void UpdateInfo()=0
QmitkAbstractNodeSelectionWidget::ReviseSelectionChanged
virtual void ReviseSelectionChanged(const NodeList &oldInternalSelection, NodeList &newInternalSelection)
mitkNodePredicateBase.h
QmitkSingleNodeSelectionWidget::m_AutoSelectNodes
bool m_AutoSelectNodes
Definition: QmitkSingleNodeSelectionWidget.h:93
QmitkAbstractNodeSelectionWidget::OnNodeAddedToStorage
virtual void OnNodeAddedToStorage(const mitk::DataNode *node)
MitkQtWidgetsExports.h
QmitkNodeSelectionButton.h
QmitkAbstractNodeSelectionWidget.h
QmitkAbstractNodeSelectionWidget::OnNodePredicateChanged
virtual void OnNodePredicateChanged()
QmitkAbstractNodeSelectionWidget::NodeList
QList< mitk::DataNode::Pointer > NodeList
Definition: QmitkAbstractNodeSelectionWidget.h:65
mitkWeakPointer.h
QmitkSingleNodeSelectionWidget
Widget that represents a node selection of (max) one node. It acts like a button. Clicking on it allo...
Definition: QmitkSingleNodeSelectionWidget.h:40
QmitkAbstractNodeSelectionWidget::OnDataStorageChanged
virtual void OnDataStorageChanged()
QmitkAbstractDataStorageModel
Definition: QmitkAbstractDataStorageModel.h:40
QmitkSingleNodeSelectionWidget::m_Controls
Ui_QmitkSingleNodeSelectionWidget m_Controls
Definition: QmitkSingleNodeSelectionWidget.h:95
mitk::DataNode
Class for nodes of the DataTree.
Definition: mitkDataNode.h:63