Krita Source Code Documentation
Loading...
Searching...
No Matches
KisNodeFilterProxyModel::Private Struct Reference

Public Member Functions

bool checkIndexAllowedRecursively (QModelIndex srcIndex)
 
 Private ()
 

Public Attributes

QSet< int > acceptedColorLabels
 
KisNodeSP activeNode
 
KisSignalCompressor activeNodeCompressor
 
boost::optional< QString > activeTextFilter
 
bool isUpdatingFilter = false
 
KisSignalAutoConnectionsStore modelConnections
 
KisNodeModelnodeModel
 
KisNodeSP pendingActiveNode
 

Detailed Description

Definition at line 21 of file kis_node_filter_proxy_model.cpp.

Constructor & Destructor Documentation

◆ Private()

KisNodeFilterProxyModel::Private::Private ( )
inline

Member Function Documentation

◆ checkIndexAllowedRecursively()

bool KisNodeFilterProxyModel::Private::checkIndexAllowedRecursively ( QModelIndex srcIndex)

Definition at line 70 of file kis_node_filter_proxy_model.cpp.

71{
72 if (!srcIndex.isValid()) return false;
73
74 KisNodeSP node = nodeModel->nodeFromIndex(srcIndex);
75 const bool nodeTextFilterMatch = (!activeTextFilter || node->name().contains(activeTextFilter.get(), Qt::CaseInsensitive));
76
77 // directParentTextFilterMatch -- There's an argument to be made that searching for a parent name should show
78 // all of the direct children of said text-search. For now, it will remain unused.
79 const bool directParentTextFilterMatch = (!activeTextFilter || (node->parent() && node->parent()->name().contains(activeTextFilter.get(), Qt::CaseInsensitive)));
80 Q_UNUSED(directParentTextFilterMatch);
81
82 const bool nodeColorMatch = (acceptedColorLabels.count() == 0 || acceptedColorLabels.contains(node->colorLabelIndex()));
83 if ( node == activeNode ||
84 ( nodeColorMatch && nodeTextFilterMatch )) {
85 return true;
86 }
87
88 bool result = false;
89
90 const int numChildren = srcIndex.model()->rowCount(srcIndex);
91 for (int i = 0; i < numChildren; i++) {
92 QModelIndex child = nodeModel->index(i, 0, srcIndex);
94 result = true;
95 break;
96 }
97 }
98
99 return result;
100}
KisNodeSP nodeFromIndex(const QModelIndex &index) const
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
int colorLabelIndex() const
QString name() const
bool checkIndexAllowedRecursively(QModelIndex srcIndex)
KisNodeWSP parent
Definition kis_node.cpp:86

References acceptedColorLabels, activeNode, activeTextFilter, checkIndexAllowedRecursively(), KisBaseNode::colorLabelIndex(), KisNodeModel::index(), KisBaseNode::name(), KisNodeModel::nodeFromIndex(), nodeModel, and KisNode::parent.

Member Data Documentation

◆ acceptedColorLabels

QSet<int> KisNodeFilterProxyModel::Private::acceptedColorLabels

Definition at line 31 of file kis_node_filter_proxy_model.cpp.

◆ activeNode

KisNodeSP KisNodeFilterProxyModel::Private::activeNode

Definition at line 30 of file kis_node_filter_proxy_model.cpp.

◆ activeNodeCompressor

KisSignalCompressor KisNodeFilterProxyModel::Private::activeNodeCompressor

Definition at line 33 of file kis_node_filter_proxy_model.cpp.

◆ activeTextFilter

boost::optional<QString> KisNodeFilterProxyModel::Private::activeTextFilter

Definition at line 32 of file kis_node_filter_proxy_model.cpp.

◆ isUpdatingFilter

bool KisNodeFilterProxyModel::Private::isUpdatingFilter = false

Definition at line 34 of file kis_node_filter_proxy_model.cpp.

◆ modelConnections

KisSignalAutoConnectionsStore KisNodeFilterProxyModel::Private::modelConnections

Definition at line 35 of file kis_node_filter_proxy_model.cpp.

◆ nodeModel

KisNodeModel* KisNodeFilterProxyModel::Private::nodeModel

Definition at line 28 of file kis_node_filter_proxy_model.cpp.

◆ pendingActiveNode

KisNodeSP KisNodeFilterProxyModel::Private::pendingActiveNode

Definition at line 29 of file kis_node_filter_proxy_model.cpp.


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