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
QmitkMultiNodeSelectionWidget.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 QmitkMultiNodeSelectionWidget_h
14 #define QmitkMultiNodeSelectionWidget_h
15 
16 #include <MitkQtWidgetsExports.h>
17 
18 #include <ui_QmitkMultiNodeSelectionWidget.h>
19 
20 #include <mitkDataStorage.h>
21 #include <mitkWeakPointer.h>
22 #include <mitkNodePredicateBase.h>
23 
26 
28 
34 {
35  Q_OBJECT
36 
37 public:
38  explicit QmitkMultiNodeSelectionWidget(QWidget* parent = nullptr);
39 
41 
48  using SelectionCheckFunctionType = std::function<std::string(const NodeList &)>;
55  void SetSelectionCheckFunction(const SelectionCheckFunctionType &checkFunction);
56 
58  bool CurrentSelectionViolatesCheckFunction() const;
59 
60 Q_SIGNALS:
61  void DialogClosed();
62 
63 public Q_SLOTS:
64  void OnEditSelection();
65 
66 protected Q_SLOTS:
67  void OnClearSelection(const mitk::DataNode* node);
68 
69 protected:
70  void changeEvent(QEvent *event) override;
71 
72  void UpdateInfo() override;
73  void OnInternalSelectionChanged() override;
74 
75  bool AllowEmissionOfSelection(const NodeList& emissionCandidates) const override;
76 
78 
80  mutable std::string m_CheckResponse;
81 
82  Ui_QmitkMultiNodeSelectionWidget m_Controls;
83 };
84 
85 #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
QmitkMultiNodeSelectionWidget
Widget that allows to perform and represents a multiple node selection.
Definition: QmitkMultiNodeSelectionWidget.h:33
mitkDataStorage.h
QmitkSimpleTextOverlayWidget
Definition: QmitkSimpleTextOverlayWidget.h:22
QmitkMultiNodeSelectionWidget::m_CheckFunction
SelectionCheckFunctionType m_CheckFunction
Definition: QmitkMultiNodeSelectionWidget.h:79
QmitkMultiNodeSelectionWidget::m_Controls
Ui_QmitkMultiNodeSelectionWidget m_Controls
Definition: QmitkMultiNodeSelectionWidget.h:82
QmitkAbstractNodeSelectionWidget::UpdateInfo
virtual void UpdateInfo()=0
QmitkMultiNodeSelectionWidget::m_CheckResponse
std::string m_CheckResponse
Definition: QmitkMultiNodeSelectionWidget.h:80
QmitkSimpleTextOverlayWidget.h
mitkNodePredicateBase.h
QmitkMultiNodeSelectionWidget::SelectionCheckFunctionType
std::function< std::string(const NodeList &)> SelectionCheckFunctionType
Helper function that is used to check the given selection for consistency. Returning an empty string ...
Definition: QmitkMultiNodeSelectionWidget.h:48
MitkQtWidgetsExports.h
QmitkAbstractNodeSelectionWidget.h
QmitkAbstractNodeSelectionWidget::NodeList
QList< mitk::DataNode::Pointer > NodeList
Definition: QmitkAbstractNodeSelectionWidget.h:65
QmitkAbstractNodeSelectionWidget::AllowEmissionOfSelection
virtual bool AllowEmissionOfSelection(const NodeList &emissionCandidates) const
mitkWeakPointer.h
QmitkAbstractNodeSelectionWidget::OnInternalSelectionChanged
virtual void OnInternalSelectionChanged()
QmitkAbstractDataStorageModel
Definition: QmitkAbstractDataStorageModel.h:40
mitk::DataNode
Class for nodes of the DataTree.
Definition: mitkDataNode.h:63
QmitkMultiNodeSelectionWidget::m_Overlay
QmitkSimpleTextOverlayWidget * m_Overlay
Definition: QmitkMultiNodeSelectionWidget.h:77