Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkDataStorageSimpleTreeModel Class Reference

Lightweight tree model for DataStorage contents. More...

#include <QmitkDataStorageSimpleTreeModel.h>

Inheritance diagram for QmitkDataStorageSimpleTreeModel:
Collaboration diagram for QmitkDataStorageSimpleTreeModel:

Public Member Functions

 QmitkDataStorageSimpleTreeModel (QObject *parent)
 Constructs the tree model. More...
 
 ~QmitkDataStorageSimpleTreeModel () override
 
void DataStorageChanged () override
 Called when the data storage has changed. Rebuilds the tree. More...
 
void NodePredicateChanged () override
 Called when the node predicate has changed. Rebuilds the tree. More...
 
void NodeAdded (const mitk::DataNode *node) override
 Called when a node is added to the data storage. More...
 
void NodeChanged (const mitk::DataNode *node) override
 Called when a node in the data storage has changed. More...
 
void NodeRemoved (const mitk::DataNode *node) override
 Called when a node is removed from the data storage. More...
 
QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const override
 Returns the model index for the given row and column under the given parent. More...
 
QModelIndex parent (const QModelIndex &child) const override
 Returns the parent index for the given child. More...
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 Returns the number of child rows under the given parent. More...
 
int columnCount (const QModelIndex &parent=QModelIndex()) const override
 Returns the number of columns (always 1). More...
 
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 Returns data for the given index and role. More...
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
 Sets data at the given index (supports renaming nodes). More...
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 Returns header data for the given section. More...
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 Returns item flags for the given index. More...
 
- Public Member Functions inherited from QmitkAbstractDataStorageModel
 ~QmitkAbstractDataStorageModel () override
 
void SetDataStorage (mitk::DataStorage *dataStorage)
 Sets the data storage and registers node event listeners. More...
 
mitk::DataStorage::Pointer GetDataStorage () const
 Returns a locked pointer to the current data storage. More...
 
void SetNodePredicate (const mitk::NodePredicateBase *nodePredicate)
 Sets the node predicate and triggers a model update. More...
 
const mitk::NodePredicateBase * GetNodePredicate () const
 Returns the currently set node predicate. More...
 

Protected Types

using TreeItem = QmitkDataStorageTreeModelInternalItem
 

Additional Inherited Members

- Protected Member Functions inherited from QmitkAbstractDataStorageModel
 QmitkAbstractDataStorageModel (QObject *parent=nullptr)
 
 QmitkAbstractDataStorageModel (mitk::DataStorage *dataStorage, QObject *parent=nullptr)
 
- Protected Attributes inherited from QmitkAbstractDataStorageModel
mitk::WeakPointer< mitk::DataStorage > m_DataStorage
 
mitk::NodePredicateBase::ConstPointer m_NodePredicate
 

Detailed Description

Lightweight tree model for DataStorage contents.

This model extends QmitkAbstractDataStorageModel to present data storage nodes in a tree hierarchy reflecting parent-child source relationships. It is a simplified alternative to QmitkDataStorageTreeModel with the following design differences:

  • Drag-and-drop is not supported.
  • Node hierarchy and layer properties cannot be modified through the model.
  • When a node is removed, the entire tree is rebuilt rather than re-parenting orphaned children, ensuring the model always reflects the actual data storage graph.
See also
QmitkAbstractDataStorageModel
QmitkDataStorageTreeModel
QmitkDataStorageTreeInspector

Definition at line 41 of file QmitkDataStorageSimpleTreeModel.h.

Member Typedef Documentation

◆ TreeItem

Constructor & Destructor Documentation

◆ QmitkDataStorageSimpleTreeModel()

QmitkDataStorageSimpleTreeModel::QmitkDataStorageSimpleTreeModel ( QObject *  parent)

Constructs the tree model.

Parameters
[in]parentThe parent QObject.

◆ ~QmitkDataStorageSimpleTreeModel()

QmitkDataStorageSimpleTreeModel::~QmitkDataStorageSimpleTreeModel ( )
override

Member Function Documentation

◆ columnCount()

int QmitkDataStorageSimpleTreeModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
override

Returns the number of columns (always 1).

Parameters
[in]parentThe parent index.
Returns
1.

◆ data()

QVariant QmitkDataStorageSimpleTreeModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const
override

Returns data for the given index and role.

Parameters
[in]indexThe model index.
[in]roleThe data role.
Returns
The requested data as QVariant.

◆ DataStorageChanged()

void QmitkDataStorageSimpleTreeModel::DataStorageChanged ( )
overridevirtual

Called when the data storage has changed. Rebuilds the tree.

Implements QmitkAbstractDataStorageModel.

◆ flags()

Qt::ItemFlags QmitkDataStorageSimpleTreeModel::flags ( const QModelIndex &  index) const
override

Returns item flags for the given index.

Parameters
[in]indexThe model index.
Returns
Item flags including Qt::ItemIsEditable for valid indexes.

◆ headerData()

QVariant QmitkDataStorageSimpleTreeModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
override

Returns header data for the given section.

Parameters
[in]sectionThe section number.
[in]orientationThe orientation.
[in]roleThe data role.
Returns
The header data as QVariant.

◆ index()

QModelIndex QmitkDataStorageSimpleTreeModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const
override

Returns the model index for the given row and column under the given parent.

Parameters
[in]rowThe row number.
[in]columnThe column number.
[in]parentThe parent index.
Returns
A valid model index if the position is valid, otherwise an invalid index.

◆ NodeAdded()

void QmitkDataStorageSimpleTreeModel::NodeAdded ( const mitk::DataNode *  node)
overridevirtual

Called when a node is added to the data storage.

Parameters
[in]nodeThe node that was added.

Implements QmitkAbstractDataStorageModel.

◆ NodeChanged()

void QmitkDataStorageSimpleTreeModel::NodeChanged ( const mitk::DataNode *  node)
overridevirtual

Called when a node in the data storage has changed.

Parameters
[in]nodeThe node that was changed.

Implements QmitkAbstractDataStorageModel.

◆ NodePredicateChanged()

void QmitkDataStorageSimpleTreeModel::NodePredicateChanged ( )
overridevirtual

Called when the node predicate has changed. Rebuilds the tree.

Implements QmitkAbstractDataStorageModel.

◆ NodeRemoved()

void QmitkDataStorageSimpleTreeModel::NodeRemoved ( const mitk::DataNode *  node)
overridevirtual

Called when a node is removed from the data storage.

Parameters
[in]nodeThe node that was removed.

Implements QmitkAbstractDataStorageModel.

◆ parent()

QModelIndex QmitkDataStorageSimpleTreeModel::parent ( const QModelIndex &  child) const
override

Returns the parent index for the given child.

Parameters
[in]childThe child index.
Returns
The parent index, or an invalid index for top-level items.

◆ rowCount()

int QmitkDataStorageSimpleTreeModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
override

Returns the number of child rows under the given parent.

Parameters
[in]parentThe parent index.
Returns
The number of children.

◆ setData()

bool QmitkDataStorageSimpleTreeModel::setData ( const QModelIndex &  index,
const QVariant &  value,
int  role = Qt::EditRole 
)
override

Sets data at the given index (supports renaming nodes).

Parameters
[in]indexThe model index.
[in]valueThe new value.
[in]roleThe data role.
Returns
True if the data was set successfully.

The documentation for this class was generated from the following file: