Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Properties | Public Member Functions | Protected Member Functions
qMRMLSceneDisplayableModel Class Reference

The Visibility icon is in the same column than the name by default. More...

#include <Libs/MRML/Widgets/qMRMLSceneDisplayableModel.h>

Inheritance diagram for qMRMLSceneDisplayableModel:
Inheritance graph
[legend]
Collaboration diagram for qMRMLSceneDisplayableModel:
Collaboration graph
[legend]

Public Types

typedef qMRMLSceneHierarchyModel Superclass
 
- Public Types inherited from qMRMLSceneHierarchyModel
typedef qMRMLSceneModel Superclass
 
- Public Types inherited from qMRMLSceneModel
enum  ItemDataRole {
  UIDRole = Qt::UserRole + 1, PointerRole, ExtraItemsRole, VisibilityRole,
  LastRole
}
 
enum  NodeTypes { NoNodes = 0, AllNodes, OnlyVisibleNodes }
 
typedef QStandardItemModel Superclass
 

Properties

int colorColumn
 
int opacityColumn
 
- Properties inherited from qMRMLSceneHierarchyModel
int expandColumn
 
- Properties inherited from qMRMLSceneModel
int checkableColumn
 
int extraItemColumn
 
int idColumn
 
bool lazyUpdate
 
NodeTypes listenNodeModifiedEvent
 
int nameColumn
 
int toolTipNameColumn
 
int visibilityColumn
 

Public Member Functions

bool canBeAChild (vtkMRMLNode *node) const override
 fast function that only check the type of the node to know if it can be a child. More...
 
bool canBeAParent (vtkMRMLNode *node) const override
 fast function that only check the type of the node to know if it can be a parent. More...
 
int colorColumn () const
 
int opacityColumn () const
 
vtkMRMLNodeparentNode (vtkMRMLNode *node) const override
 
 qMRMLSceneDisplayableModel (QObject *parent=nullptr)
 
void setColorColumn (int column)
 
void setOpacityColumn (int column)
 
 ~qMRMLSceneDisplayableModel () override
 
- Public Member Functions inherited from qMRMLSceneHierarchyModel
bool canBeAChild (vtkMRMLNode *node) const override
 fast function that only check the type of the node to know if it can be a child. More...
 
bool canBeAParent (vtkMRMLNode *node) const override
 fast function that only check the type of the node to know if it can be a parent. More...
 
int expandColumn () const
 
int nodeIndex (vtkMRMLNode *node) const override
 
vtkMRMLNodeparentNode (vtkMRMLNode *node) const override
 
 qMRMLSceneHierarchyModel (QObject *parent=nullptr)
 
bool reparent (vtkMRMLNode *node, vtkMRMLNode *newParent) override
 if newParent == 0, set the node into the vtkMRMLScene More...
 
void setExpandColumn (int column)
 
Qt::DropActions supportedDropActions () const override
 
 ~qMRMLSceneHierarchyModel () override
 
- Public Member Functions inherited from qMRMLSceneModel
int checkableColumn () const
 
bool dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
 
int extraItemColumn () const
 
int idColumn () const
 
QModelIndexList indexes (vtkMRMLNode *node) const
 
QModelIndex indexFromNode (vtkMRMLNode *node, int column=0) const
 
bool isAffiliatedNode (vtkMRMLNode *nodeA, vtkMRMLNode *nodeB) const
 
bool isParentNode (vtkMRMLNode *child, vtkMRMLNode *parent) const
 
QStandardItem * itemFromNode (vtkMRMLNode *node, int column=0) const
 
bool lazyUpdate () const
 
NodeTypes listenNodeModifiedEvent () const
 
QMimeData * mimeData (const QModelIndexList &indexes) const override
 
vtkMRMLNodemrmlNodeFromIndex (const QModelIndex &nodeIndex) const
 
vtkMRMLNodemrmlNodeFromItem (QStandardItem *nodeItem) const
 
Q_INVOKABLE vtkMRMLScenemrmlScene () const
 
QModelIndex mrmlSceneIndex () const
 invalid until a valid scene is set More...
 
QStandardItem * mrmlSceneItem () const
 0 until a valid scene is set More...
 
int nameColumn () const
 
QStringList postItems (QStandardItem *parent) const
 
QStringList preItems (QStandardItem *parent) const
 
 qMRMLSceneModel (QObject *parent=nullptr)
 
void setCheckableColumn (int column)
 
void setExtraItemColumn (int column)
 
void setIDColumn (int column)
 
void setLazyUpdate (bool lazy)
 
void setListenNodeModifiedEvent (NodeTypes nodesToListen)
 
virtual Q_INVOKABLE void setMRMLScene (vtkMRMLScene *scene)
 0 by default More...
 
void setNameColumn (int column)
 
void setPostItems (const QStringList &extraItems, QStandardItem *parent)
 
void setPreItems (const QStringList &extraItems, QStandardItem *parent)
 
void setToolTipNameColumn (int column)
 
void setVisibilityColumn (int column)
 
Qt::DropActions supportedDropActions () const override
 
int toolTipNameColumn () const
 
int visibilityColumn () const
 
 ~qMRMLSceneModel () override
 

Protected Member Functions

int maxColumnId () const override
 Must be reimplemented in subclasses that add new column types. More...
 
QFlags< Qt::ItemFlag > nodeFlags (vtkMRMLNode *node, int column) const override
 
void observeNode (vtkMRMLNode *node) override
 
 qMRMLSceneDisplayableModel (qMRMLSceneDisplayableModelPrivate *pimpl, QObject *parent=nullptr)
 
void updateItemDataFromNode (QStandardItem *item, vtkMRMLNode *node, int column) override
 
void updateNodeFromItemData (vtkMRMLNode *node, QStandardItem *item) override
 
- Protected Member Functions inherited from qMRMLSceneHierarchyModel
int maxColumnId () const override
 Must be reimplemented in subclasses that add new column types. More...
 
QFlags< Qt::ItemFlag > nodeFlags (vtkMRMLNode *node, int column) const override
 
void observeNode (vtkMRMLNode *node) override
 
 qMRMLSceneHierarchyModel (qMRMLSceneHierarchyModelPrivate *pimpl, QObject *parent=nullptr)
 
void updateItemDataFromNode (QStandardItem *item, vtkMRMLNode *node, int column) override
 Reimplemented to add expandColumn support. More...
 
void updateNodeFromItemData (vtkMRMLNode *node, QStandardItem *item) override
 Reimplemented to add expandColumn support. More...
 
- Protected Member Functions inherited from qMRMLSceneModel
virtual QStandardItem * insertNode (vtkMRMLNode *node)
 
virtual QStandardItem * insertNode (vtkMRMLNode *node, QStandardItem *parent, int row=-1)
 
virtual bool isANode (const QStandardItem *item) const
 
virtual void populateScene ()
 
 qMRMLSceneModel (qMRMLSceneModelPrivate *pimpl, QObject *parent=nullptr)
 
virtual void updateItemFromNode (QStandardItem *item, vtkMRMLNode *node, int column)
 
virtual void updateNodeFromItem (vtkMRMLNode *node, QStandardItem *item)
 
void updateNodeItems ()
 You shouldn't need to call this function. More...
 
void updateNodeItems (vtkMRMLNode *node, const QString &uid)
 Update the items associated with the node and uid. More...
 
virtual void updateScene ()
 

Additional Inherited Members

- Signals inherited from qMRMLSceneModel
void aboutToReparentByDragAndDrop (vtkMRMLNode *node, vtkMRMLNode *newParent)
 
void reparentedByDragAndDrop (vtkMRMLNode *node, vtkMRMLNode *newParent)
 
void sceneAboutToBeUpdated ()
 This signal is sent when the scene is about to be updated. More...
 
void sceneUpdated ()
 This signal is sent after the scene is updated. More...
 
- Protected Slots inherited from qMRMLSceneModel
virtual void delayedItemChanged ()
 
virtual void onItemChanged (QStandardItem *item)
 
void onMRMLNodeIDChanged (vtkObject *node, void *callData)
 
void onMRMLNodeModified (vtkObject *node)
 
virtual void onMRMLSceneAboutToBeClosed (vtkMRMLScene *scene)
 
virtual void onMRMLSceneAboutToBeImported (vtkMRMLScene *scene)
 
virtual void onMRMLSceneClosed (vtkMRMLScene *scene)
 
void onMRMLSceneDeleted (vtkMRMLScene *scene)
 
virtual void onMRMLSceneEndBatchProcess (vtkMRMLScene *scene)
 
virtual void onMRMLSceneImported (vtkMRMLScene *scene)
 
virtual void onMRMLSceneNodeAboutToBeAdded (vtkMRMLScene *scene, vtkMRMLNode *node)
 
virtual void onMRMLSceneNodeAboutToBeRemoved (vtkMRMLScene *scene, vtkMRMLNode *node)
 
virtual void onMRMLSceneNodeAdded (vtkMRMLScene *scene, vtkMRMLNode *node)
 
virtual void onMRMLSceneNodeRemoved (vtkMRMLScene *scene, vtkMRMLNode *node)
 
virtual void onMRMLSceneStartBatchProcess (vtkMRMLScene *scene)
 
void updateColumnCount ()
 
- Static Protected Member Functions inherited from qMRMLSceneModel
static void onMRMLSceneEvent (vtkObject *vtk_obj, unsigned long event, void *client_data, void *call_data)
 
- Protected Attributes inherited from qMRMLSceneModel
QScopedPointer< qMRMLSceneModelPrivate > d_ptr
 

Detailed Description

The Visibility icon is in the same column than the name by default.

Definition at line 29 of file qMRMLSceneDisplayableModel.h.

Member Typedef Documentation

◆ Superclass

Definition at line 45 of file qMRMLSceneDisplayableModel.h.

Property Documentation

◆ colorColumn

int qMRMLSceneDisplayableModel::colorColumn
readwrite

Control in which column vtkMRMLModelDisplayNode::Color are displayed (Qt::DecorationRole). Even if a vtkMRMLModelNode doesn't have a color proper, the color of its display node is used. If the model node has more than one display node and their colors are different, it uses an invalid color. A value of -1 (default) hides the column

Definition at line 38 of file qMRMLSceneDisplayableModel.h.

◆ opacityColumn

int qMRMLSceneDisplayableModel::opacityColumn
readwrite

This property holds the column ID where the node opacity is shown. A value of -1 (default) hides the column.

Definition at line 42 of file qMRMLSceneDisplayableModel.h.

Constructor & Destructor Documentation

◆ qMRMLSceneDisplayableModel() [1/2]

qMRMLSceneDisplayableModel::qMRMLSceneDisplayableModel ( QObject *  parent = nullptr)

◆ ~qMRMLSceneDisplayableModel()

qMRMLSceneDisplayableModel::~qMRMLSceneDisplayableModel ( )
override

◆ qMRMLSceneDisplayableModel() [2/2]

qMRMLSceneDisplayableModel::qMRMLSceneDisplayableModel ( qMRMLSceneDisplayableModelPrivate *  pimpl,
QObject *  parent = nullptr 
)
protected

Member Function Documentation

◆ canBeAChild()

bool qMRMLSceneDisplayableModel::canBeAChild ( vtkMRMLNode node) const
overridevirtual

fast function that only check the type of the node to know if it can be a child.

Reimplemented from qMRMLSceneModel.

◆ canBeAParent()

bool qMRMLSceneDisplayableModel::canBeAParent ( vtkMRMLNode node) const
overridevirtual

fast function that only check the type of the node to know if it can be a parent.

Reimplemented from qMRMLSceneModel.

Reimplemented in qMRMLSceneAnnotationModel.

◆ colorColumn()

int qMRMLSceneDisplayableModel::colorColumn ( ) const

◆ maxColumnId()

int qMRMLSceneDisplayableModel::maxColumnId ( ) const
overrideprotectedvirtual

Must be reimplemented in subclasses that add new column types.

Reimplemented from qMRMLSceneModel.

Reimplemented in qMRMLSceneAnnotationModel.

◆ nodeFlags()

QFlags<Qt::ItemFlag> qMRMLSceneDisplayableModel::nodeFlags ( vtkMRMLNode node,
int  column 
) const
overrideprotectedvirtual

Reimplemented from qMRMLSceneModel.

Reimplemented in qMRMLSceneAnnotationModel.

◆ observeNode()

void qMRMLSceneDisplayableModel::observeNode ( vtkMRMLNode node)
overrideprotectedvirtual

Reimplemented to listen to the displayable DisplayModifiedEvent event for visibility check state changes.

Reimplemented from qMRMLSceneModel.

◆ opacityColumn()

int qMRMLSceneDisplayableModel::opacityColumn ( ) const

◆ parentNode()

vtkMRMLNode* qMRMLSceneDisplayableModel::parentNode ( vtkMRMLNode node) const
overridevirtual

Returns the parent node of the node, 0 otherwise (the parent is the scene). Must be reimplemented in derived classes. If reimplemented, you might have to reimplement nodeIndex() as well. Returns 0 by default.

See also
nodeIndex(), canBeAChild(), canBeAParent()

Reimplemented from qMRMLSceneModel.

Reimplemented in qMRMLSceneAnnotationModel.

◆ setColorColumn()

void qMRMLSceneDisplayableModel::setColorColumn ( int  column)

◆ setOpacityColumn()

void qMRMLSceneDisplayableModel::setOpacityColumn ( int  column)

◆ updateItemDataFromNode()

void qMRMLSceneDisplayableModel::updateItemDataFromNode ( QStandardItem *  item,
vtkMRMLNode node,
int  column 
)
overrideprotectedvirtual

To reimplement if you want custom display of the QStandardItem from the MRML node. Example:

void MySceneModel::updateItemDataFromNode(QStandardItem* item, vtkMRMLNode* node, int column)
if (column == 3)
{
item->setText(node->GetFoo());
return;
}
this->Superclass::updateItemDataFromNode(item, node, column);
}
See also
updateNodeFromItemData, updateNodeFromItem, updateItemFromNode, nodeFlags

Reimplemented from qMRMLSceneModel.

Reimplemented in qMRMLSceneAnnotationModel.

◆ updateNodeFromItemData()

void qMRMLSceneDisplayableModel::updateNodeFromItemData ( vtkMRMLNode node,
QStandardItem *  item 
)
overrideprotectedvirtual

To reimplement if you want to propagate user changes on QStandardItem into the MRML node. Example: void MySceneModel::updateNodeFromItemData(vtkMRMLNode* node, QStandardItem* item) if (column == 3) { node->SetFoo(item->text()); return; } this->Superclass::updateNodeFromItemData(node, item); }

See also
updateItemFromNode, updateNodeFromItemData, updateItemFromNode, nodeFlags

Reimplemented from qMRMLSceneModel.

Reimplemented in qMRMLSceneAnnotationModel.


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