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
QmitkDataStorageSimpleTreeModel.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 QmitkDataStorageSimpleTreeModel_h
14 #define QmitkDataStorageSimpleTreeModel_h
15 
16 #include <MitkQtWidgetsExports.h>
17 
18 // qt widgets module
20 
22 
37 {
38  Q_OBJECT
39 
40 public:
41  QmitkDataStorageSimpleTreeModel(QObject *parent);
43 
44  // override from 'QmitkAbstractDataStorageModel'
45  /*
46  * @brief See 'QmitkAbstractDataStorageModel'
47  */
48  void DataStorageChanged() override;
49  /*
50  * @brief See 'QmitkAbstractDataStorageModel'
51  */
52  void NodePredicateChanged() override;
53  /*
54  * @brief See 'QmitkAbstractDataStorageModel'
55  */
56  void NodeAdded(const mitk::DataNode *node) override;
57  /*
58  * @brief See 'QmitkAbstractDataStorageModel'
59  */
60  void NodeChanged(const mitk::DataNode *node) override;
61  /*
62  * @brief See 'QmitkAbstractDataStorageModel'
63  */
64  void NodeRemoved(const mitk::DataNode *node) override;
65 
66  // override pure virtual from 'QAbstractItemModel'
67  QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
68  QModelIndex parent(const QModelIndex &child) const override;
69 
70  int rowCount(const QModelIndex &parent = QModelIndex()) const override;
71  int columnCount(const QModelIndex &parent = QModelIndex()) const override;
72 
73  QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
74 
75  bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override;
76 
77  QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
78  Qt::ItemFlags flags(const QModelIndex &index) const override;
79 
80 protected:
82 
83 private:
84  void UpdateModelData();
85  void AddNodeInternal(const mitk::DataNode *node);
86 
87  mitk::DataNode *GetParentNode(const mitk::DataNode *node) const;
88 
89  TreeItem *TreeItemFromIndex(const QModelIndex &index) const;
90  QModelIndex IndexFromTreeItem(TreeItem *item) const;
91 
92  void ResetTree();
93 
94  TreeItem *m_Root;
95 
98  std::list<const TreeItem*> m_TreeItems;
99 };
100 
101 #endif
QmitkDataStorageTreeModelInternalItem
Definition: QmitkDataStorageTreeModelInternalItem.h:26
QmitkAbstractDataStorageModel::DataStorageChanged
virtual void DataStorageChanged()=0
MITKQTWIDGETS_EXPORT
#define MITKQTWIDGETS_EXPORT
Definition: MitkQtWidgetsExports.h:15
QmitkAbstractDataStorageModel::NodeRemoved
virtual void NodeRemoved(const mitk::DataNode *node)=0
QmitkAbstractDataStorageModel::NodeChanged
virtual void NodeChanged(const mitk::DataNode *node)=0
QmitkAbstractDataStorageModel.h
MitkQtWidgetsExports.h
QmitkAbstractDataStorageModel::NodeAdded
virtual void NodeAdded(const mitk::DataNode *node)=0
QmitkDataStorageSimpleTreeModel
The 'QmitkDataStorageSimpleTreeModel' is a basic tree model, derived from the 'QmitkAbstractDataStora...
Definition: QmitkDataStorageSimpleTreeModel.h:36
QmitkAbstractDataStorageModel
Definition: QmitkAbstractDataStorageModel.h:40
mitk::DataNode
Class for nodes of the DataTree.
Definition: mitkDataNode.h:63
QmitkAbstractDataStorageModel::NodePredicateChanged
virtual void NodePredicateChanged()=0