|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
Table model that displays the render window layer stack for a specific renderer. More...
#include <QmitkDataStorageLayerStackModel.h>


Public Member Functions | |
| QmitkDataStorageLayerStackModel (QObject *parent=nullptr) | |
| Construct the layer stack model. More... | |
| void | DataStorageChanged () override |
| Called when the data storage has been changed. Refreshes the model data. More... | |
| void | NodePredicateChanged () override |
| Called when the node predicate has been changed. Refreshes the model data. More... | |
| void | NodeAdded (const mitk::DataNode *node) override |
| Called when a data node has been added to the data storage. More... | |
| void | NodeChanged (const mitk::DataNode *node) override |
| Called when a data node has been changed. Refreshes the model data. More... | |
| void | NodeRemoved (const mitk::DataNode *node) override |
| Called when a data node has been removed from the data storage. Refreshes the model data. More... | |
| void | SetCurrentRenderer (const std::string &rendererName) |
| Set the current renderer by its name and refresh the layer stack. More... | |
| mitk::BaseRenderer * | GetCurrentRenderer () const |
| Get the currently active base renderer. More... | |
| QModelIndex | index (int row, int column, const QModelIndex &parent) const |
| Create a model index for the given row and column. More... | |
| QModelIndex | parent (const QModelIndex &child) const |
| Return the parent index (always invalid, since this is a flat table model). More... | |
| Qt::ItemFlags | flags (const QModelIndex &index) const override |
| Return item flags for the given index. More... | |
| QVariant | headerData (int section, Qt::Orientation orientation, int role) const override |
| Return header data for the table. More... | |
| int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
| Return the number of rows (layers) in the model. More... | |
| int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
| Return the number of columns (always 2: visibility and node name). More... | |
| QVariant | data (const QModelIndex &index, int role) const override |
| Return data for the given index and role. More... | |
| bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override |
| Set data for the given index and role (visibility toggling). 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... | |
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 |
Table model that displays the render window layer stack for a specific renderer.
QmitkDataStorageLayerStackModel is a customized two-column table model derived from QmitkAbstractDataStorageModel. It displays data nodes assigned to a specific render window (base renderer) sorted by their layer property, with a visibility checkbox in the first column and the node name in the second column.
The model updates automatically when the data storage changes, nodes are modified or removed, or the current renderer is switched. It can be used in conjunction with a QmitkDataStorageSelectionConnector for selection synchronization.
Definition at line 40 of file QmitkDataStorageLayerStackModel.h.
| QmitkDataStorageLayerStackModel::QmitkDataStorageLayerStackModel | ( | QObject * | parent = nullptr | ) |
Construct the layer stack model.
| [in] | parent | Optional parent QObject. |
|
override |
Return the number of columns (always 2: visibility and node name).
| [in] | parent | The parent index. Must be invalid for a valid count; returns 0 if valid. |
|
override |
Return data for the given index and role.
Supported roles:
| [in] | index | The model index. |
| [in] | role | The data role. |
|
overridevirtual |
Called when the data storage has been changed. Refreshes the model data.
Implements QmitkAbstractDataStorageModel.
|
override |
Return item flags for the given index.
Column 0 (visibility) has Qt::ItemIsUserCheckable in addition to enabled/selectable flags.
| [in] | index | The model index to query. |
| mitk::BaseRenderer* QmitkDataStorageLayerStackModel::GetCurrentRenderer | ( | ) | const |
Get the currently active base renderer.
nullptr if none is set or it has expired.
|
override |
Return header data for the table.
Column 0 header is "Visibility", column 1 header is "Data node".
| [in] | section | The column number. |
| [in] | orientation | The header orientation (only Qt::Horizontal is handled). |
| [in] | role | The data role (only Qt::DisplayRole is handled). |
| QModelIndex QmitkDataStorageLayerStackModel::index | ( | int | row, |
| int | column, | ||
| const QModelIndex & | parent | ||
| ) | const |
Create a model index for the given row and column.
| [in] | row | The row number. |
| [in] | column | The column number (0 = visibility, 1 = node name). |
| [in] | parent | The parent index (must be invalid for this flat model). |
|
overridevirtual |
Called when a data node has been added to the data storage.
| [in] | node | The data node that was added. |
Implements QmitkAbstractDataStorageModel.
|
overridevirtual |
Called when a data node has been changed. Refreshes the model data.
| [in] | node | The data node that was changed. |
Implements QmitkAbstractDataStorageModel.
|
overridevirtual |
Called when the node predicate has been changed. Refreshes the model data.
Implements QmitkAbstractDataStorageModel.
|
overridevirtual |
Called when a data node has been removed from the data storage. Refreshes the model data.
| [in] | node | The data node that was removed. |
Implements QmitkAbstractDataStorageModel.
| QModelIndex QmitkDataStorageLayerStackModel::parent | ( | const QModelIndex & | child | ) | const |
Return the parent index (always invalid, since this is a flat table model).
| [in] | child | The child index (unused). |
|
override |
Return the number of rows (layers) in the model.
| [in] | parent | The parent index. Must be invalid for a valid count; returns 0 if valid. |
| void QmitkDataStorageLayerStackModel::SetCurrentRenderer | ( | const std::string & | rendererName | ) |
Set the current renderer by its name and refresh the layer stack.
Looks up the base renderer by name and rebuilds the model to show only the layer stack for that renderer.
| [in] | rendererName | The name of the base renderer to display layers for. |
|
override |
Set data for the given index and role (visibility toggling).
Only handles Qt::CheckStateRole to toggle the visibility of the data node in the current renderer. Triggers a render window update on success.
| [in] | index | The model index of the item to modify. |
| [in] | value | The new value (Qt::CheckState as int). |
| [in] | role | The data role (only Qt::CheckStateRole is handled). |
true if the visibility was successfully changed, false otherwise.