23#ifndef __qMRMLSortFilterSubjectHierarchyProxyModel_h
24#define __qMRMLSortFilterSubjectHierarchyProxyModel_h
27#include "qSlicerSubjectHierarchyModuleWidgetsExport.h"
30#include <QSortFilterProxyModel>
33#include <ctkVTKObject.h>
36class qMRMLSortFilterSubjectHierarchyProxyModelPrivate;
135 Q_INVOKABLE
void addNodeAttributeFilter(QString attributeName, QVariant attributeValue=QString(),
bool include=true, QString className=QString());
166 Qt::ItemFlags
flags(const QModelIndex & index)const override;
202 QScopedPointer<qMRMLSortFilterSubjectHierarchyProxyModelPrivate>
d_ptr;
QScopedPointer< qMRMLSortFilterSubjectHierarchyProxyModelPrivate > d_ptr
Q_INVOKABLE int acceptedItemCount(vtkIdType rootItemID=0) const
virtual AcceptType filterAcceptsItem(vtkIdType itemID, bool canAcceptIfAnyChildIsAccepted=true) const
Filters items to decide which to display in the view.
void setExcludeNodeAttributeNamesFilter(QStringList filterList)
void setIncludeNodeAttributeNamesFilter(QStringList filterList)
QStringList excludeItemAttributeNamesFilter
Q_INVOKABLE void removeItemAttributeFilter(QString attributeName, QVariant attributeValue, bool include)
Remove single item attribute filter specifying each attribute.
Q_INVOKABLE void removeNodeAttributeFilter(QString attributeName, QVariant attributeValue, bool include, QString className)
Remove single node attribute filter specifying each attribute.
QStringList includeItemAttributeNamesFilter
Q_INVOKABLE QModelIndex indexFromSubjectHierarchyItem(vtkIdType itemID, int column=0) const
Retrieve an index for a given a subject hierarchy item ID.
void setNodeTypes(const QStringList &types)
void setHideItemsUnaffiliatedWithItemID(vtkIdType itemID)
Qt::ItemFlags flags(const QModelIndex &index) const override
void setShowEmptyHierarchyItems(bool show)
Q_INVOKABLE void addNodeAttributeFilter(QString attributeName, QVariant attributeValue=QString(), bool include=true, QString className=QString())
bool showEmptyHierarchyItems
Q_INVOKABLE vtkMRMLScene * mrmlScene() const
QStringList excludeNodeAttributeNamesFilter
void setLevelFilter(QStringList filter)
QStringList levelFilter
Filter to show only items of a certain level (and their parents). If empty, then show all.
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override
Q_INVOKABLE vtkMRMLSubjectHierarchyNode * subjectHierarchyNode() const
Q_INVOKABLE QModelIndex subjectHierarchySceneIndex() const
Retrieve the index of the MRML scene (the root item) in the subject hierarchy tree.
void setAttributeNameFilter(QString filter)
Q_INVOKABLE void addItemAttributeFilter(QString attributeName, QVariant attributeValue=QString(), bool include=true)
void setExcludeItemAttributeNamesFilter(QStringList filterList)
QStringList includeNodeAttributeNamesFilter
void setAttributeValueFilter(QString filter)
void setHideChildNodeTypes(const QStringList &types)
@ AcceptDueToBeingParentOfAccepted
void setNameFilter(QString filter)
vtkIdType hideItemsUnaffiliatedWithItemID
QStandardItem * sourceItem(const QModelIndex &index) const
QSortFilterProxyModel Superclass
qMRMLSortFilterSubjectHierarchyProxyModel(QObject *parent=nullptr)
QString attributeValueFilter
QStringList hideChildNodeTypes
QString attributeNameFilter
QVTK_OBJECTQString nameFilter
Filter to show only items that contain the string in their names. Empty by default.
Q_INVOKABLE vtkIdType subjectHierarchyItemFromIndex(const QModelIndex &index) const
Retrieve the associated subject hierarchy item ID from a model index.
void setIncludeItemAttributeNamesFilter(QStringList filterList)
friend class qMRMLSubjectHierarchyTreeView
A set of MRML Nodes that supports serialization and undo/redo.
MRML node to represent a complete subject hierarchy tree.