aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAurindam Jana <aurindam.jana@digia.com>2012-10-08 13:17:10 +0200
committerAurindam Jana <aurindam.jana@digia.com>2012-10-09 18:22:00 +0200
commit1d04c4c3df701726c6e4c806e9d3f9e97832babd (patch)
treeb4a0e9d374ea3ce6b07b365b957218909e2efc45 /src
parent3ebbba2e0793d7da419353f26ff2f319c07f4f84 (diff)
Debugger: Remove the dependence on QmlJSTools
Change-Id: I26765134c19b9a6cf1e7ad26f313e2d4f8faf258 Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/libs/qmljs/consoleitem.cpp (renamed from src/plugins/qmljstools/qmlconsoleitem.cpp)40
-rw-r--r--src/libs/qmljs/consoleitem.h (renamed from src/plugins/qmljstools/qmlconsoleitem.h)36
-rw-r--r--src/libs/qmljs/consolemanagerinterface.cpp54
-rw-r--r--src/libs/qmljs/consolemanagerinterface.h64
-rw-r--r--src/libs/qmljs/iscriptevaluator.h48
-rw-r--r--src/libs/qmljs/qmljs-lib.pri9
-rw-r--r--src/libs/qmljs/qmljs.qbs5
-rw-r--r--src/plugins/debugger/Debugger.pluginspec.in1
-rw-r--r--src/plugins/debugger/debugger_dependencies.pri1
-rw-r--r--src/plugins/debugger/debuggercore.h1
-rw-r--r--src/plugins/debugger/debuggerengine.cpp12
-rw-r--r--src/plugins/debugger/debuggerengine.h2
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp15
-rw-r--r--src/plugins/debugger/qml/qmlcppengine.cpp9
-rw-r--r--src/plugins/debugger/qml/qmlcppengine.h1
-rw-r--r--src/plugins/debugger/qml/qmlengine.cpp96
-rw-r--r--src/plugins/debugger/qml/qmlengine.h5
-rw-r--r--src/plugins/debugger/qml/qmlinspectoradapter.cpp134
-rw-r--r--src/plugins/debugger/qml/qmllivetextpreview.cpp8
-rw-r--r--src/plugins/debugger/qml/qmlv8debuggerclient.cpp18
-rw-r--r--src/plugins/qmljstools/qmlconsoleedit.cpp6
-rw-r--r--src/plugins/qmljstools/qmlconsoleitemdelegate.cpp30
-rw-r--r--src/plugins/qmljstools/qmlconsoleitemmodel.cpp42
-rw-r--r--src/plugins/qmljstools/qmlconsoleitemmodel.h12
-rw-r--r--src/plugins/qmljstools/qmlconsolemanager.cpp53
-rw-r--r--src/plugins/qmljstools/qmlconsolemanager.h20
-rw-r--r--src/plugins/qmljstools/qmlconsoleproxymodel.cpp14
-rw-r--r--src/plugins/qmljstools/qmlconsoleproxymodel.h4
-rw-r--r--src/plugins/qmljstools/qmlconsoleview.cpp6
-rw-r--r--src/plugins/qmljstools/qmljstools.pro2
-rw-r--r--src/plugins/qmljstools/qmljstools.qbs2
31 files changed, 456 insertions, 294 deletions
diff --git a/src/plugins/qmljstools/qmlconsoleitem.cpp b/src/libs/qmljs/consoleitem.cpp
index 3c0a29154a..9e9150d145 100644
--- a/src/plugins/qmljstools/qmlconsoleitem.cpp
+++ b/src/libs/qmljs/consoleitem.cpp
@@ -1,4 +1,4 @@
-/**************************************************************************
+/****************************************************************************
**
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
@@ -27,17 +27,17 @@
**
****************************************************************************/
-#include "qmlconsoleitem.h"
+#include "consoleitem.h"
-namespace QmlJSTools {
+namespace QmlJS {
///////////////////////////////////////////////////////////////////////
//
-// QmlConsoleItem
+// ConsoleItem
//
///////////////////////////////////////////////////////////////////////
-QmlConsoleItem::QmlConsoleItem(QmlConsoleItem *parent, QmlConsoleItem::ItemType itemType,
+ConsoleItem::ConsoleItem(ConsoleItem *parent, ConsoleItem::ItemType itemType,
const QString &text)
: m_parentItem(parent),
itemType(itemType),
@@ -47,36 +47,36 @@ QmlConsoleItem::QmlConsoleItem(QmlConsoleItem *parent, QmlConsoleItem::ItemType
setText(text);
}
-QmlConsoleItem::~QmlConsoleItem()
+ConsoleItem::~ConsoleItem()
{
qDeleteAll(m_childItems);
}
-QmlConsoleItem *QmlConsoleItem::child(int number)
+ConsoleItem *ConsoleItem::child(int number)
{
return m_childItems.value(number);
}
-int QmlConsoleItem::childCount() const
+int ConsoleItem::childCount() const
{
return m_childItems.size();
}
-int QmlConsoleItem::childNumber() const
+int ConsoleItem::childNumber() const
{
if (m_parentItem)
- return m_parentItem->m_childItems.indexOf(const_cast<QmlConsoleItem *>(this));
+ return m_parentItem->m_childItems.indexOf(const_cast<ConsoleItem *>(this));
return 0;
}
-bool QmlConsoleItem::insertChildren(int position, int count)
+bool ConsoleItem::insertChildren(int position, int count)
{
if (position < 0 || position > m_childItems.size())
return false;
for (int row = 0; row < count; ++row) {
- QmlConsoleItem *item = new QmlConsoleItem(this, QmlConsoleItem::UndefinedType,
+ ConsoleItem *item = new ConsoleItem(this, ConsoleItem::UndefinedType,
QString());
m_childItems.insert(position, item);
}
@@ -84,7 +84,7 @@ bool QmlConsoleItem::insertChildren(int position, int count)
return true;
}
-void QmlConsoleItem::insertChild(QmlConsoleItem *item, bool sorted)
+void ConsoleItem::insertChild(ConsoleItem *item, bool sorted)
{
if (!sorted) {
m_childItems.insert(m_childItems.count(), item);
@@ -99,7 +99,7 @@ void QmlConsoleItem::insertChild(QmlConsoleItem *item, bool sorted)
m_childItems.insert(i, item);
}
-bool QmlConsoleItem::insertChild(int position, QmlConsoleItem *item)
+bool ConsoleItem::insertChild(int position, ConsoleItem *item)
{
if (position < 0 || position > m_childItems.size())
return false;
@@ -109,12 +109,12 @@ bool QmlConsoleItem::insertChild(int position, QmlConsoleItem *item)
return true;
}
-QmlConsoleItem *QmlConsoleItem::parent()
+ConsoleItem *ConsoleItem::parent()
{
return m_parentItem;
}
-bool QmlConsoleItem::removeChildren(int position, int count)
+bool ConsoleItem::removeChildren(int position, int count)
{
if (position < 0 || position + count > m_childItems.size())
return false;
@@ -125,7 +125,7 @@ bool QmlConsoleItem::removeChildren(int position, int count)
return true;
}
-bool QmlConsoleItem::detachChild(int position)
+bool ConsoleItem::detachChild(int position)
{
if (position < 0 || position > m_childItems.size())
return false;
@@ -135,7 +135,7 @@ bool QmlConsoleItem::detachChild(int position)
return true;
}
-void QmlConsoleItem::setText(const QString &text)
+void ConsoleItem::setText(const QString &text)
{
m_text = text;
for (int i = 0; i < m_text.length(); ++i) {
@@ -144,9 +144,9 @@ void QmlConsoleItem::setText(const QString &text)
}
}
-const QString &QmlConsoleItem::text() const
+const QString &ConsoleItem::text() const
{
return m_text;
}
-} // QmlJSTools
+} // QmlJS
diff --git a/src/plugins/qmljstools/qmlconsoleitem.h b/src/libs/qmljs/consoleitem.h
index 67c4761ebb..15db44387c 100644
--- a/src/plugins/qmljstools/qmlconsoleitem.h
+++ b/src/libs/qmljs/consoleitem.h
@@ -1,4 +1,4 @@
-/**************************************************************************
+/****************************************************************************
**
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
@@ -27,17 +27,17 @@
**
****************************************************************************/
-#ifndef QMLCONSOLEITEM_H
-#define QMLCONSOLEITEM_H
+#ifndef CONSOLEITEM_H
+#define CONSOLEITEM_H
-#include "qmljstools_global.h"
+#include "qmljs_global.h"
#include <QList>
#include <QString>
-namespace QmlJSTools {
+namespace QmlJS {
-class QMLJSTOOLS_EXPORT QmlConsoleItem
+class QMLJS_EXPORT ConsoleItem
{
public:
enum ItemType
@@ -51,17 +51,17 @@ public:
};
Q_DECLARE_FLAGS(ItemTypes, ItemType)
- QmlConsoleItem(QmlConsoleItem *parent,
- QmlConsoleItem::ItemType type = QmlConsoleItem::UndefinedType,
+ ConsoleItem(ConsoleItem *parent,
+ ConsoleItem::ItemType type = ConsoleItem::UndefinedType,
const QString &data = QString());
- ~QmlConsoleItem();
+ ~ConsoleItem();
- QmlConsoleItem *child(int number);
+ ConsoleItem *child(int number);
int childCount() const;
bool insertChildren(int position, int count);
- void insertChild(QmlConsoleItem *item, bool sorted);
- bool insertChild(int position, QmlConsoleItem *item);
- QmlConsoleItem *parent();
+ void insertChild(ConsoleItem *item, bool sorted);
+ bool insertChild(int position, ConsoleItem *item);
+ ConsoleItem *parent();
bool removeChildren(int position, int count);
bool detachChild(int position);
int childNumber() const;
@@ -69,16 +69,16 @@ public:
const QString &text() const;
private:
- QmlConsoleItem *m_parentItem;
- QList<QmlConsoleItem *> m_childItems;
+ ConsoleItem *m_parentItem;
+ QList<ConsoleItem *> m_childItems;
QString m_text;
public:
- QmlConsoleItem::ItemType itemType;
+ ConsoleItem::ItemType itemType;
QString file;
int line;
};
-} // QmlJSTools
+} // QmlJS
-#endif // QMLCONSOLEITEM_H
+#endif // CONSOLEITEM_H
diff --git a/src/libs/qmljs/consolemanagerinterface.cpp b/src/libs/qmljs/consolemanagerinterface.cpp
new file mode 100644
index 0000000000..c78e3a6633
--- /dev/null
+++ b/src/libs/qmljs/consolemanagerinterface.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include "consolemanagerinterface.h"
+
+namespace QmlJS {
+
+static ConsoleManagerInterface *g_instance = 0;
+
+ConsoleManagerInterface::ConsoleManagerInterface(QObject *parent)
+ : QObject(parent)
+{
+ Q_ASSERT(!g_instance);
+ g_instance = this;
+}
+
+ConsoleManagerInterface::~ConsoleManagerInterface()
+{
+ Q_ASSERT(g_instance == this);
+ g_instance = 0;
+}
+
+ConsoleManagerInterface *ConsoleManagerInterface::instance()
+{
+ return g_instance;
+}
+
+} // QmlJS
diff --git a/src/libs/qmljs/consolemanagerinterface.h b/src/libs/qmljs/consolemanagerinterface.h
new file mode 100644
index 0000000000..4ee6067f29
--- /dev/null
+++ b/src/libs/qmljs/consolemanagerinterface.h
@@ -0,0 +1,64 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#ifndef CONSOLEMANAGERINTERFACE_H
+#define CONSOLEMANAGERINTERFACE_H
+
+#include "qmljs_global.h"
+#include "consoleitem.h"
+
+#include <QObject>
+
+namespace QmlJS {
+
+class IScriptEvaluator;
+class QMLJS_EXPORT ConsoleManagerInterface : public QObject
+{
+ Q_OBJECT
+public:
+ ConsoleManagerInterface(QObject *parent = 0);
+ ~ConsoleManagerInterface();
+
+ static ConsoleManagerInterface *instance();
+
+ virtual void showConsolePane() = 0;
+
+ virtual ConsoleItem *rootItem() const = 0;
+
+ virtual void setScriptEvaluator(IScriptEvaluator *scriptEvaluator) = 0;
+ virtual void setContext(const QString &context) = 0;
+
+ virtual void printToConsolePane(ConsoleItem::ItemType itemType, const QString &text,
+ bool bringToForeground = false) = 0;
+ virtual void printToConsolePane(ConsoleItem *item, bool bringToForeground = false) = 0;
+};
+
+} // QmlJS
+
+#endif // CONSOLEMANAGERINTERFACE_H
diff --git a/src/libs/qmljs/iscriptevaluator.h b/src/libs/qmljs/iscriptevaluator.h
new file mode 100644
index 0000000000..dfa780fbe4
--- /dev/null
+++ b/src/libs/qmljs/iscriptevaluator.h
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#ifndef ISCRIPTEVALUATOR_H
+#define ISCRIPTEVALUATOR_H
+
+#include "qmljs_global.h"
+
+#include <QString>
+
+namespace QmlJS {
+
+class QMLJS_EXPORT IScriptEvaluator
+{
+public:
+ IScriptEvaluator() {}
+
+ virtual bool evaluateScript(const QString &script) = 0;
+};
+} // QmlJS
+
+#endif // ISCRIPTEVALUATOR_H
diff --git a/src/libs/qmljs/qmljs-lib.pri b/src/libs/qmljs/qmljs-lib.pri
index bbc1d06bda..6f4f72db85 100644
--- a/src/libs/qmljs/qmljs-lib.pri
+++ b/src/libs/qmljs/qmljs-lib.pri
@@ -33,7 +33,10 @@ HEADERS += \
$$PWD/qmljsscopechain.h \
$$PWD/qmljsutils.h \
$$PWD/qmljsstaticanalysismessage.h \
- $$PWD/jsoncheck.h
+ $$PWD/jsoncheck.h \
+ $$PWD/consolemanagerinterface.h \
+ $$PWD/consoleitem.h \
+ $$PWD/iscriptevaluator.h
SOURCES += \
$$PWD/qmljsbind.cpp \
@@ -58,7 +61,9 @@ SOURCES += \
$$PWD/qmljsscopechain.cpp \
$$PWD/qmljsutils.cpp \
$$PWD/qmljsstaticanalysismessage.cpp \
- $$PWD/jsoncheck.cpp
+ $$PWD/jsoncheck.cpp \
+ $$PWD/consolemanagerinterface.cpp \
+ $$PWD/consoleitem.cpp
RESOURCES += \
$$PWD/qmljs.qrc
diff --git a/src/libs/qmljs/qmljs.qbs b/src/libs/qmljs/qmljs.qbs
index 6a4e8b0c21..7a981b7d2a 100644
--- a/src/libs/qmljs/qmljs.qbs
+++ b/src/libs/qmljs/qmljs.qbs
@@ -96,6 +96,11 @@ QtcLibrary {
"parser/qmljsmemorypool_p.h",
"parser/qmljsparser.cpp",
"parser/qmljsparser_p.h",
+ "consolemanagerinterface.cpp",
+ "consolemanagerinterface.h",
+ "consoleitem.cpp",
+ "consoleitem.h",
+ "iscriptevaluator.h"
]
ProductModule {
diff --git a/src/plugins/debugger/Debugger.pluginspec.in b/src/plugins/debugger/Debugger.pluginspec.in
index aa131fb96e..2debe9b93f 100644
--- a/src/plugins/debugger/Debugger.pluginspec.in
+++ b/src/plugins/debugger/Debugger.pluginspec.in
@@ -18,7 +18,6 @@ Alternatively, this plugin may be used under the terms of the GNU Lesser General
<dependency name=\"Core\" version=\"$$QTCREATOR_VERSION\"/>
<dependency name=\"Find\" version=\"$$QTCREATOR_VERSION\"/>
<dependency name=\"CppTools\" version=\"$$QTCREATOR_VERSION\"/>
- <dependency name=\"QmlJsTools\" version=\"$$QTCREATOR_VERSION\"/>
<!-- Debugger plugin adds items to the editor\'s context menu -->
<dependency name=\"CppEditor\" version=\"$$QTCREATOR_VERSION\" type=\"optional\"/>
</dependencyList>
diff --git a/src/plugins/debugger/debugger_dependencies.pri b/src/plugins/debugger/debugger_dependencies.pri
index d9138c7329..732954b727 100644
--- a/src/plugins/debugger/debugger_dependencies.pri
+++ b/src/plugins/debugger/debugger_dependencies.pri
@@ -3,7 +3,6 @@ include(../../plugins/cpptools/cpptools.pri)
include(../../plugins/find/find.pri)
include(../../plugins/projectexplorer/projectexplorer.pri)
include(../../plugins/texteditor/texteditor.pri)
-include(../../plugins/qmljstools/qmljstools.pri)
include(../../libs/cplusplus/cplusplus.pri)
include(../../libs/utils/utils.pri)
include(../../libs/qmljs/qmljs.pri)
diff --git a/src/plugins/debugger/debuggercore.h b/src/plugins/debugger/debuggercore.h
index e34340d095..073435b2da 100644
--- a/src/plugins/debugger/debuggercore.h
+++ b/src/plugins/debugger/debuggercore.h
@@ -116,7 +116,6 @@ public:
virtual void openMemoryEditor() = 0;
virtual void languagesChanged() = 0;
virtual void executeDebuggerCommand(const QString &command, DebuggerLanguages languages) = 0;
- virtual bool evaluateScriptExpression(const QString &expression) = 0;
virtual Utils::SavedAction *action(int code) const = 0;
virtual bool boolSetting(int code) const = 0;
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
index b69c714228..790d8ee015 100644
--- a/src/plugins/debugger/debuggerengine.cpp
+++ b/src/plugins/debugger/debuggerengine.cpp
@@ -64,7 +64,7 @@
#include <utils/qtcassert.h>
#include <utils/fileinprojectfinder.h>
-#include <qmljstools/qmlconsolemanager.h>
+#include <qmljs/consolemanagerinterface.h>
#include <QDebug>
#include <QTimer>
@@ -532,9 +532,9 @@ void DebuggerEngine::showMessage(const QString &msg, int channel, int timeout) c
}
//if (msg.size() && msg.at(0).isUpper() && msg.at(1).isUpper())
// qDebug() << qPrintable(msg) << "IN STATE" << state();
- QmlJSTools::QmlConsoleManager *consoleManager = QmlJSTools::QmlConsoleManager::instance();
+ QmlJS::ConsoleManagerInterface *consoleManager = QmlJS::ConsoleManagerInterface::instance();
if (channel == ConsoleOutput && consoleManager)
- consoleManager->printToConsolePane(QmlJSTools::QmlConsoleItem::UndefinedType, msg);
+ consoleManager->printToConsolePane(QmlJS::ConsoleItem::UndefinedType, msg);
debuggerCore()->showMessage(msg, channel, timeout);
if (d->m_runControl) {
@@ -1655,12 +1655,6 @@ void DebuggerEngine::executeDebuggerCommand(const QString &, DebuggerLanguages)
showStatusMessage(tr("This debugger cannot handle user input."));
}
-bool DebuggerEngine::evaluateScriptExpression(const QString &)
-{
- showStatusMessage(tr("This debugger cannot handle user input."));
- return false;
-}
-
BreakHandler *DebuggerEngine::breakHandler() const
{
return debuggerCore()->breakHandler();
diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h
index 88fd078241..e5019db333 100644
--- a/src/plugins/debugger/debuggerengine.h
+++ b/src/plugins/debugger/debuggerengine.h
@@ -269,8 +269,6 @@ public:
QString toFileInProject(const QUrl &fileUrl);
- virtual bool evaluateScriptExpression(const QString &expression);
-
signals:
void stateChanged(Debugger::DebuggerState state);
// A new stack frame is on display including locals.
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index d8499f81d5..6588f4cbaa 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -124,8 +124,6 @@
# include <utils/winutils.h>
#endif
-#include <qmljstools/qmlconsolemanager.h>
-
#include <QComboBox>
#include <QDockWidget>
#include <QFileDialog>
@@ -964,7 +962,6 @@ public slots:
void aboutToSaveSession();
void executeDebuggerCommand(const QString &command, DebuggerLanguages languages);
- bool evaluateScriptExpression(const QString &expression);
void coreShutdown();
#ifdef WITH_TESTS
@@ -2069,13 +2066,6 @@ void DebuggerPluginPrivate::connectEngine(DebuggerEngine *engine)
mainWindow()->setEngineDebugLanguages(engine->startParameters().languages);
mainWindow()->setCurrentEngine(engine);
- QmlJSTools::QmlConsoleManager *consoleManager = QmlJSTools::QmlConsoleManager::instance();
- if (consoleManager) {
- if (engine->startParameters().languages & QmlLanguage)
- consoleManager->setDebuggerEngine(engine);
- else
- consoleManager->setDebuggerEngine(0);
- }
}
static void changeFontSize(QWidget *widget, qreal size)
@@ -2490,11 +2480,6 @@ void DebuggerPluginPrivate::showStatusMessage(const QString &msg0, int timeout)
m_statusLabel->showStatusMessage(msg, timeout);
}
-bool DebuggerPluginPrivate::evaluateScriptExpression(const QString &expression)
-{
- return currentEngine()->evaluateScriptExpression(expression);
-}
-
void DebuggerPluginPrivate::openMemoryEditor()
{
AddressDialog dialog;
diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp
index 4cfb04ae33..7018c7a45c 100644
--- a/src/plugins/debugger/qml/qmlcppengine.cpp
+++ b/src/plugins/debugger/qml/qmlcppengine.cpp
@@ -40,6 +40,7 @@
#include <texteditor/itexteditor.h>
#include <qmljseditor/qmljseditorconstants.h>
#include <cppeditor/cppeditorconstants.h>
+#include <qmljs/consolemanagerinterface.h>
#include <QTimer>
@@ -400,11 +401,6 @@ void QmlCppEngine::executeDebuggerCommand(const QString &command, DebuggerLangua
d->m_cppEngine->executeDebuggerCommand(command, languages);
}
-bool QmlCppEngine::evaluateScriptExpression(const QString &expression)
-{
- return d->m_qmlEngine->evaluateScriptExpression(expression);
-}
-
/////////////////////////////////////////////////////////
void QmlCppEngine::setupEngine()
@@ -466,6 +462,9 @@ void QmlCppEngine::shutdownEngine()
{
EDEBUG("\nMASTER SHUTDOWN ENGINE");
d->m_cppEngine->shutdownSlaveEngine();
+ QmlJS::ConsoleManagerInterface *consoleManager = QmlJS::ConsoleManagerInterface::instance();
+ if (consoleManager)
+ consoleManager->setScriptEvaluator(0);
}
void QmlCppEngine::quitDebugger()
diff --git a/src/plugins/debugger/qml/qmlcppengine.h b/src/plugins/debugger/qml/qmlcppengine.h
index 034b6051cb..052c777ff5 100644
--- a/src/plugins/debugger/qml/qmlcppengine.h
+++ b/src/plugins/debugger/qml/qmlcppengine.h
@@ -110,7 +110,6 @@ protected:
void executeRunToFunction(const QString &functionName);
void executeJumpToLine(const ContextData &data);
void executeDebuggerCommand(const QString &command, DebuggerLanguages languages);
- bool evaluateScriptExpression(const QString &expression);
void setupEngine();
void setupInferior();
diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index 2791b4c201..fa841c170f 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -50,11 +50,12 @@
#include "sourcefileshandler.h"
#include "watchutils.h"
-#include <extensionsystem/pluginmanager.h>
#include <qmldebug/baseenginedebugclient.h>
#include <qmljseditor/qmljseditorconstants.h>
#include <qmljs/parser/qmljsast_p.h>
#include <qmljs/qmljsmodelmanagerinterface.h>
+#include <qmljs/consolemanagerinterface.h>
+#include <qmljs/consoleitem.h>
#include <utils/environment.h>
#include <utils/qtcassert.h>
@@ -66,9 +67,6 @@
#include <texteditor/itexteditor.h>
-#include <qmljstools/qmlconsolemanager.h>
-#include <qmljstools/qmlconsoleitem.h>
-
#include <QDateTime>
#include <QDebug>
#include <QDir>
@@ -261,6 +259,11 @@ public:
quint32 *column;
};
+QmlJS::ConsoleManagerInterface *qmlConsoleManager()
+{
+ return QmlJS::ConsoleManagerInterface::instance();
+}
+
///////////////////////////////////////////////////////////////////////
//
// QmlEngine
@@ -276,8 +279,6 @@ QmlEngine::QmlEngine(const DebuggerStartParameters &startParameters)
{
setObjectName(QLatin1String("QmlEngine"));
- ExtensionSystem::PluginManager::addObject(this);
-
connect(&m_adapter, SIGNAL(connectionError(QAbstractSocket::SocketError)),
SLOT(connectionError(QAbstractSocket::SocketError)));
connect(&m_adapter, SIGNAL(serviceConnectionError(QString)),
@@ -331,25 +332,23 @@ QmlEngine::QmlEngine(const DebuggerStartParameters &startParameters)
m_noDebugOutputTimer.setInterval(8000);
connect(&m_noDebugOutputTimer, SIGNAL(timeout()), this, SLOT(tryToConnect()));
- connect(ModelManagerInterface::instance(),
- SIGNAL(documentUpdated(QmlJS::Document::Ptr)),
- this,
- SLOT(documentUpdated(QmlJS::Document::Ptr)));
-
+ ModelManagerInterface *mmIface = ModelManagerInterface::instance();
+ if (mmIface) {
+ connect(ModelManagerInterface::instance(), SIGNAL(documentUpdated(QmlJS::Document::Ptr)),
+ this, SLOT(documentUpdated(QmlJS::Document::Ptr)));
+ }
// we won't get any debug output
if (startParameters.useTerminal) {
m_noDebugOutputTimer.setInterval(0);
m_retryOnConnectFail = true;
m_automaticConnect = true;
}
+ if (qmlConsoleManager())
+ qmlConsoleManager()->setScriptEvaluator(this);
}
QmlEngine::~QmlEngine()
{
- if (ExtensionSystem::PluginManager::allObjects().contains(this)) {
- ExtensionSystem::PluginManager::removeObject(this);
- }
-
QList<Core::IEditor *> editorsToClose;
QHash<QString, QWeakPointer<TextEditor::ITextEditor> >::iterator iter;
@@ -649,6 +648,8 @@ void QmlEngine::shutdownInferior()
void QmlEngine::shutdownEngine()
{
+ if (qmlConsoleManager())
+ qmlConsoleManager()->setScriptEvaluator(0);
m_noDebugOutputTimer.stop();
// double check (ill engine?):
@@ -1030,16 +1031,16 @@ void QmlEngine::synchronizeWatchers()
}
}
-QmlJSTools::QmlConsoleItem *constructLogItemTree(QmlJSTools::QmlConsoleItem *parent,
+QmlJS::ConsoleItem *constructLogItemTree(QmlJS::ConsoleItem *parent,
const QVariant &result,
const QString &key = QString())
{
- using namespace QmlJSTools;
+ using namespace QmlJS;
bool sorted = debuggerCore()->boolSetting(SortStructMembers);
if (!result.isValid())
return 0;
- QmlConsoleItem *item = new QmlConsoleItem(parent);
+ ConsoleItem *item = new ConsoleItem(parent);
if (result.type() == QVariant::Map) {
if (key.isEmpty())
item->setText(_("Object"));
@@ -1049,7 +1050,7 @@ QmlJSTools::QmlConsoleItem *constructLogItemTree(QmlJSTools::QmlConsoleItem *par
QMapIterator<QString, QVariant> i(result.toMap());
while (i.hasNext()) {
i.next();
- QmlConsoleItem *child = constructLogItemTree(item, i.value(), i.key());
+ ConsoleItem *child = constructLogItemTree(item, i.value(), i.key());
if (child)
item->insertChild(child, sorted);
}
@@ -1060,7 +1061,7 @@ QmlJSTools::QmlConsoleItem *constructLogItemTree(QmlJSTools::QmlConsoleItem *par
item->setText(QString(_("[%1] : List")).arg(key));
QVariantList resultList = result.toList();
for (int i = 0; i < resultList.count(); i++) {
- QmlConsoleItem *child = constructLogItemTree(item, resultList.at(i),
+ ConsoleItem *child = constructLogItemTree(item, resultList.at(i),
QString::number(i));
if (child)
item->insertChild(child, sorted);
@@ -1078,10 +1079,10 @@ void QmlEngine::expressionEvaluated(quint32 queryId, const QVariant &result)
{
if (queryIds.contains(queryId)) {
queryIds.removeOne(queryId);
- using namespace QmlJSTools;
- QmlConsoleManager *consoleManager = QmlConsoleManager::instance();
+ using namespace QmlJS;
+ ConsoleManagerInterface *consoleManager = qmlConsoleManager();
if (consoleManager) {
- QmlConsoleItem *item = constructLogItemTree(consoleManager->rootItem(), result);
+ ConsoleItem *item = constructLogItemTree(consoleManager->rootItem(), result);
if (item)
consoleManager->printToConsolePane(item);
}
@@ -1140,7 +1141,7 @@ void QmlEngine::updateCurrentContext()
const QString context = state() == InferiorStopOk ?
stackHandler()->currentFrame().function
: m_inspectorAdapter.currentSelectedDisplayName();
- QmlJSTools::QmlConsoleManager *consoleManager = QmlJSTools::QmlConsoleManager::instance();
+ QmlJS::ConsoleManagerInterface *consoleManager = qmlConsoleManager();
if (consoleManager)
consoleManager->setContext(tr("Context: ").append(context));
}
@@ -1148,26 +1149,26 @@ void QmlEngine::updateCurrentContext()
void QmlEngine::appendDebugOutput(QtMsgType type, const QString &message,
const QmlDebug::QDebugContextInfo &info)
{
- using namespace QmlJSTools;
- QmlConsoleItem::ItemType itemType;
+ using namespace QmlJS;
+ ConsoleItem::ItemType itemType;
switch (type) {
case QtDebugMsg:
- itemType = QmlConsoleItem::DebugType;
+ itemType = ConsoleItem::DebugType;
break;
case QtWarningMsg:
- itemType = QmlConsoleItem::WarningType;
+ itemType = ConsoleItem::WarningType;
break;
case QtCriticalMsg:
case QtFatalMsg:
- itemType = QmlConsoleItem::ErrorType;
+ itemType = ConsoleItem::ErrorType;
break;
default:
//This case is not possible
return;
}
- QmlConsoleManager *consoleManager = QmlConsoleManager::instance();
+ ConsoleManagerInterface *consoleManager = qmlConsoleManager();
if (consoleManager) {
- QmlConsoleItem *item = new QmlConsoleItem(consoleManager->rootItem(), itemType, message);
+ ConsoleItem *item = new ConsoleItem(consoleManager->rootItem(), itemType, message);
item->file = info.file;
item->line = info.line;
consoleManager->printToConsolePane(item);
@@ -1181,7 +1182,7 @@ void QmlEngine::executeDebuggerCommand(const QString &command, DebuggerLanguages
}
}
-bool QmlEngine::evaluateScriptExpression(const QString &expression)
+bool QmlEngine::evaluateScript(const QString &expression)
{
bool didEvaluate = true;
// Evaluate expression based on engine state
@@ -1194,10 +1195,10 @@ bool QmlEngine::evaluateScriptExpression(const QString &expression)
queryIds << queryId;
} else {
didEvaluate = false;
- using namespace QmlJSTools;
- QmlConsoleManager *consoleManager = QmlConsoleManager::instance();
+ using namespace QmlJS;
+ ConsoleManagerInterface *consoleManager = qmlConsoleManager();
if (consoleManager) {
- consoleManager->printToConsolePane(QmlConsoleItem::ErrorType,
+ consoleManager->printToConsolePane(ConsoleItem::ErrorType,
_("Error evaluating expression."));
}
}
@@ -1312,20 +1313,23 @@ bool QmlEngine::canEvaluateScript(const QString &script)
bool QmlEngine::adjustBreakpointLineAndColumn(
const QString &filePath, quint32 *line, quint32 *column, bool *valid)
{
- bool success = true;
+ bool success = false;
//check if file is in the latest snapshot
//ignoring documentChangedOnDisk
//TODO:: update breakpoints if document is changed.
- Document::Ptr doc = ModelManagerInterface::instance()->newestSnapshot().
- document(filePath);
- if (doc.isNull()) {
- ModelManagerInterface::instance()->updateSourceFiles(
- QStringList() << filePath, false);
- success = false;
- } else {
- ASTWalker walker;
- walker(doc->ast(), line, column);
- *valid = walker.done;
+ ModelManagerInterface *mmIface = ModelManagerInterface::instance();
+ if (mmIface) {
+ Document::Ptr doc = mmIface->newestSnapshot().
+ document(filePath);
+ if (doc.isNull()) {
+ ModelManagerInterface::instance()->updateSourceFiles(
+ QStringList() << filePath, false);
+ } else {
+ ASTWalker walker;
+ walker(doc->ast(), line, column);
+ *valid = walker.done;
+ success = true;
+ }
}
return success;
}
diff --git a/src/plugins/debugger/qml/qmlengine.h b/src/plugins/debugger/qml/qmlengine.h
index 79b9d8c491..e3f38708b9 100644
--- a/src/plugins/debugger/qml/qmlengine.h
+++ b/src/plugins/debugger/qml/qmlengine.h
@@ -39,6 +39,7 @@
#include <qmldebug/qdebugmessageclient.h>
#include <qmldebug/qmloutputparser.h>
#include <qmljs/qmljsdocument.h>
+#include <qmljs/iscriptevaluator.h>
#include <utils/outputformat.h>
#include <QAbstractSocket>
@@ -53,7 +54,7 @@ namespace Internal {
class QmlAdapter;
-class QmlEngine : public DebuggerEngine
+class QmlEngine : public DebuggerEngine, QmlJS::IScriptEvaluator
{
Q_OBJECT
@@ -161,7 +162,7 @@ private:
void updateWatchData(const WatchData &data,
const WatchUpdateFlags &flags);
void executeDebuggerCommand(const QString &command, DebuggerLanguages languages);
- bool evaluateScriptExpression(const QString &expression);
+ bool evaluateScript(const QString &expression);
bool hasCapability(unsigned) const;
void quitDebugger();
diff --git a/src/plugins/debugger/qml/qmlinspectoradapter.cpp b/src/plugins/debugger/qml/qmlinspectoradapter.cpp
index e48c3392b3..8a4f2b064a 100644
--- a/src/plugins/debugger/qml/qmlinspectoradapter.cpp
+++ b/src/plugins/debugger/qml/qmlinspectoradapter.cpp
@@ -302,40 +302,42 @@ void QmlInspectorAdapter::createPreviewForEditor(Core::IEditor *newEditor)
QString filename = newEditor->document()->fileName();
QmlJS::ModelManagerInterface *modelManager =
QmlJS::ModelManagerInterface::instance();
- QmlJS::Document::Ptr doc = modelManager->snapshot().document(filename);
- if (!doc) {
- if (filename.endsWith(QLatin1String(".qml")) || filename.endsWith(QLatin1String(".js"))) {
- // add to list of docs that we have to update when
- // snapshot figures out that there's a new document
- m_pendingPreviewDocumentNames.append(filename);
+ if (modelManager) {
+ QmlJS::Document::Ptr doc = modelManager->snapshot().document(filename);
+ if (!doc) {
+ if (filename.endsWith(QLatin1String(".qml")) || filename.endsWith(QLatin1String(".js"))) {
+ // add to list of docs that we have to update when
+ // snapshot figures out that there's a new document
+ m_pendingPreviewDocumentNames.append(filename);
+ }
+ return;
+ }
+ if (!doc->qmlProgram() && !filename.endsWith(QLatin1String(".js")))
+ return;
+
+ QmlJS::Document::Ptr initdoc = m_loadedSnapshot.document(filename);
+ if (!initdoc)
+ initdoc = doc;
+
+ if (m_textPreviews.contains(filename)) {
+ QmlLiveTextPreview *preview = m_textPreviews.value(filename);
+ preview->associateEditor(newEditor);
+ } else {
+ QmlLiveTextPreview *preview
+ = new QmlLiveTextPreview(doc, initdoc, this, this);
+ connect(preview,
+ SIGNAL(selectedItemsChanged(QList<int>)),
+ SLOT(selectObjectsFromEditor(QList<int>)));
+
+ preview->setApplyChangesToQmlInspector(
+ debuggerCore()->action(QmlUpdateOnSave)->isChecked());
+ connect(preview, SIGNAL(reloadRequest()),
+ this, SLOT(onReload()));
+
+ m_textPreviews.insert(newEditor->document()->fileName(), preview);
+ preview->associateEditor(newEditor);
+ preview->updateDebugIds();
}
- return;
- }
- if (!doc->qmlProgram() && !filename.endsWith(QLatin1String(".js")))
- return;
-
- QmlJS::Document::Ptr initdoc = m_loadedSnapshot.document(filename);
- if (!initdoc)
- initdoc = doc;
-
- if (m_textPreviews.contains(filename)) {
- QmlLiveTextPreview *preview = m_textPreviews.value(filename);
- preview->associateEditor(newEditor);
- } else {
- QmlLiveTextPreview *preview
- = new QmlLiveTextPreview(doc, initdoc, this, this);
- connect(preview,
- SIGNAL(selectedItemsChanged(QList<int>)),
- SLOT(selectObjectsFromEditor(QList<int>)));
-
- preview->setApplyChangesToQmlInspector(
- debuggerCore()->action(QmlUpdateOnSave)->isChecked());
- connect(preview, SIGNAL(reloadRequest()),
- this, SLOT(onReload()));
-
- m_textPreviews.insert(newEditor->document()->fileName(), preview);
- preview->associateEditor(newEditor);
- preview->updateDebugIds();
}
}
@@ -426,15 +428,17 @@ void QmlInspectorAdapter::setActiveEngineClient(BaseEngineDebugClient *client)
m_engineClient->status() == QmlDebug::Enabled) {
QmlJS::ModelManagerInterface *modelManager
= QmlJS::ModelManagerInterface::instance();
- QmlJS::Snapshot snapshot = modelManager->snapshot();
- for (QHash<QString, QmlLiveTextPreview *>::const_iterator it
- = m_textPreviews.constBegin();
- it != m_textPreviews.constEnd(); ++it) {
- QmlJS::Document::Ptr doc = snapshot.document(it.key());
- it.value()->resetInitialDoc(doc);
+ if (modelManager) {
+ QmlJS::Snapshot snapshot = modelManager->snapshot();
+ for (QHash<QString, QmlLiveTextPreview *>::const_iterator it
+ = m_textPreviews.constBegin();
+ it != m_textPreviews.constEnd(); ++it) {
+ QmlJS::Document::Ptr doc = snapshot.document(it.key());
+ it.value()->resetInitialDoc(doc);
+ }
+
+ initializePreviews();
}
-
- initializePreviews();
}
}
@@ -443,22 +447,24 @@ void QmlInspectorAdapter::initializePreviews()
Core::EditorManager *em = Core::EditorManager::instance();
QmlJS::ModelManagerInterface *modelManager
= QmlJS::ModelManagerInterface::instance();
- m_loadedSnapshot = modelManager->snapshot();
-
- if (!m_listeningToEditorManager) {
- m_listeningToEditorManager = true;
- connect(em, SIGNAL(editorAboutToClose(Core::IEditor*)),
- this, SLOT(removePreviewForEditor(Core::IEditor*)));
- connect(em, SIGNAL(editorOpened(Core::IEditor*)),
- this, SLOT(createPreviewForEditor(Core::IEditor*)));
- connect(modelManager,
- SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
- this, SLOT(updatePendingPreviewDocuments(QmlJS::Document::Ptr)));
- }
+ if (modelManager) {
+ m_loadedSnapshot = modelManager->snapshot();
+
+ if (!m_listeningToEditorManager) {
+ m_listeningToEditorManager = true;
+ connect(em, SIGNAL(editorAboutToClose(Core::IEditor*)),
+ this, SLOT(removePreviewForEditor(Core::IEditor*)));
+ connect(em, SIGNAL(editorOpened(Core::IEditor*)),
+ this, SLOT(createPreviewForEditor(Core::IEditor*)));
+ connect(modelManager,
+ SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
+ this, SLOT(updatePendingPreviewDocuments(QmlJS::Document::Ptr)));
+ }
- // initial update
- foreach (Core::IEditor *editor, em->openedEditors())
- createPreviewForEditor(editor);
+ // initial update
+ foreach (Core::IEditor *editor, em->openedEditors())
+ createPreviewForEditor(editor);
+ }
}
void QmlInspectorAdapter::showConnectionStatusMessage(const QString &message)
@@ -542,13 +548,15 @@ void QmlInspectorAdapter::onReloaded()
{
QmlJS::ModelManagerInterface *modelManager =
QmlJS::ModelManagerInterface::instance();
- QmlJS::Snapshot snapshot = modelManager->snapshot();
- m_loadedSnapshot = snapshot;
- for (QHash<QString, QmlLiveTextPreview *>::const_iterator it
- = m_textPreviews.constBegin();
- it != m_textPreviews.constEnd(); ++it) {
- QmlJS::Document::Ptr doc = snapshot.document(it.key());
- it.value()->resetInitialDoc(doc);
+ if (modelManager) {
+ QmlJS::Snapshot snapshot = modelManager->snapshot();
+ m_loadedSnapshot = snapshot;
+ for (QHash<QString, QmlLiveTextPreview *>::const_iterator it
+ = m_textPreviews.constBegin();
+ it != m_textPreviews.constEnd(); ++it) {
+ QmlJS::Document::Ptr doc = snapshot.document(it.key());
+ it.value()->resetInitialDoc(doc);
+ }
}
m_agent->reloadEngines();
}
diff --git a/src/plugins/debugger/qml/qmllivetextpreview.cpp b/src/plugins/debugger/qml/qmllivetextpreview.cpp
index 0eb5497e73..b7e5a3ba04 100644
--- a/src/plugins/debugger/qml/qmllivetextpreview.cpp
+++ b/src/plugins/debugger/qml/qmllivetextpreview.cpp
@@ -363,10 +363,10 @@ QmlLiveTextPreview::QmlLiveTextPreview(const QmlJS::Document::Ptr &doc,
QmlJS::ModelManagerInterface *modelManager
= QmlJS::ModelManagerInterface::instance();
-
- connect(modelManager, SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
- SLOT(documentChanged(QmlJS::Document::Ptr)));
-
+ if (modelManager) {
+ connect(modelManager, SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
+ SLOT(documentChanged(QmlJS::Document::Ptr)));
+ }
connect(m_inspectorAdapter->agent(), SIGNAL(objectTreeUpdated()),
SLOT(updateDebugIds()));
connect(this,
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
index bafc4778ba..dc4690ada0 100644
--- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
+++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
@@ -43,8 +43,8 @@
#include <coreplugin/editormanager/editormanager.h>
#include <texteditor/basetexteditor.h>
-#include <qmljstools/qmlconsoleitem.h>
-#include <qmljstools/qmlconsolemanager.h>
+#include <qmljs/consolemanagerinterface.h>
+#include <qmljs/consoleitem.h>
#include <QTextBlock>
#include <QVariant>
@@ -1748,11 +1748,11 @@ void QmlV8DebuggerClient::updateScope(const QVariant &bodyVal, const QVariant &r
d->engine->watchHandler()->insertData(locals);
}
-QmlJSTools::QmlConsoleItem *constructLogItemTree(QmlJSTools::QmlConsoleItem *parent,
+QmlJS::ConsoleItem *constructLogItemTree(QmlJS::ConsoleItem *parent,
const QmlV8ObjectData &objectData,
const QVariant &refsVal)
{
- using namespace QmlJSTools;
+ using namespace QmlJS;
bool sorted = debuggerCore()->boolSetting(SortStructMembers);
if (!objectData.value.isValid())
return 0;
@@ -1764,10 +1764,10 @@ QmlJSTools::QmlConsoleItem *constructLogItemTree(QmlJSTools::QmlConsoleItem *par
text = QString(_("%1: %2")).arg(QString::fromAscii(objectData.name))
.arg(objectData.value.toString());
- QmlConsoleItem *item = new QmlConsoleItem(parent, QmlConsoleItem::UndefinedType, text);
+ ConsoleItem *item = new ConsoleItem(parent, ConsoleItem::UndefinedType, text);
foreach (const QVariant &property, objectData.properties) {
- QmlConsoleItem *child = constructLogItemTree(item, extractData(property, refsVal),
+ ConsoleItem *child = constructLogItemTree(item, extractData(property, refsVal),
refsVal);
if (child)
item->insertChild(child, sorted);
@@ -1802,10 +1802,10 @@ void QmlV8DebuggerClient::updateEvaluationResult(int sequence, bool success,
} else if (d->debuggerCommands.contains(sequence)) {
d->updateLocalsAndWatchers.removeOne(sequence);
QmlV8ObjectData body = extractData(bodyVal, refsVal);
- using namespace QmlJSTools;
- QmlConsoleManager *consoleManager = QmlConsoleManager::instance();
+ using namespace QmlJS;
+ ConsoleManagerInterface *consoleManager = ConsoleManagerInterface::instance();
if (consoleManager) {
- QmlConsoleItem *item = constructLogItemTree(consoleManager->rootItem(), body, refsVal);
+ ConsoleItem *item = constructLogItemTree(consoleManager->rootItem(), body, refsVal);
if (item)
consoleManager->printToConsolePane(item);
}
diff --git a/src/plugins/qmljstools/qmlconsoleedit.cpp b/src/plugins/qmljstools/qmlconsoleedit.cpp
index be4d99c82b..e53297b8c3 100644
--- a/src/plugins/qmljstools/qmlconsoleedit.cpp
+++ b/src/plugins/qmljstools/qmlconsoleedit.cpp
@@ -37,6 +37,8 @@
#include <QMenu>
#include <QKeyEvent>
+using namespace QmlJS;
+
namespace QmlJSTools {
namespace Internal {
@@ -207,7 +209,7 @@ void QmlConsoleEdit::handleUpKey()
currentRow--;
if (model->hasIndex(currentRow, 0)) {
QModelIndex index = model->index(currentRow, 0);
- if (QmlConsoleItem::InputType == (QmlConsoleItem::ItemType)model->data(
+ if (ConsoleItem::InputType == (ConsoleItem::ItemType)model->data(
index, QmlConsoleItemModel::TypeRole).toInt()) {
m_historyIndex = index;
replaceCurrentScript(model->data(index, Qt::DisplayRole).toString());
@@ -226,7 +228,7 @@ void QmlConsoleEdit::handleDownKey()
currentRow++;
if (model->hasIndex(currentRow, 0)) {
QModelIndex index = model->index(currentRow, 0);
- if (QmlConsoleItem::InputType == (QmlConsoleItem::ItemType)model->data(
+ if (ConsoleItem::InputType == (ConsoleItem::ItemType)model->data(
index, QmlConsoleItemModel::TypeRole).toInt()) {
m_historyIndex = index;
if (currentRow == model->rowCount() - 1)
diff --git a/src/plugins/qmljstools/qmlconsoleitemdelegate.cpp b/src/plugins/qmljstools/qmlconsoleitemdelegate.cpp
index f1e6ba825d..e82a4a8d95 100644
--- a/src/plugins/qmljstools/qmlconsoleitemdelegate.cpp
+++ b/src/plugins/qmljstools/qmlconsoleitemdelegate.cpp
@@ -53,6 +53,8 @@ const char CONSOLE_BORDER_COLOR[] = "#C9C9C9";
const int ELLIPSIS_GRADIENT_WIDTH = 16;
+using namespace QmlJS;
+
namespace QmlJSTools {
namespace Internal {
@@ -84,23 +86,23 @@ QColor QmlConsoleItemDelegate::drawBackground(QPainter *painter, const QRect &re
bool selected) const
{
painter->save();
- QmlConsoleItem::ItemType itemType = (QmlConsoleItem::ItemType)index.data(
+ ConsoleItem::ItemType itemType = (ConsoleItem::ItemType)index.data(
QmlConsoleItemModel::TypeRole).toInt();
QColor backgroundColor;
switch (itemType) {
- case QmlConsoleItem::DebugType:
+ case ConsoleItem::DebugType:
backgroundColor = selected ? QColor(CONSOLE_LOG_BACKGROUND_SELECTED_COLOR) :
QColor(CONSOLE_LOG_BACKGROUND_COLOR);
break;
- case QmlConsoleItem::WarningType:
+ case ConsoleItem::WarningType:
backgroundColor = selected ? QColor(CONSOLE_WARNING_BACKGROUND_SELECTED_COLOR) :
QColor(CONSOLE_WARNING_BACKGROUND_COLOR);
break;
- case QmlConsoleItem::ErrorType:
+ case ConsoleItem::ErrorType:
backgroundColor = selected ? QColor(CONSOLE_ERROR_BACKGROUND_SELECTED_COLOR) :
QColor(CONSOLE_ERROR_BACKGROUND_COLOR);
break;
- case QmlConsoleItem::InputType:
+ case ConsoleItem::InputType:
default:
backgroundColor = selected ? QColor(CONSOLE_EDITOR_BACKGROUND_SELECTED_COLOR) :
QColor(CONSOLE_EDITOR_BACKGROUND_COLOR);
@@ -130,22 +132,22 @@ void QmlConsoleItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
// Set Colors
QColor textColor;
QIcon taskIcon;
- QmlConsoleItem::ItemType type = (QmlConsoleItem::ItemType)index.data(
+ ConsoleItem::ItemType type = (ConsoleItem::ItemType)index.data(
QmlConsoleItemModel::TypeRole).toInt();
switch (type) {
- case QmlConsoleItem::DebugType:
+ case ConsoleItem::DebugType:
textColor = QColor(CONSOLE_LOG_TEXT_COLOR);
taskIcon = m_logIcon;
break;
- case QmlConsoleItem::WarningType:
+ case ConsoleItem::WarningType:
textColor = QColor(CONSOLE_WARNING_TEXT_COLOR);
taskIcon = m_warningIcon;
break;
- case QmlConsoleItem::ErrorType:
+ case ConsoleItem::ErrorType:
textColor = QColor(CONSOLE_ERROR_TEXT_COLOR);
taskIcon = m_errorIcon;
break;
- case QmlConsoleItem::InputType:
+ case ConsoleItem::InputType:
textColor = QColor(CONSOLE_EDITOR_TEXT_COLOR);
taskIcon = m_prompt;
break;
@@ -168,7 +170,7 @@ void QmlConsoleItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem
}
int width = view->width() - level * view->indentation() - view->verticalScrollBar()->width();
bool showTypeIcon = index.parent() == QModelIndex();
- bool showExpandableIcon = type == QmlConsoleItem::UndefinedType;
+ bool showExpandableIcon = type == ConsoleItem::UndefinedType;
QRect rect(opt.rect.x(), opt.rect.top(), width, opt.rect.height());
ConsoleItemPositions positions(rect, opt.font, showTypeIcon, showExpandableIcon);
@@ -266,10 +268,10 @@ QSize QmlConsoleItemDelegate::sizeHint(const QStyleOptionViewItem &option,
if (!selected && option.font == m_cachedFont && m_cachedHeight > 0)
return QSize(width, m_cachedHeight);
- QmlConsoleItem::ItemType type = (QmlConsoleItem::ItemType)index.data(
+ ConsoleItem::ItemType type = (ConsoleItem::ItemType)index.data(
QmlConsoleItemModel::TypeRole).toInt();
bool showTypeIcon = index.parent() == QModelIndex();
- bool showExpandableIcon = type == QmlConsoleItem::UndefinedType;
+ bool showExpandableIcon = type == ConsoleItem::UndefinedType;
QRect rect(level * view->indentation(), 0, width, 0);
ConsoleItemPositions positions(rect, opt.font, showTypeIcon, showExpandableIcon);
@@ -320,7 +322,7 @@ void QmlConsoleItemDelegate::setModelData(QWidget *editor,
{
QmlConsoleEdit *edtr = qobject_cast<QmlConsoleEdit *>(editor);
model->setData(index, edtr->getCurrentScript(), Qt::DisplayRole);
- model->setData(index, QmlConsoleItem::InputType, QmlConsoleItemModel::TypeRole);
+ model->setData(index, ConsoleItem::InputType, QmlConsoleItemModel::TypeRole);
}
void QmlConsoleItemDelegate::updateEditorGeometry(QWidget *editor,
diff --git a/src/plugins/qmljstools/qmlconsoleitemmodel.cpp b/src/plugins/qmljstools/qmlconsoleitemmodel.cpp
index 71b546be47..9bf121cf20 100644
--- a/src/plugins/qmljstools/qmlconsoleitemmodel.cpp
+++ b/src/plugins/qmljstools/qmlconsoleitemmodel.cpp
@@ -33,6 +33,8 @@
#include <QFontMetrics>
+using namespace QmlJS;
+
namespace QmlJSTools {
namespace Internal {
@@ -45,7 +47,7 @@ namespace Internal {
QmlConsoleItemModel::QmlConsoleItemModel(QObject *parent) :
QAbstractItemModel(parent),
m_hasEditableRow(false),
- m_rootItem(new QmlConsoleItem(0)),
+ m_rootItem(new ConsoleItem(0)),
m_maxSizeOfFileName(0)
{
}
@@ -60,14 +62,14 @@ void QmlConsoleItemModel::clear()
beginResetModel();
reset();
delete m_rootItem;
- m_rootItem = new QmlConsoleItem(0);
+ m_rootItem = new ConsoleItem(0);
endResetModel();
if (m_hasEditableRow)
appendEditableRow();
}
-bool QmlConsoleItemModel::appendItem(QmlConsoleItem *item, int position)
+bool QmlConsoleItemModel::appendItem(ConsoleItem *item, int position)
{
if (position < 0)
position = m_rootItem->childCount() - 1;
@@ -82,10 +84,10 @@ bool QmlConsoleItemModel::appendItem(QmlConsoleItem *item, int position)
return success;
}
-bool QmlConsoleItemModel::appendMessage(QmlConsoleItem::ItemType itemType,
+bool QmlConsoleItemModel::appendMessage(ConsoleItem::ItemType itemType,
const QString &message, int position)
{
- return appendItem(new QmlConsoleItem(m_rootItem, itemType, message), position);
+ return appendItem(new ConsoleItem(m_rootItem, itemType, message), position);
}
void QmlConsoleItemModel::setHasEditableRow(bool hasEditableRow)
@@ -107,13 +109,13 @@ bool QmlConsoleItemModel::hasEditableRow() const
void QmlConsoleItemModel::appendEditableRow()
{
int position = m_rootItem->childCount();
- if (appendItem(new QmlConsoleItem(m_rootItem, QmlConsoleItem::InputType), position))
+ if (appendItem(new ConsoleItem(m_rootItem, ConsoleItem::InputType), position))
emit selectEditableRow(index(position, 0), QItemSelectionModel::ClearAndSelect);
}
void QmlConsoleItemModel::removeEditableRow()
{
- if (m_rootItem->child(m_rootItem->childCount() - 1)->itemType == QmlConsoleItem::InputType)
+ if (m_rootItem->child(m_rootItem->childCount() - 1)->itemType == ConsoleItem::InputType)
removeRow(m_rootItem->childCount() - 1);
}
@@ -148,7 +150,7 @@ QVariant QmlConsoleItemModel::data(const QModelIndex &index, int role) const
if (!index.isValid())
return QVariant();
- QmlConsoleItem *item = getItem(index);
+ ConsoleItem *item = getItem(index);
if (role == Qt::DisplayRole )
return item->text();
@@ -170,9 +172,9 @@ QModelIndex QmlConsoleItemModel::index(int row, int column, const QModelIndex &p
if (column > 0)
return QModelIndex();
- QmlConsoleItem *parentItem = getItem(parent);
+ ConsoleItem *parentItem = getItem(parent);
- QmlConsoleItem *childItem = parentItem->child(row);
+ ConsoleItem *childItem = parentItem->child(row);
if (childItem)
return createIndex(row, column, childItem);
else
@@ -184,8 +186,8 @@ QModelIndex QmlConsoleItemModel::parent(const QModelIndex &index) const
if (!index.isValid())
return QModelIndex();
- QmlConsoleItem *childItem = getItem(index);
- QmlConsoleItem *parentItem = childItem->parent();
+ ConsoleItem *childItem = getItem(index);
+ ConsoleItem *parentItem = childItem->parent();
if (parentItem == m_rootItem)
return QModelIndex();
@@ -197,7 +199,7 @@ QModelIndex QmlConsoleItemModel::parent(const QModelIndex &index) const
int QmlConsoleItemModel::rowCount(const QModelIndex &parent) const
{
- QmlConsoleItem *parentItem = getItem(parent);
+ ConsoleItem *parentItem = getItem(parent);
return parentItem->childCount();
}
@@ -212,7 +214,7 @@ Qt::ItemFlags QmlConsoleItemModel::flags(const QModelIndex &index) const
if (!index.isValid())
return 0;
- QmlConsoleItem *item = getItem(index);
+ ConsoleItem *item = getItem(index);
if (m_hasEditableRow && item->parent() == m_rootItem
&& index.row() == m_rootItem->childCount() - 1)
return Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsSelectable;
@@ -221,13 +223,13 @@ Qt::ItemFlags QmlConsoleItemModel::flags(const QModelIndex &index) const
bool QmlConsoleItemModel::setData(const QModelIndex &index, const QVariant &value, int role)
{
- QmlConsoleItem *item = getItem(index);
+ ConsoleItem *item = getItem(index);
bool result = false;
if (role == Qt::DisplayRole) {
item->setText(value.toString());
result = true;
} else if (role == QmlConsoleItemModel::TypeRole) {
- item->itemType = (QmlConsoleItem::ItemType)value.toInt();
+ item->itemType = (ConsoleItem::ItemType)value.toInt();
result = true;
} else if (role == QmlConsoleItemModel::FileRole) {
item->file = value.toString();
@@ -245,7 +247,7 @@ bool QmlConsoleItemModel::setData(const QModelIndex &index, const QVariant &valu
bool QmlConsoleItemModel::insertRows(int position, int rows, const QModelIndex &parent)
{
- QmlConsoleItem *parentItem = getItem(parent);
+ ConsoleItem *parentItem = getItem(parent);
bool success;
beginInsertRows(parent, position, position + rows - 1);
@@ -257,7 +259,7 @@ bool QmlConsoleItemModel::insertRows(int position, int rows, const QModelIndex &
bool QmlConsoleItemModel::removeRows(int position, int rows, const QModelIndex &parent)
{
- QmlConsoleItem *parentItem = getItem(parent);
+ ConsoleItem *parentItem = getItem(parent);
bool success = true;
beginRemoveRows(parent, position, position + rows - 1);
@@ -267,10 +269,10 @@ bool QmlConsoleItemModel::removeRows(int position, int rows, const QModelIndex &
return success;
}
-QmlConsoleItem *QmlConsoleItemModel::getItem(const QModelIndex &index) const
+ConsoleItem *QmlConsoleItemModel::getItem(const QModelIndex &index) const
{
if (index.isValid()) {
- QmlConsoleItem *item = static_cast<QmlConsoleItem*>(index.internalPointer());
+ ConsoleItem *item = static_cast<ConsoleItem*>(index.internalPointer());
if (item)
return item;
}
diff --git a/src/plugins/qmljstools/qmlconsoleitemmodel.h b/src/plugins/qmljstools/qmlconsoleitemmodel.h
index cde2f7ca78..02216311fe 100644
--- a/src/plugins/qmljstools/qmlconsoleitemmodel.h
+++ b/src/plugins/qmljstools/qmlconsoleitemmodel.h
@@ -30,7 +30,7 @@
#ifndef QMLCONSOLEITEMMODEL_H
#define QMLCONSOLEITEMMODEL_H
-#include "qmlconsoleitem.h"
+#include <qmljs/consoleitem.h>
#include <QAbstractItemModel>
#include <QItemSelectionModel>
@@ -53,8 +53,8 @@ public:
void appendEditableRow();
void removeEditableRow();
- bool appendItem(QmlConsoleItem *item, int position = -1);
- bool appendMessage(QmlConsoleItem::ItemType itemType, const QString &message,
+ bool appendItem(QmlJS::ConsoleItem *item, int position = -1);
+ bool appendMessage(QmlJS::ConsoleItem::ItemType itemType, const QString &message,
int position = -1);
QAbstractItemModel *model() { return this; }
@@ -64,7 +64,7 @@ public:
int sizeOfFile(const QFont &font);
int sizeOfLineNumber(const QFont &font);
- QmlConsoleItem *root() const { return m_rootItem; }
+ QmlJS::ConsoleItem *root() const { return m_rootItem; }
public slots:
void clear();
@@ -88,11 +88,11 @@ protected:
bool insertRows(int position, int rows, const QModelIndex &parent = QModelIndex());
bool removeRows(int position, int rows, const QModelIndex &parent = QModelIndex());
- QmlConsoleItem *getItem(const QModelIndex &index) const;
+ QmlJS::ConsoleItem *getItem(const QModelIndex &index) const;
private:
bool m_hasEditableRow;
- QmlConsoleItem *m_rootItem;
+ QmlJS::ConsoleItem *m_rootItem;
int m_maxSizeOfFileName;
};
diff --git a/src/plugins/qmljstools/qmlconsolemanager.cpp b/src/plugins/qmljstools/qmlconsolemanager.cpp
index 8b24e9cf0f..714192c3f8 100644
--- a/src/plugins/qmljstools/qmlconsolemanager.cpp
+++ b/src/plugins/qmljstools/qmlconsolemanager.cpp
@@ -33,14 +33,14 @@
#include <extensionsystem/pluginmanager.h>
-#include <debugger/debuggerengine.h>
+#include <qmljs/iscriptevaluator.h>
#include <QScriptEngine>
#include <QVariant>
-namespace QmlJSTools {
+using namespace QmlJS;
-QmlConsoleManager *QmlConsoleManager::m_instance = 0;
+namespace QmlJSTools {
class QmlConsoleManagerPrivate
{
@@ -48,29 +48,26 @@ public:
QScriptEngine *scriptEngine;
Internal::QmlConsoleItemModel *qmlConsoleItemModel;
Internal::QmlConsolePane *qmlConsolePane;
- Debugger::DebuggerEngine *debuggerEngine;
+ QmlJS::IScriptEvaluator *scriptEvaluator;
};
QmlConsoleManager::QmlConsoleManager(QObject *parent)
- : QObject(parent),
+ : ConsoleManagerInterface(parent),
d(new QmlConsoleManagerPrivate)
{
- m_instance = this;
d->scriptEngine = new QScriptEngine(this);
d->qmlConsoleItemModel = new Internal::QmlConsoleItemModel(this);
d->qmlConsoleItemModel->setHasEditableRow(true);
d->qmlConsolePane = new Internal::QmlConsolePane(this);
+ d->scriptEvaluator = 0;
ExtensionSystem::PluginManager::addObject(d->qmlConsolePane);
- d->debuggerEngine = 0;
}
QmlConsoleManager::~QmlConsoleManager()
{
- if (d->qmlConsolePane) {
+ if (d->qmlConsolePane)
ExtensionSystem::PluginManager::removeObject(d->qmlConsolePane);
- }
delete d;
- m_instance = 0;
}
void QmlConsoleManager::showConsolePane()
@@ -79,15 +76,15 @@ void QmlConsoleManager::showConsolePane()
d->qmlConsolePane->popup(Core::IOutputPane::ModeSwitch);
}
-QmlConsoleItem *QmlConsoleManager::rootItem() const
+ConsoleItem *QmlConsoleManager::rootItem() const
{
return d->qmlConsoleItemModel->root();
}
-void QmlConsoleManager::setDebuggerEngine(Debugger::DebuggerEngine *debuggerEngine)
+void QmlConsoleManager::setScriptEvaluator(QmlJS::IScriptEvaluator *scriptEvaluator)
{
- d->debuggerEngine = debuggerEngine;
- if (!debuggerEngine)
+ d->scriptEvaluator = scriptEvaluator;
+ if (!scriptEvaluator)
setContext(QString());
}
@@ -96,23 +93,23 @@ void QmlConsoleManager::setContext(const QString &context)
d->qmlConsolePane->setContext(context);
}
-void QmlConsoleManager::printToConsolePane(QmlConsoleItem::ItemType itemType,
+void QmlConsoleManager::printToConsolePane(ConsoleItem::ItemType itemType,
const QString &text, bool bringToForeground)
{
if (!d->qmlConsolePane)
return;
- if (itemType == QmlConsoleItem::ErrorType)
+ if (itemType == ConsoleItem::ErrorType)
bringToForeground = true;
if (bringToForeground)
d->qmlConsolePane->popup(Core::IOutputPane::ModeSwitch);
d->qmlConsoleItemModel->appendMessage(itemType, text);
}
-void QmlConsoleManager::printToConsolePane(QmlConsoleItem *item, bool bringToForeground)
+void QmlConsoleManager::printToConsolePane(ConsoleItem *item, bool bringToForeground)
{
if (!d->qmlConsolePane)
return;
- if (item->itemType == QmlConsoleItem::ErrorType)
+ if (item->itemType == ConsoleItem::ErrorType)
bringToForeground = true;
if (bringToForeground)
d->qmlConsolePane->popup(Core::IOutputPane::ModeSwitch);
@@ -121,13 +118,13 @@ void QmlConsoleManager::printToConsolePane(QmlConsoleItem *item, bool bringToFor
namespace Internal {
-QmlConsoleItem *constructLogItemTree(QmlConsoleItem *parent, const QVariant &result,
+ConsoleItem *constructLogItemTree(ConsoleItem *parent, const QVariant &result,
const QString &key = QString())
{
if (!result.isValid())
return 0;
- QmlConsoleItem *item = new QmlConsoleItem(parent);
+ ConsoleItem *item = new ConsoleItem(parent);
if (result.type() == QVariant::Map) {
if (key.isEmpty())
item->setText(QLatin1String("Object"));
@@ -137,7 +134,7 @@ QmlConsoleItem *constructLogItemTree(QmlConsoleItem *parent, const QVariant &res
QMapIterator<QString, QVariant> i(result.toMap());
while (i.hasNext()) {
i.next();
- QmlConsoleItem *child = constructLogItemTree(item, i.value(), i.key());
+ ConsoleItem *child = constructLogItemTree(item, i.value(), i.key());
if (child)
item->insertChild(child, true);
}
@@ -148,7 +145,7 @@ QmlConsoleItem *constructLogItemTree(QmlConsoleItem *parent, const QVariant &res
item->setText(QString(QLatin1String("[%1] : List")).arg(key));
QVariantList resultList = result.toList();
for (int i = 0; i < resultList.count(); i++) {
- QmlConsoleItem *child = constructLogItemTree(item, resultList.at(i),
+ ConsoleItem *child = constructLogItemTree(item, resultList.at(i),
QString::number(i));
if (child)
item->insertChild(child, true);
@@ -164,7 +161,7 @@ QmlConsoleItem *constructLogItemTree(QmlConsoleItem *parent, const QVariant &res
QmlConsoleItemModel *QmlConsoleModel::qmlConsoleItemModel()
{
- QmlConsoleManager *manager = QmlConsoleManager::instance();
+ QmlConsoleManager *manager = qobject_cast<QmlConsoleManager *>(QmlConsoleManager::instance());
if (manager)
return manager->d->qmlConsoleItemModel;
return 0;
@@ -172,15 +169,15 @@ QmlConsoleItemModel *QmlConsoleModel::qmlConsoleItemModel()
void QmlConsoleModel::evaluate(const QString &expression)
{
- QmlConsoleManager *manager = QmlConsoleManager::instance();
+ QmlConsoleManager *manager = qobject_cast<QmlConsoleManager *>(QmlConsoleManager::instance());
if (manager) {
- if (manager->d->debuggerEngine) {
+ if (manager->d->scriptEvaluator) {
QmlConsoleModel::qmlConsoleItemModel()->appendEditableRow();
- manager->d->debuggerEngine->evaluateScriptExpression(expression);
+ manager->d->scriptEvaluator->evaluateScript(expression);
} else {
QVariant result = manager->d->scriptEngine->evaluate(expression).toVariant();
- QmlConsoleItem *root = manager->rootItem();
- QmlConsoleItem *item = constructLogItemTree(root, result);
+ ConsoleItem *root = manager->rootItem();
+ ConsoleItem *item = constructLogItemTree(root, result);
if (item) {
QmlConsoleModel::qmlConsoleItemModel()->appendEditableRow();
manager->printToConsolePane(item);
diff --git a/src/plugins/qmljstools/qmlconsolemanager.h b/src/plugins/qmljstools/qmlconsolemanager.h
index 0a537be326..57764655f2 100644
--- a/src/plugins/qmljstools/qmlconsolemanager.h
+++ b/src/plugins/qmljstools/qmlconsolemanager.h
@@ -31,12 +31,13 @@
#define QMLCONSOLEMANAGER_H
#include "qmljstools_global.h"
-#include "qmlconsoleitem.h"
+
+#include <qmljs/consolemanagerinterface.h>
#include <QObject>
-namespace Debugger {
-class DebuggerEngine;
+namespace QmlJS {
+class IScriptEvaluator;
}
namespace QmlJSTools {
@@ -46,29 +47,26 @@ class QmlConsoleModel;
}
class QmlConsoleManagerPrivate;
-class QMLJSTOOLS_EXPORT QmlConsoleManager : public QObject
+class QMLJSTOOLS_EXPORT QmlConsoleManager : public QmlJS::ConsoleManagerInterface
{
Q_OBJECT
public:
QmlConsoleManager(QObject *parent);
~QmlConsoleManager();
- static QmlConsoleManager *instance() { return m_instance; }
-
void showConsolePane();
- QmlConsoleItem *rootItem() const;
+ QmlJS::ConsoleItem *rootItem() const;
- void setDebuggerEngine(Debugger::DebuggerEngine *debuggerEngine);
+ void setScriptEvaluator(QmlJS::IScriptEvaluator *scriptEvaluator);
void setContext(const QString &context);
- void printToConsolePane(QmlConsoleItem::ItemType itemType, const QString &text,
+ void printToConsolePane(QmlJS::ConsoleItem::ItemType itemType, const QString &text,
bool bringToForeground = false);
- void printToConsolePane(QmlConsoleItem *item, bool bringToForeground = false);
+ void printToConsolePane(QmlJS::ConsoleItem *item, bool bringToForeground = false);
private:
QmlConsoleManagerPrivate *d;
- static QmlConsoleManager *m_instance;
friend class Internal::QmlConsoleModel;
};
diff --git a/src/plugins/qmljstools/qmlconsoleproxymodel.cpp b/src/plugins/qmljstools/qmlconsoleproxymodel.cpp
index cc1b4f5d4d..2fbd2ca843 100644
--- a/src/plugins/qmljstools/qmlconsoleproxymodel.cpp
+++ b/src/plugins/qmljstools/qmlconsoleproxymodel.cpp
@@ -30,31 +30,33 @@
#include "qmlconsoleproxymodel.h"
#include "qmlconsoleitemmodel.h"
+using namespace QmlJS;
+
namespace QmlJSTools {
namespace Internal {
QmlConsoleProxyModel::QmlConsoleProxyModel(QObject *parent) :
QSortFilterProxyModel(parent),
- m_filter(QmlConsoleItem::DefaultTypes)
+ m_filter(ConsoleItem::DefaultTypes)
{
}
void QmlConsoleProxyModel::setShowLogs(bool show)
{
- m_filter = show ? m_filter | QmlConsoleItem::DebugType : m_filter & ~QmlConsoleItem::DebugType;
+ m_filter = show ? m_filter | ConsoleItem::DebugType : m_filter & ~ConsoleItem::DebugType;
setFilterRegExp(QString());
}
void QmlConsoleProxyModel::setShowWarnings(bool show)
{
- m_filter = show ? m_filter | QmlConsoleItem::WarningType
- : m_filter & ~QmlConsoleItem::WarningType;
+ m_filter = show ? m_filter | ConsoleItem::WarningType
+ : m_filter & ~ConsoleItem::WarningType;
setFilterRegExp(QString());
}
void QmlConsoleProxyModel::setShowErrors(bool show)
{
- m_filter = show ? m_filter | QmlConsoleItem::ErrorType : m_filter & ~QmlConsoleItem::ErrorType;
+ m_filter = show ? m_filter | ConsoleItem::ErrorType : m_filter & ~ConsoleItem::ErrorType;
setFilterRegExp(QString());
}
@@ -68,7 +70,7 @@ bool QmlConsoleProxyModel::filterAcceptsRow(int sourceRow,
const QModelIndex &sourceParent) const
{
QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent);
- return m_filter.testFlag((QmlConsoleItem::ItemType)sourceModel()->data(
+ return m_filter.testFlag((ConsoleItem::ItemType)sourceModel()->data(
index, QmlConsoleItemModel::TypeRole).toInt());
}
diff --git a/src/plugins/qmljstools/qmlconsoleproxymodel.h b/src/plugins/qmljstools/qmlconsoleproxymodel.h
index ac7fd72bcb..a96a20020c 100644
--- a/src/plugins/qmljstools/qmlconsoleproxymodel.h
+++ b/src/plugins/qmljstools/qmlconsoleproxymodel.h
@@ -30,7 +30,7 @@
#ifndef QMLCONSOLEPROXYMODEL_H
#define QMLCONSOLEPROXYMODEL_H
-#include "qmlconsoleitem.h"
+#include <qmljs/consoleitem.h>
#include <QSortFilterProxyModel>
#include <QItemSelectionModel>
@@ -61,7 +61,7 @@ protected:
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
private:
- QFlags<QmlConsoleItem::ItemType> m_filter;
+ QFlags<QmlJS::ConsoleItem::ItemType> m_filter;
};
} // Internal
diff --git a/src/plugins/qmljstools/qmlconsoleview.cpp b/src/plugins/qmljstools/qmlconsoleview.cpp
index e0eebae43d..8d16d9c77f 100644
--- a/src/plugins/qmljstools/qmlconsoleview.cpp
+++ b/src/plugins/qmljstools/qmlconsoleview.cpp
@@ -43,6 +43,8 @@
#include <QUrl>
#include <QScrollBar>
+using namespace QmlJS;
+
namespace QmlJSTools {
namespace Internal {
@@ -117,10 +119,10 @@ void QmlConsoleView::mousePressEvent(QMouseEvent *event)
QPoint pos = event->pos();
QModelIndex index = indexAt(pos);
if (index.isValid()) {
- QmlConsoleItem::ItemType type = (QmlConsoleItem::ItemType)index.data(
+ ConsoleItem::ItemType type = (ConsoleItem::ItemType)index.data(
QmlConsoleItemModel::TypeRole).toInt();
bool handled = false;
- if (type == QmlConsoleItem::UndefinedType) {
+ if (type == ConsoleItem::UndefinedType) {
bool showTypeIcon = index.parent() == QModelIndex();
ConsoleItemPositions positions(visualRect(index), viewOptions().font, showTypeIcon,
true);
diff --git a/src/plugins/qmljstools/qmljstools.pro b/src/plugins/qmljstools/qmljstools.pro
index 9313110d88..22c131e2ff 100644
--- a/src/plugins/qmljstools/qmljstools.pro
+++ b/src/plugins/qmljstools/qmljstools.pro
@@ -30,7 +30,6 @@ HEADERS += \
$$PWD/qmljssemanticinfo.h \
$$PWD/qmljstools_global.h \
$$PWD/qmlconsolemanager.h \
- $$PWD/qmlconsoleitem.h \
$$PWD/qmlconsoleitemmodel.h \
$$PWD/qmlconsolepane.h \
$$PWD/qmlconsoleview.h \
@@ -54,7 +53,6 @@ SOURCES += \
$$PWD/qmljsfindexportedcpptypes.cpp \
$$PWD/qmljssemanticinfo.cpp \
$$PWD/qmlconsolemanager.cpp \
- $$PWD/qmlconsoleitem.cpp \
$$PWD/qmlconsoleitemmodel.cpp \
$$PWD/qmlconsolepane.cpp \
$$PWD/qmlconsoleview.cpp \
diff --git a/src/plugins/qmljstools/qmljstools.qbs b/src/plugins/qmljstools/qmljstools.qbs
index 10fddf7865..3f6ee557ab 100644
--- a/src/plugins/qmljstools/qmljstools.qbs
+++ b/src/plugins/qmljstools/qmljstools.qbs
@@ -55,8 +55,6 @@ QtcPlugin {
"qmljstoolssettings.h",
"qmlconsolemanager.cpp",
"qmlconsolemanager.h",
- "qmlconsoleitem.cpp",
- "qmlconsoleitem.h",
"qmlconsoleitemmodel.cpp",
"qmlconsoleitemmodel.h",
"qmlconsolepane.cpp",