diff --git a/src/nodes/QskSGNode.cpp b/src/nodes/QskSGNode.cpp index 6288c387..ce9e9011 100644 --- a/src/nodes/QskSGNode.cpp +++ b/src/nodes/QskSGNode.cpp @@ -100,6 +100,17 @@ QSGNode* QskSGNode::findChildNode( QSGNode* parent, quint8 role ) return nullptr; } +bool QskSGNode::removeChildNode( QSGNode* parent, quint8 role ) +{ + if ( auto node = findChildNode( parent, role ) ) + { + qskRemoveChildNode( parent, node ); + return true; + } + + return false; +} + void QskSGNode::removeAllChildNodesAfter( QSGNode* parent, QSGNode* child ) { if ( parent && child && child->parent() == parent ) diff --git a/src/nodes/QskSGNode.h b/src/nodes/QskSGNode.h index f4b7c22d..a0c02786 100644 --- a/src/nodes/QskSGNode.h +++ b/src/nodes/QskSGNode.h @@ -43,6 +43,7 @@ namespace QskSGNode } QSK_EXPORT QSGNode* findChildNode( QSGNode* parent, quint8 role ); + QSK_EXPORT bool removeChildNode( QSGNode* parent, quint8 role ); // nodeRoles: sort order QSK_EXPORT void replaceChildNode(