Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
QmitkDataStorageDefaultListModel Class Reference

A flat list model that exposes DataStorage nodes matching an optional predicate. More...

#include <QmitkDataStorageDefaultListModel.h>

Inheritance diagram for QmitkDataStorageDefaultListModel:
Collaboration diagram for QmitkDataStorageDefaultListModel:

Public Member Functions

 QmitkDataStorageDefaultListModel (QObject *parent)
 Constructs the model. More...
 
void DataStorageChanged () override
 Called when the data storage has changed. Rebuilds the model data. More...
 
void NodePredicateChanged () override
 Called when the node predicate has changed. Rebuilds the model data. 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. More...
 
QModelIndex parent (const QModelIndex &child) const override
 Returns the parent index. Always returns an invalid index (flat model). More...
 
int rowCount (const QModelIndex &parent=QModelIndex()) const override
 Returns the number of rows (nodes) in the model. More...
 
int columnCount (const QModelIndex &parent=QModelIndex()) const override
 Returns the number of columns. Always returns 1. More...
 
QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const override
 Returns data for the given index and role. More...
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 Returns header data for the given section and orientation. More...
 
Qt::ItemFlags flags (const QModelIndex &index) const override
 Returns the 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 Member Functions

virtual void UpdateModelData ()
 
- Protected Member Functions inherited from QmitkAbstractDataStorageModel
 QmitkAbstractDataStorageModel (QObject *parent=nullptr)
 
 QmitkAbstractDataStorageModel (mitk::DataStorage *dataStorage, QObject *parent=nullptr)
 

Protected Attributes

std::vector< mitk::DataNode::Pointer > m_DataNodes
 
- Protected Attributes inherited from QmitkAbstractDataStorageModel
mitk::WeakPointer< mitk::DataStorage > m_DataStorage
 
mitk::NodePredicateBase::ConstPointer m_NodePredicate
 

Detailed Description

A flat list model that exposes DataStorage nodes matching an optional predicate.

This model derives from QmitkAbstractDataStorageModel and presents a simple flat (non-hierarchical) list of data nodes. It reacts to node add, change, and remove events by rebuilding its internal node list. The model returns mitk::DataNode::Pointer for the QmitkDataNodeRole and the node name for Qt::DisplayRole.

See also
QmitkAbstractDataStorageModel
QmitkDataStorageListInspector

Definition at line 33 of file QmitkDataStorageDefaultListModel.h.

Constructor & Destructor Documentation

◆ QmitkDataStorageDefaultListModel()

QmitkDataStorageDefaultListModel::QmitkDataStorageDefaultListModel ( QObject *  parent)

Constructs the model.

Parameters
[in]parentThe parent QObject.

Member Function Documentation

◆ columnCount()

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

Returns the number of columns. Always returns 1.

Parameters
[in]parentThe parent index.
Returns
1.

◆ data()

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

Returns data for the given index and role.

Supports Qt::DisplayRole (node name), Qt::DecorationRole (node descriptor icon), QmitkDataNodeRole (mitk::DataNode::Pointer), and QmitkDataNodeRawPointerRole.

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

◆ DataStorageChanged()

void QmitkDataStorageDefaultListModel::DataStorageChanged ( )
overridevirtual

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

Implements QmitkAbstractDataStorageModel.

◆ flags()

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

Returns the item flags for the given index.

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

◆ headerData()

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

Returns header data for the given section and orientation.

Parameters
[in]sectionThe section number.
[in]orientationThe orientation (horizontal or vertical).
[in]roleThe data role.
Returns
The header data as QVariant.

◆ index()

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

Returns the model index for the given row and column.

Parameters
[in]rowThe row number.
[in]columnThe column number.
[in]parentThe parent index (unused for flat list models).
Returns
A valid model index for valid rows and column 0, otherwise an invalid index.

◆ NodeAdded()

void QmitkDataStorageDefaultListModel::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 QmitkDataStorageDefaultListModel::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 QmitkDataStorageDefaultListModel::NodePredicateChanged ( )
overridevirtual

Called when the node predicate has changed. Rebuilds the model data.

Implements QmitkAbstractDataStorageModel.

◆ NodeRemoved()

void QmitkDataStorageDefaultListModel::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 QmitkDataStorageDefaultListModel::parent ( const QModelIndex &  child) const
override

Returns the parent index. Always returns an invalid index (flat model).

Parameters
[in]childThe child index.
Returns
An invalid QModelIndex.

◆ rowCount()

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

Returns the number of rows (nodes) in the model.

Parameters
[in]parentThe parent index (must be invalid for top-level count).
Returns
The number of data nodes.

◆ UpdateModelData()

virtual void QmitkDataStorageDefaultListModel::UpdateModelData ( )
protectedvirtual

Reimplemented in QmitkDataStorageHistoryModel.

Member Data Documentation

◆ m_DataNodes

std::vector<mitk::DataNode::Pointer> QmitkDataStorageDefaultListModel::m_DataNodes
protected

Definition at line 131 of file QmitkDataStorageDefaultListModel.h.


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