QML Debugger refactoring

Now, QmlEngine creates the connection to the inferior (debuggee), and
notifies QmlInspector when a connection is established. Before,
inspector created the debugger engin, which was wrong.

QmlEngine's responsibilities are connecting to the debuggee and basic
QML/JS debugging features like locals & watchers, breakpoints etc.
QmlInspector takes care of Live Preview and other fancy inspection
features.

Reviewed-by: hjk
This commit is contained in:
Lasse Holmstedt
2010-08-13 14:18:10 +02:00
parent 5de57ddad3
commit b71c3c62ba
24 changed files with 821 additions and 643 deletions

View File

@@ -49,9 +49,8 @@ namespace ProjectExplorer {
namespace QmlJSInspector {
namespace Internal {
class QmlInspectorToolbar;
class ClientProxy;
class Inspector;
class InspectorUi;
class InspectorPlugin : public ExtensionSystem::IPlugin
{
@@ -64,8 +63,7 @@ public:
static InspectorPlugin *instance();
QmlJS::ModelManagerInterface *modelManager() const;
ClientProxy *clientProxy() const;
Inspector *inspector() const;
InspectorUi *inspector() const;
// ExtensionSystem::IPlugin interface
virtual bool initialize(const QStringList &arguments, QString *errorString);
@@ -73,19 +71,19 @@ public:
virtual ExtensionSystem::IPlugin::ShutdownFlag aboutToShutdown();
public slots:
void activateDebuggerForProject(ProjectExplorer::Project *project, const QString &runMode);
void setDockWidgetArrangement(const QString &activeLanguage);
private slots:
void prepareDebugger(Core::IMode *mode);
void objectAdded(QObject *object);
void aboutToRemoveObject(QObject *obj);
private:
void createActions();
private:
ClientProxy *m_clientProxy;
Inspector *m_inspector;
QmlInspectorToolbar *m_toolbar;
InspectorUi *m_inspectorUi;
};
} // end of namespace Internal