diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/declarative/debugger/qdeclarativeenginedebug.cpp | 14 | ||||
-rw-r--r-- | src/declarative/debugger/qdeclarativeenginedebug_p.h | 3 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/declarative/debugger/qdeclarativeenginedebug.cpp b/src/declarative/debugger/qdeclarativeenginedebug.cpp index 3232eeab..2eabc0ba 100644 --- a/src/declarative/debugger/qdeclarativeenginedebug.cpp +++ b/src/declarative/debugger/qdeclarativeenginedebug.cpp @@ -932,6 +932,20 @@ QList<QDeclarativeDebugObjectReference> QDeclarativeDebugObjectReference::childr return m_children; } +QDeclarativeDebugObjectReference QDeclarativeDebugObjectReference::findChildByClassName(const QString &className, QDeclarativeDebugObjectReference after) const +{ + foreach (const QDeclarativeDebugObjectReference &child, m_children) + if (after.debugId() != -1) { + if (child.debugId() == after.debugId()) + after = QDeclarativeDebugObjectReference(); + } else { + if (child.className() == className) + return child; + } + + return QDeclarativeDebugObjectReference(); +} + QDeclarativeDebugContextReference::QDeclarativeDebugContextReference() : m_debugId(-1) { diff --git a/src/declarative/debugger/qdeclarativeenginedebug_p.h b/src/declarative/debugger/qdeclarativeenginedebug_p.h index 9c1246ac..c1e37110 100644 --- a/src/declarative/debugger/qdeclarativeenginedebug_p.h +++ b/src/declarative/debugger/qdeclarativeenginedebug_p.h @@ -254,6 +254,9 @@ public: QList<QDeclarativeDebugPropertyReference> properties() const; QList<QDeclarativeDebugObjectReference> children() const; + QDeclarativeDebugObjectReference findChildByClassName(const QString &className, + QDeclarativeDebugObjectReference after = QDeclarativeDebugObjectReference()) const; + private: friend class QDeclarativeEngineDebugPrivate; int m_debugId; |