Pass QQmlDebugService to AbstractViewInspector
authorUlf Hermann <ulf.hermann@theqtcompany.com>
Wed, 15 Jul 2015 15:36:28 +0000 (17:36 +0200)
committerUlf Hermann <ulf.hermann@theqtcompany.com>
Tue, 4 Aug 2015 13:35:03 +0000 (13:35 +0000)
This way we don't have to look up the implementation in order to send
messages.

Change-Id: I70cb122785875cf8b4ba6f7f2afd62cca77c8abb
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.cpp
src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.h
src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorinterface.h
src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.cpp
src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.h
src/plugins/qmltooling/qmldbg_inspector/qquickviewinspector.cpp
src/plugins/qmltooling/qmldbg_inspector/qquickviewinspector.h
src/plugins/qmltooling/qmldbg_inspector/qtquick2plugin.cpp
src/plugins/qmltooling/qmldbg_inspector/qtquick2plugin.h

index ecbe31f..fa6dca7 100644 (file)
@@ -33,7 +33,6 @@
 
 #include "abstractviewinspector.h"
 #include "abstracttool.h"
-#include "qqmlinspectorservice.h"
 
 #include <QtCore/QDebug>
 #include <QtQml/QQmlEngine>
@@ -80,10 +79,10 @@ const char CLEAR_CACHE[] = "clearCache";
 namespace QmlJSDebugger {
 
 
-AbstractViewInspector::AbstractViewInspector(QObject *parent) :
+AbstractViewInspector::AbstractViewInspector(QQmlDebugService *service, QObject *parent) :
     QObject(parent),
     m_enabled(false),
-    m_debugService(QQmlDebugConnector::service<QQmlInspectorServiceImpl>()),
+    m_debugService(service),
     m_eventId(0),
     m_reloadEventId(-1)
 {
index 342e635..8f7ad4a 100644 (file)
@@ -58,7 +58,7 @@ class AbstractViewInspector : public QObject
     Q_OBJECT
 
 public:
-    explicit AbstractViewInspector(QObject *parent = 0);
+    explicit AbstractViewInspector(QQmlDebugService *service, QObject *parent = 0);
 
     void handleMessage(const QByteArray &message);
 
index cd9acab..a31ccae 100644 (file)
@@ -47,6 +47,7 @@
 
 #include <QtQml/qtqmlglobal.h>
 #include <private/qqmlglobal_p.h>
+#include <private/qqmldebugservice_p.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -58,7 +59,7 @@ public:
 
     virtual bool canHandleView(QObject *view) = 0;
 
-    virtual void activate(QObject *view) = 0;
+    virtual void activate(QQmlDebugService *service, QObject *view) = 0;
     virtual void deactivate() = 0;
 
     virtual void clientMessage(const QByteArray &message) = 0;
index 848e635..16e1c3e 100644 (file)
@@ -97,7 +97,7 @@ void QQmlInspectorServiceImpl::updateState()
             qWarning() << "QQmlInspector: No plugin available for view '" << m_views.first()->metaObject()->className() << "'.";
             return;
         }
-        m_currentInspectorPlugin->activate(m_views.first());
+        m_currentInspectorPlugin->activate(this, m_views.first());
     } else {
         if (m_currentInspectorPlugin) {
             m_currentInspectorPlugin->deactivate();
index 72243cb..409a3fe 100644 (file)
@@ -53,7 +53,6 @@
 
 QT_BEGIN_NAMESPACE
 
-namespace QmlJSDebugger { class AbstractViewInspector; }
 
 class QQmlInspectorInterface;
 
@@ -76,7 +75,6 @@ private Q_SLOTS:
     void updateState();
 
 private:
-    friend class QmlJSDebugger::AbstractViewInspector;
     friend class QQmlInspectorServiceFactory;
     void loadInspectorPlugins();
 
index 003349e..de9d561 100644 (file)
@@ -109,8 +109,9 @@ static QQuickItem *itemAt(QQuickItem *item, const QPointF &pos,
 }
 
 
-QQuickViewInspector::QQuickViewInspector(QQuickView *view, QObject *parent) :
-    AbstractViewInspector(parent),
+QQuickViewInspector::QQuickViewInspector(QQmlDebugService *service, QQuickView *view,
+                                         QObject *parent) :
+    AbstractViewInspector(service, parent),
     m_view(view),
     m_overlay(new QQuickItem),
     m_inspectTool(new InspectTool(this, view)),
index 9a2ac4f..e823e5a 100644 (file)
@@ -53,7 +53,7 @@ class QQuickViewInspector : public AbstractViewInspector
 {
     Q_OBJECT
 public:
-    explicit QQuickViewInspector(QQuickView *view, QObject *parent = 0);
+    explicit QQuickViewInspector(QQmlDebugService *service, QQuickView *view, QObject *parent = 0);
 
     // AbstractViewInspector
     void changeCurrentObjects(const QList<QObject*> &objects);
index 197e618..b755c35 100644 (file)
@@ -57,11 +57,11 @@ bool QtQuick2Plugin::canHandleView(QObject *view)
     return qobject_cast<QQuickView*>(view);
 }
 
-void QtQuick2Plugin::activate(QObject *view)
+void QtQuick2Plugin::activate(QQmlDebugService *service, QObject *view)
 {
     QQuickView *qtQuickView = qobject_cast<QQuickView*>(view);
     Q_ASSERT(qtQuickView);
-    m_inspector = new QQuickViewInspector(qtQuickView, qtQuickView);
+    m_inspector = new QQuickViewInspector(service, qtQuickView, qtQuickView);
 }
 
 void QtQuick2Plugin::deactivate()
index 7334cc0..3e0704f 100644 (file)
@@ -36,6 +36,7 @@
 
 #include <QtCore/QPointer>
 #include "qqmlinspectorinterface.h"
+#include <private/qqmldebugservice_p.h>
 
 QT_BEGIN_NAMESPACE
 
@@ -54,7 +55,7 @@ public:
 
     // QQmlInspectorInterface
     bool canHandleView(QObject *view);
-    void activate(QObject *view);
+    void activate(QQmlDebugService *service, QObject *view);
     void deactivate();
     void clientMessage(const QByteArray &message);