From 5f13d479e4b9080f7a0d8bca05b020b3019aa272 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Fri, 14 Aug 2009 14:56:12 +0200 Subject: Show full object tree in qml debugger Clicking on an engine now automatically shows the object tree --- tools/qmldebugger/engine.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/qmldebugger/engine.cpp b/tools/qmldebugger/engine.cpp index 16d7f02..1f4bcc2 100644 --- a/tools/qmldebugger/engine.cpp +++ b/tools/qmldebugger/engine.cpp @@ -141,6 +141,8 @@ void EnginePane::queryContext(int id) void EnginePane::contextChanged() { dump(m_context->rootContext(), 0); + foreach (const QmlDebugObjectReference &object, m_context->rootContext().objects()) + fetchObject(object.debugId()); delete m_context; m_context = 0; } @@ -171,12 +173,19 @@ void EnginePane::dump(const QmlDebugObjectReference &obj, int ind) void EnginePane::buildTree(const QmlDebugObjectReference &obj, QTreeWidgetItem *parent) { + if (!parent) + m_objTree->clear(); + m_objTree->expandAll(); + QTreeWidgetItem *item = parent ? new QTreeWidgetItem(parent) : new QTreeWidgetItem(m_objTree); item->setText(0, obj.className()); item->setData(0, Qt::UserRole, obj.debugId()); for (int ii = 0; ii < obj.children().count(); ++ii) buildTree(obj.children().at(ii), item); + + if (!parent) + m_objTree->expandAll(); } void EnginePane::queryEngines() -- cgit v0.12