diff options
author | hjk <hjk@theqtcompany.com> | 2015-03-06 13:36:42 +0100 |
---|---|---|
committer | hjk <hjk@theqtcompany.com> | 2015-03-06 13:57:53 +0000 |
commit | 46fcfa90180f0ea705b06bb34ebb68be15011be9 (patch) | |
tree | 96a3d33caf200306c28f9202f9996900b84ebc1a | |
parent | 34c807a11a6ea4a6768c001418eadc4e0d01ebb1 (diff) | |
download | qt-creator-46fcfa90180f0ea705b06bb34ebb68be15011be9.tar.gz |
Debugger: Remove widget argument from tooltip request
The only information ever used is whether it's c++ or not.
Change-Id: I4ca00663856dd66cbdf58c468f175a8c9e41d6a5
Reviewed-by: hjk <hjk@theqtcompany.com>
-rw-r--r-- | src/plugins/debugger/cdb/cdbengine.cpp | 4 | ||||
-rw-r--r-- | src/plugins/debugger/cdb/cdbengine.h | 3 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerengine.cpp | 3 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerengine.h | 3 | ||||
-rw-r--r-- | src/plugins/debugger/debuggertooltipmanager.cpp | 12 | ||||
-rw-r--r-- | src/plugins/debugger/debuggertooltipmanager.h | 1 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/gdbengine.cpp | 7 | ||||
-rw-r--r-- | src/plugins/debugger/gdb/gdbengine.h | 3 | ||||
-rw-r--r-- | src/plugins/debugger/lldb/lldbengine.cpp | 6 | ||||
-rw-r--r-- | src/plugins/debugger/lldb/lldbengine.h | 3 | ||||
-rw-r--r-- | src/plugins/debugger/pdb/pdbengine.cpp | 4 | ||||
-rw-r--r-- | src/plugins/debugger/pdb/pdbengine.h | 3 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlcppengine.cpp | 15 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlcppengine.h | 3 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlengine.cpp | 6 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlengine.h | 6 | ||||
-rw-r--r-- | src/plugins/debugger/sourceutils.cpp | 7 | ||||
-rw-r--r-- | src/plugins/debugger/sourceutils.h | 1 |
18 files changed, 35 insertions, 55 deletions
diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 8de20012b9..b239ca3e4c 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -412,10 +412,8 @@ void CdbEngine::syncVerboseLog(bool verboseLog) postCommand(m_verboseLog ? QByteArray("!sym noisy") : QByteArray("!sym quiet"), 0); } -bool CdbEngine::setToolTipExpression(TextEditor::TextEditorWidget *editorWidget, - const DebuggerToolTipContext &context) +bool CdbEngine::setToolTipExpression(const DebuggerToolTipContext &context) { - Q_UNUSED(editorWidget); Q_UNUSED(context); // Tooltips matching local variables are already handled in the // base class. We don't handle anything else here in CDB diff --git a/src/plugins/debugger/cdb/cdbengine.h b/src/plugins/debugger/cdb/cdbengine.h index 6bd1cf942c..b2708e98c8 100644 --- a/src/plugins/debugger/cdb/cdbengine.h +++ b/src/plugins/debugger/cdb/cdbengine.h @@ -77,8 +77,7 @@ public: // Factory function that returns 0 if the debug engine library cannot be found. - virtual bool setToolTipExpression(TextEditor::TextEditorWidget *editorWidget, - const DebuggerToolTipContext &context); + virtual bool setToolTipExpression(const DebuggerToolTipContext &context); virtual DebuggerEngine *cppEngine() { return this; } diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index a151eff097..ef7c3fd72c 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -1434,8 +1434,7 @@ Terminal *DebuggerEngine::terminal() const return &d->m_terminal; } -bool DebuggerEngine::setToolTipExpression(TextEditorWidget *, - const DebuggerToolTipContext &) +bool DebuggerEngine::setToolTipExpression(const DebuggerToolTipContext &) { return false; } diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 8de13f30e2..2ff08231cc 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -137,8 +137,7 @@ public: const DebuggerStartParameters &startParameters() const; DebuggerStartParameters &startParameters(); - virtual bool setToolTipExpression(TextEditor::TextEditorWidget *, - const Internal::DebuggerToolTipContext &); + virtual bool setToolTipExpression(const Internal::DebuggerToolTipContext &); virtual void updateWatchData(const Internal::WatchData &data); virtual void watchDataSelected(const QByteArray &iname); diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp index e7d82050e6..5eb5c59883 100644 --- a/src/plugins/debugger/debuggertooltipmanager.cpp +++ b/src/plugins/debugger/debuggertooltipmanager.cpp @@ -43,6 +43,9 @@ #include <coreplugin/coreconstants.h> #include <coreplugin/editormanager/documentmodel.h> #include <coreplugin/editormanager/editormanager.h> + +#include <cpptools/cppprojectfile.h> + #include <texteditor/texteditor.h> #include <texteditor/textdocument.h> @@ -669,7 +672,7 @@ static void hideAllToolTips() */ DebuggerToolTipContext::DebuggerToolTipContext() - : position(0), line(0), column(0), scopeFromLine(0), scopeToLine(0) + : position(0), line(0), column(0), scopeFromLine(0), scopeToLine(0), isCppEditor(true) { } @@ -1165,18 +1168,21 @@ static void slotTooltipOverrideRequested if (!boolSetting(UseToolTipsInMainEditor)) return; + const TextDocument *document = editorWidget->textDocument(); DebuggerEngine *engine = currentEngine(); if (!engine || !engine->canDisplayTooltip()) return; DebuggerToolTipContext context; context.engineType = engine->objectName(); - context.fileName = editorWidget->textDocument()->filePath().toString(); + context.fileName = document->filePath().toString(); context.position = pos; editorWidget->convertPosition(pos, &context.line, &context.column); QString raw = cppExpressionAt(editorWidget, context.position, &context.line, &context.column, &context.function, &context.scopeFromLine, &context.scopeToLine); context.expression = fixCppExpression(raw); + context.isCppEditor = CppTools::ProjectFile::classify(document->filePath().toString()) + != CppTools::ProjectFile::Unclassified; if (context.expression.isEmpty()) { ToolTip::show(point, DebuggerToolTipManager::tr("No valid expression"), @@ -1224,7 +1230,7 @@ static void slotTooltipOverrideRequested tooltip->setState(PendingShown); else QTC_CHECK(false); - *handled = engine->setToolTipExpression(editorWidget, context); + *handled = engine->setToolTipExpression(context); if (!*handled) { ToolTip::show(point, DebuggerToolTipManager::tr("Expression too complex"), Internal::mainWindow()); diff --git a/src/plugins/debugger/debuggertooltipmanager.h b/src/plugins/debugger/debuggertooltipmanager.h index 3174006c5e..49a3e92628 100644 --- a/src/plugins/debugger/debuggertooltipmanager.h +++ b/src/plugins/debugger/debuggertooltipmanager.h @@ -71,6 +71,7 @@ public: QPoint mousePosition; QString expression; QByteArray iname; + bool isCppEditor; }; typedef QList<DebuggerToolTipContext> DebuggerToolTipContexts; diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index a4bf2d1b17..1eb2c4099e 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -67,10 +67,10 @@ #include <coreplugin/icore.h> #include <coreplugin/messagebox.h> + #include <projectexplorer/devicesupport/deviceprocess.h> #include <projectexplorer/itaskhandler.h> #include <projectexplorer/taskhub.h> -#include <texteditor/texteditor.h> #include <utils/algorithm.h> #include <utils/hostosinfo.h> @@ -3699,10 +3699,9 @@ void GdbEngine::handleRegisterListValues(const DebuggerResponse &response) // ////////////////////////////////////////////////////////////////////// -bool GdbEngine::setToolTipExpression(TextEditor::TextEditorWidget *editor, - const DebuggerToolTipContext &context) +bool GdbEngine::setToolTipExpression(const DebuggerToolTipContext &context) { - if (state() != InferiorStopOk || !isCppEditor(editor)) + if (state() != InferiorStopOk || !context.isCppEditor) return false; UpdateParameters params; diff --git a/src/plugins/debugger/gdb/gdbengine.h b/src/plugins/debugger/gdb/gdbengine.h index 24520daa8e..bfa310770a 100644 --- a/src/plugins/debugger/gdb/gdbengine.h +++ b/src/plugins/debugger/gdb/gdbengine.h @@ -383,8 +383,7 @@ protected: // // Watch specific stuff // - virtual bool setToolTipExpression(TextEditor::TextEditorWidget *editor, - const DebuggerToolTipContext &); + virtual bool setToolTipExpression(const DebuggerToolTipContext &); virtual void assignValueInDebugger(const WatchData *data, const QString &expr, const QVariant &value); diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 8dc55c0ac5..9fb7726198 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -54,8 +54,6 @@ #include <coreplugin/idocument.h> #include <coreplugin/icore.h> -#include <texteditor/texteditor.h> - #include <utils/qtcassert.h> #include <utils/savedaction.h> #include <utils/qtcprocess.h> @@ -795,9 +793,9 @@ void LldbEngine::refreshSymbols(const GdbMi &symbols) // ////////////////////////////////////////////////////////////////////// -bool LldbEngine::setToolTipExpression(TextEditor::TextEditorWidget *editorWidget, const DebuggerToolTipContext &context) +bool LldbEngine::setToolTipExpression(const DebuggerToolTipContext &context) { - if (state() != InferiorStopOk || !isCppEditor(editorWidget)) { + if (state() != InferiorStopOk || !context.isCppEditor) { //qDebug() << "SUPPRESSING DEBUGGER TOOLTIP, INFERIOR NOT STOPPED " // " OR NOT A CPPEDITOR"; return false; diff --git a/src/plugins/debugger/lldb/lldbengine.h b/src/plugins/debugger/lldb/lldbengine.h index bdcda805cf..9991db443f 100644 --- a/src/plugins/debugger/lldb/lldbengine.h +++ b/src/plugins/debugger/lldb/lldbengine.h @@ -84,8 +84,7 @@ private: void shutdownEngine(); void abortDebugger(); - bool setToolTipExpression(TextEditor::TextEditorWidget *editorWidget, - const DebuggerToolTipContext &); + bool setToolTipExpression(const DebuggerToolTipContext &); void continueInferior(); void interruptInferior(); diff --git a/src/plugins/debugger/pdb/pdbengine.cpp b/src/plugins/debugger/pdb/pdbengine.cpp index 21dc7a2bba..36a5a1f4a5 100644 --- a/src/plugins/debugger/pdb/pdbengine.cpp +++ b/src/plugins/debugger/pdb/pdbengine.cpp @@ -50,7 +50,6 @@ #include <utils/qtcassert.h> -#include <texteditor/texteditor.h> #include <coreplugin/idocument.h> #include <coreplugin/icore.h> #include <coreplugin/messagebox.h> @@ -371,8 +370,7 @@ void PdbEngine::refreshSymbols(const GdbMi &symbols) Internal::showModuleSymbols(moduleName, syms); } -bool PdbEngine::setToolTipExpression(TextEditor::TextEditorWidget *, - const DebuggerToolTipContext &ctx) +bool PdbEngine::setToolTipExpression(const DebuggerToolTipContext &ctx) { if (state() != InferiorStopOk) return false; diff --git a/src/plugins/debugger/pdb/pdbengine.h b/src/plugins/debugger/pdb/pdbengine.h index 22f794c1a4..9d190d31e8 100644 --- a/src/plugins/debugger/pdb/pdbengine.h +++ b/src/plugins/debugger/pdb/pdbengine.h @@ -66,8 +66,7 @@ private: void shutdownInferior(); void shutdownEngine(); - bool setToolTipExpression(TextEditor::TextEditorWidget *, - const DebuggerToolTipContext &); + bool setToolTipExpression(const DebuggerToolTipContext &); void continueInferior(); void interruptInferior(); diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp index 23e0187f63..dab64a71a4 100644 --- a/src/plugins/debugger/qml/qmlcppengine.cpp +++ b/src/plugins/debugger/qml/qmlcppengine.cpp @@ -32,6 +32,7 @@ #include "qmlengine.h" #include <debugger/debuggerruncontrol.h> +#include <debugger/debuggertooltipmanager.h> #include <debugger/debuggerstartparameters.h> #include <debugger/breakhandler.h> #include <debugger/stackhandler.h> @@ -39,8 +40,6 @@ #include <debugger/watchhandler.h> #include <utils/qtcassert.h> -#include <texteditor/texteditor.h> -#include <texteditor/textdocument.h> #include <qmljseditor/qmljseditorconstants.h> #include <cppeditor/cppeditorconstants.h> #include <qmljs/consolemanagerinterface.h> @@ -103,15 +102,13 @@ bool QmlCppEngine::canDisplayTooltip() const return m_cppEngine->canDisplayTooltip() || m_qmlEngine->canDisplayTooltip(); } -bool QmlCppEngine::setToolTipExpression(TextEditor::TextEditorWidget *editorWidget, const DebuggerToolTipContext &ctx) +bool QmlCppEngine::setToolTipExpression(const DebuggerToolTipContext &ctx) { - QTC_ASSERT(editorWidget, return false); bool success = false; - Core::Id id = editorWidget->textDocument()->id(); - if (id == CppEditor::Constants::CPPEDITOR_ID) - success = m_cppEngine->setToolTipExpression(editorWidget, ctx); - else if (id == QmlJSEditor::Constants::C_QMLJSEDITOR_ID) - success = m_qmlEngine->setToolTipExpression(editorWidget, ctx); + if (ctx.isCppEditor) + success = m_cppEngine->setToolTipExpression(ctx); + else + success = m_qmlEngine->setToolTipExpression(ctx); return success; } diff --git a/src/plugins/debugger/qml/qmlcppengine.h b/src/plugins/debugger/qml/qmlcppengine.h index 917bc98af1..6960cde7fc 100644 --- a/src/plugins/debugger/qml/qmlcppengine.h +++ b/src/plugins/debugger/qml/qmlcppengine.h @@ -47,8 +47,7 @@ public: ~QmlCppEngine(); bool canDisplayTooltip() const; - bool setToolTipExpression(TextEditor::TextEditorWidget *editorWidget, - const DebuggerToolTipContext &); + bool setToolTipExpression(const DebuggerToolTipContext &); void updateWatchData(const WatchData &data); void watchDataSelected(const QByteArray &iname); diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index f961ca578d..6f6e7d2ccd 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -973,12 +973,12 @@ void QmlEngine::requestModuleSymbols(const QString &moduleName) // ////////////////////////////////////////////////////////////////////// -bool QmlEngine::setToolTipExpression(TextEditor::TextEditorWidget *editorWidget, - const DebuggerToolTipContext &ctx) +bool QmlEngine::setToolTipExpression(const DebuggerToolTipContext &context) { // This is processed by QML inspector, which has dependencies to // the qml js editor. Makes life easier. - emit tooltipRequested(ctx.mousePosition, editorWidget, ctx.position); + // FIXME: Except that there isn't any attached. + emit tooltipRequested(context); return true; } diff --git a/src/plugins/debugger/qml/qmlengine.h b/src/plugins/debugger/qml/qmlengine.h index aed646888e..5993399699 100644 --- a/src/plugins/debugger/qml/qmlengine.h +++ b/src/plugins/debugger/qml/qmlengine.h @@ -89,8 +89,7 @@ public: void insertBreakpoint(Breakpoint bp); signals: - void tooltipRequested(const QPoint &mousePos, - TextEditor::TextEditorWidget *editorWidget, int cursorPos); + void tooltipRequested(const DebuggerToolTipContext &context); private slots: void disconnected(); @@ -128,8 +127,7 @@ private: void shutdownInferior(); void shutdownEngine(); - bool setToolTipExpression(TextEditor::TextEditorWidget *editorWidget, - const DebuggerToolTipContext &); + bool setToolTipExpression(const DebuggerToolTipContext &); void continueInferior(); void interruptInferior(); diff --git a/src/plugins/debugger/sourceutils.cpp b/src/plugins/debugger/sourceutils.cpp index 0e4ff6ae38..e70696ccc5 100644 --- a/src/plugins/debugger/sourceutils.cpp +++ b/src/plugins/debugger/sourceutils.cpp @@ -261,13 +261,6 @@ bool getUninitializedVariables(const Snapshot &snapshot, } -// Editor tooltip support -bool isCppEditor(TextEditorWidget *editorWidget) -{ - const TextDocument *document = editorWidget->textDocument(); - return ProjectFile::classify(document->filePath().toString()) != ProjectFile::Unclassified; -} - QString cppFunctionAt(const QString &fileName, int line, int column) { const Snapshot snapshot = CppModelManager::instance()->snapshot(); diff --git a/src/plugins/debugger/sourceutils.h b/src/plugins/debugger/sourceutils.h index 4f0a72cf5d..9d3d50be97 100644 --- a/src/plugins/debugger/sourceutils.h +++ b/src/plugins/debugger/sourceutils.h @@ -40,7 +40,6 @@ namespace Debugger { namespace Internal { // Editor tooltip support -bool isCppEditor(TextEditor::TextEditorWidget *editorWidget); QString cppExpressionAt(TextEditor::TextEditorWidget *editorWidget, int pos, int *line, int *column, QString *function = 0, int *scopeFromLine = 0, int *scopeToLine = 0); |