summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpphoverhandler.cpp
diff options
context:
space:
mode:
authormae <qtc-committer@nokia.com>2008-12-09 15:42:37 +0100
committermae <qtc-committer@nokia.com>2008-12-09 15:42:37 +0100
commitcab48e0d7c0ed7feb687c7d650a39650d637ed45 (patch)
tree8b3dfeb8870cde2f0e8cf44384bfe062e5c342d0 /src/plugins/cpptools/cpphoverhandler.cpp
parent23872bb9974778b6a5e44569129e5622d1fa804d (diff)
parent20e36cc364d5dce2bf5c5a91e2144d8ad289f6d2 (diff)
downloadqt-creator-cab48e0d7c0ed7feb687c7d650a39650d637ed45.tar.gz
Merge branch '0.9.1-beta' of git@scm.dev.nokia.troll.no:creator/mainline into 0.9.1-beta
Diffstat (limited to 'src/plugins/cpptools/cpphoverhandler.cpp')
-rw-r--r--src/plugins/cpptools/cpphoverhandler.cpp25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/plugins/cpptools/cpphoverhandler.cpp b/src/plugins/cpptools/cpphoverhandler.cpp
index 16ed8a9215..1265ef9da7 100644
--- a/src/plugins/cpptools/cpphoverhandler.cpp
+++ b/src/plugins/cpptools/cpphoverhandler.cpp
@@ -37,6 +37,7 @@
#include <coreplugin/icore.h>
#include <coreplugin/uniqueidmanager.h>
#include <texteditor/itexteditor.h>
+#include <texteditor/basetexteditor.h>
#include <debugger/debuggerconstants.h>
#include <CoreTypes.h>
@@ -51,13 +52,13 @@
#include <cplusplus/TypeOfExpression.h>
#include <QtGui/QToolTip>
-#include <QtGui/QPlainTextEdit>
#include <QtGui/QTextCursor>
#include <QtGui/QTextBlock>
#include <QtHelp/QHelpEngineCore>
#include <QtCore/QtCore>
using namespace CppTools::Internal;
+using namespace CPlusPlus;
CppHoverHandler::CppHoverHandler(CppModelManager *manager, QObject *parent)
: QObject(parent), m_manager(manager), m_helpEngineNeedsSetup(false)
@@ -104,11 +105,9 @@ void CppHoverHandler::showToolTip(TextEditor::ITextEditor *editor, const QPoint
}
}
-static QString buildHelpId(const CPlusPlus::FullySpecifiedType &type,
- const CPlusPlus::Symbol *symbol)
+static QString buildHelpId(const FullySpecifiedType &type,
+ const Symbol *symbol)
{
- using namespace CPlusPlus;
-
Name *name = 0;
Scope *scope = 0;
@@ -156,12 +155,10 @@ static QString buildHelpId(const CPlusPlus::FullySpecifiedType &type,
void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, int pos)
{
- using namespace CPlusPlus;
-
m_helpId.clear();
m_toolTip.clear();
- QPlainTextEdit *edit = qobject_cast<QPlainTextEdit *>(editor->widget());
+ TextEditor::BaseTextEditor *edit = qobject_cast<TextEditor::BaseTextEditor *>(editor->widget());
if (!edit)
return;
@@ -169,8 +166,7 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
tc.setPosition(pos);
const int lineNumber = tc.block().blockNumber() + 1;
-
- QString fileName = editor->file()->fileName();
+ const QString fileName = editor->file()->fileName();
Document::Ptr doc = m_manager->document(fileName);
if (doc) {
foreach (Document::DiagnosticMessage m, doc->diagnosticMessages()) {
@@ -179,6 +175,15 @@ void CppHoverHandler::updateHelpIdAndTooltip(TextEditor::ITextEditor *editor, in
break;
}
}
+
+ if (m_toolTip.isEmpty()) {
+ foreach (const Document::MacroUse use, doc->macroUses()) {
+ if (use.contains(pos)) {
+ m_toolTip = use.macro().toString();
+ break;
+ }
+ }
+ }
}
if (m_toolTip.isEmpty()) {