|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
Abstract base class extending QAbstractItemModel for DataStorage-backed models. More...
#include <QmitkAbstractDataStorageModel.h>


Public Member Functions | |
| ~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 | DataStorageChanged ()=0 |
| virtual void | NodePredicateChanged ()=0 |
| virtual void | NodeAdded (const mitk::DataNode *node)=0 |
| virtual void | NodeChanged (const mitk::DataNode *node)=0 |
| virtual void | NodeRemoved (const mitk::DataNode *node)=0 |
| QmitkAbstractDataStorageModel (QObject *parent=nullptr) | |
| QmitkAbstractDataStorageModel (mitk::DataStorage *dataStorage, QObject *parent=nullptr) | |
Protected Attributes | |
| mitk::WeakPointer< mitk::DataStorage > | m_DataStorage |
| mitk::NodePredicateBase::ConstPointer | m_NodePredicate |
Abstract base class extending QAbstractItemModel for DataStorage-backed models.
This class bridges the Qt model/view framework with the MITK DataStorage by accepting an mitk::DataStorage and an optional mitk::NodePredicateBase for filtering. It automatically registers itself as a listener for node events (AddNodeEvent, ChangedNodeEvent, RemoveNodeEvent) on the data storage and provides pure virtual callbacks (NodeAdded, NodeChanged, NodeRemoved) so that subclasses can react to these events and update their internal state.
Subclasses must also implement DataStorageChanged() and NodePredicateChanged() to handle changes of the data storage or predicate, respectively.
A model that implements this class must return mitk::DataNode::Pointer objects for model indexes when the data role is QmitkDataNodeRole.
Definition at line 46 of file QmitkAbstractDataStorageModel.h.
|
override |
|
protected |
|
protected |
|
protectedpure virtual |
| mitk::DataStorage::Pointer QmitkAbstractDataStorageModel::GetDataStorage | ( | ) | const |
Returns a locked pointer to the current data storage.
|
inline |
Returns the currently set node predicate.
Definition at line 86 of file QmitkAbstractDataStorageModel.h.
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
| void QmitkAbstractDataStorageModel::SetDataStorage | ( | mitk::DataStorage * | dataStorage | ) |
Sets the data storage and registers node event listeners.
Removes listeners from the previous data storage (if any), sets the new data storage, and registers listeners for AddNodeEvent, RemoveNodeEvent, ChangedNodeEvent, and the DeleteEvent. Finally calls DataStorageChanged() to allow the subclass to update its internal representation.
| [in] | dataStorage | Pointer to the new data storage. May be nullptr. |
| void QmitkAbstractDataStorageModel::SetNodePredicate | ( | const mitk::NodePredicateBase * | nodePredicate | ) |
Sets the node predicate and triggers a model update.
The predicate is used to filter the set of nodes shown by the model. If the predicate changes, NodePredicateChanged() is called.
| [in] | nodePredicate | Pointer to the node predicate. May be nullptr to show all nodes. |
|
protected |
Definition at line 100 of file QmitkAbstractDataStorageModel.h.
|
protected |
Definition at line 101 of file QmitkAbstractDataStorageModel.h.