Medical Imaging Interaction Toolkit  2025.12.02
Medical Imaging Interaction Toolkit
QmitkDataManagerView.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 QmitkDataManagerView_h
14 #define QmitkDataManagerView_h
15 
17 
18 // mitk core
19 #include <mitkNodePredicateBase.h>
20 
21 // mitk gui qt common plugin
22 #include <QmitkAbstractView.h>
23 
24 // mitk gui qt application
26 
27 // qt
28 #include <QItemSelection>
29 
30 // forward declarations
31 class QModelIndex;
32 class QTreeView;
33 
36 class QmitkDataManagerItemDelegate;
38 
44 {
45  Q_OBJECT
46 
47 public:
48 
49  static const QString VIEW_ID; // = "org.mitk.views.datamanager"
50 
52 
54 
55 public Q_SLOTS:
56 
57  // invoked when the berry preferences were changed
58  void OnPreferencesChanged(const mitk::IPreferences* prefs) override;
59 
61  // Slots for Qt node tree signals
64  void NodeTreeViewRowsInserted(const QModelIndex& parent, int start, int end);
65 
67  void NodeTreeViewRowsRemoved(const QModelIndex& parent, int start, int end);
68 
70  void NodeSelectionChanged(const QItemSelection& selected, const QItemSelection& deselected);
71 
73 
74 protected:
75 
76  void CreateQtPartControl(QWidget* parent) override;
77 
78  void SetFocus() override;
82  void NodeChanged(const mitk::DataNode* node) override;
83 
84 protected:
85 
86  QWidget* m_Parent;
88 
94  mitk::NodePredicateBase::Pointer m_HelperObjectFilterPredicate;
95  mitk::NodePredicateBase::Pointer m_NodeWithNoDataFilterPredicate;
96 
100  QTreeView* m_NodeTreeView;
105 
108 
109  QmitkDataManagerItemDelegate* m_ItemDelegate;
110 
111 private:
112 
113  QItemSelectionModel* GetDataNodeSelectionModel() const override;
114 
115 };
116 
117 #endif
A convenient base class for MITK related BlueBerry Views.
A view that shows all data nodes of the data storage in a qt tree view.
size_t m_CurrentRowCount
saves the current amount of rows shown in the data manager
void NodeTreeViewRowsRemoved(const QModelIndex &parent, int start, int end)
will setup m_CurrentRowCount
void NodeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
Whenever the selection changes set the "selected" property respectively.
static const QString VIEW_ID
void NodeChanged(const mitk::DataNode *node) override
QTreeView * m_NodeTreeView
The Table view to show the selected nodes.
void CreateQtPartControl(QWidget *parent) override
QmitkDataStorageTreeModel * m_NodeTreeModel
A plain widget as the base pane.
void OnPreferencesChanged(const mitk::IPreferences *prefs) override
QmitkDataManagerItemDelegate * m_ItemDelegate
mitk::NodePredicateBase::Pointer m_NodeWithNoDataFilterPredicate
QmitkDataStorageFilterProxyModel * m_FilterModel
QmitkDnDFrameWidget * m_DnDFrameWidget
~QmitkDataManagerView() override
void NodeTreeViewRowsInserted(const QModelIndex &parent, int start, int end)
When rows are inserted auto expand them.
QmitkDataNodeContextMenu * m_DataNodeContextMenu
The context menu that shows up when right clicking on a node.
void OnNodeVisibilityChanged()
void SetFocus() override
mitk::NodePredicateBase::Pointer m_HelperObjectFilterPredicate
Enables loading data into a MITK application via Drag'n Drop.
Class for nodes of the DataTree.
Definition: mitkDataNode.h:64
Interface to application preferences.
#define MITK_QT_DATAMANAGER