diff options
Diffstat (limited to 'src/plugins/debugger/qml/qmlcppengine.cpp')
-rw-r--r-- | src/plugins/debugger/qml/qmlcppengine.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp index 2ee94881b6..890789fe86 100644 --- a/src/plugins/debugger/qml/qmlcppengine.cpp +++ b/src/plugins/debugger/qml/qmlcppengine.cpp @@ -40,6 +40,9 @@ #include <coreplugin/icore.h> #include <utils/qtcassert.h> +#include <texteditor/itexteditor.h> +#include <qmljseditor/qmljseditorconstants.h> +#include <cppeditor/cppeditorconstants.h> #include <QTimer> #include <QMainWindow> @@ -127,10 +130,20 @@ QmlCppEngine::~QmlCppEngine() delete d; } +bool QmlCppEngine::canDisplayTooltip() const +{ + return d->m_cppEngine->canDisplayTooltip() || d->m_qmlEngine->canDisplayTooltip(); +} + bool QmlCppEngine::setToolTipExpression(const QPoint & mousePos, TextEditor::ITextEditor *editor, const DebuggerToolTipContext &ctx) { - return d->m_activeEngine->setToolTipExpression(mousePos, editor, ctx); + bool success = false; + if (editor->id() == CppEditor::Constants::CPPEDITOR_ID) + success = d->m_cppEngine->setToolTipExpression(mousePos, editor, ctx); + else if (editor->id() == QmlJSEditor::Constants::C_QMLJSEDITOR_ID) + success = d->m_qmlEngine->setToolTipExpression(mousePos, editor, ctx); + return success; } void QmlCppEngine::updateWatchData(const WatchData &data, @@ -216,9 +229,14 @@ bool QmlCppEngine::hasCapability(unsigned cap) const // ### this could also be an OR of both engines' capabilities bool hasCap = d->m_cppEngine->hasCapability(cap); if (d->m_activeEngine != d->m_cppEngine) { + //Some capabilities cannot be handled by QML Engine + //Expand this list as and when required if (cap == AddWatcherWhileRunningCapability) hasCap = hasCap || d->m_qmlEngine->hasCapability(cap); - if (cap == WatchWidgetsCapability) + if (cap == WatchWidgetsCapability || + cap == DisassemblerCapability || + cap == OperateByInstructionCapability || + cap == ReverseSteppingCapability) hasCap = hasCap && d->m_qmlEngine->hasCapability(cap); } return hasCap; @@ -268,7 +286,7 @@ bool QmlCppEngine::acceptsBreakpoint(BreakpointModelId id) const void QmlCppEngine::selectThread(int index) { - d->m_cppEngine->selectThread(index); + d->m_activeEngine->selectThread(index); } void QmlCppEngine::assignValueInDebugger(const WatchData *data, |