summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/declarative/debugger/qdeclarativeenginedebug.cpp14
-rw-r--r--src/declarative/debugger/qdeclarativeenginedebug_p.h3
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;