Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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:
Collaboration diagram for qMRMLSceneDisplayableModel:

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
 
QVTK_OBJECT 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.
 
bool canBeAParent (vtkMRMLNode *node) const override
 fast function that only check the type of the node to know if it can be a parent.
 
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.
 
bool canBeAParent (vtkMRMLNode *node) const override
 fast function that only check the type of the node to know if it can be a parent.
 
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
 
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
 
QStandardItem * mrmlSceneItem () const
 0 until a valid scene is set
 
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
 
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.
 
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.
 
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.
 
void updateNodeFromItemData (vtkMRMLNode *node, QStandardItem *item) override
 Reimplemented to add expandColumn support.
 
- 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.
 
void updateNodeItems (vtkMRMLNode *node, const QString &uid)
 Update the items associated with the node and UID.
 
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.
 
void sceneUpdated ()
 This signal is sent after the scene is updated.
 
- 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

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.

◆ colorColumn()

int qMRMLSceneDisplayableModel::colorColumn ( ) const

◆ maxColumnId()

int qMRMLSceneDisplayableModel::maxColumnId ( ) const
overrideprotectedvirtual

Must be reimplemented in subclasses that add new column types.

Reimplemented from qMRMLSceneModel.

◆ nodeFlags()

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

Reimplemented from qMRMLSceneModel.

◆ 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.

◆ 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);
}
void updateItemDataFromNode(QStandardItem *item, vtkMRMLNode *node, int column) override
Reimplemented to add expandColumn support.
Abstract Superclass for all specific types of MRML nodes.
See also
updateNodeFromItemData, updateNodeFromItem, updateItemFromNode, nodeFlags

Reimplemented from qMRMLSceneModel.

◆ 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.


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