From e828f60c906be873df33f9e8cbaef212b9c072d7 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 22 May 2014 11:04:57 -0400 Subject: [PATCH] CppEditor: Use BaseTextEditor{Widget} if possible Change-Id: I59c420c6469717e552469d176bbeac3a455f3bb0 Reviewed-by: Erik Verbruggen --- src/plugins/cppeditor/cppdoxygen_test.cpp | 1 - src/plugins/cppeditor/cppeditortestcase.h | 2 ++ src/plugins/cppeditor/cppelementevaluator.cpp | 8 ++++--- src/plugins/cppeditor/cppelementevaluator.h | 9 ++++--- src/plugins/cppeditor/cpphoverhandler.cpp | 24 +++++++++---------- src/plugins/cppeditor/cppincludehierarchy.h | 3 ++- .../cppeditor/cppincludehierarchy_test.cpp | 1 - .../cppeditor/cppincludehierarchymodel.cpp | 10 ++++---- .../cppeditor/cppincludehierarchymodel.h | 6 ++--- src/plugins/cppeditor/cppquickfix_test.cpp | 1 - src/plugins/cppeditor/cppquickfixes.cpp | 2 +- src/plugins/cppeditor/cppsnippetprovider.cpp | 1 - .../followsymbol_switchmethoddecldef_test.cpp | 1 - 13 files changed, 35 insertions(+), 34 deletions(-) diff --git a/src/plugins/cppeditor/cppdoxygen_test.cpp b/src/plugins/cppeditor/cppdoxygen_test.cpp index 6ee593784a9..11eaaeb11ff 100644 --- a/src/plugins/cppeditor/cppdoxygen_test.cpp +++ b/src/plugins/cppeditor/cppdoxygen_test.cpp @@ -27,7 +27,6 @@ ** ****************************************************************************/ -#include "cppeditor.h" #include "cppeditorplugin.h" #include "cppeditortestcase.h" diff --git a/src/plugins/cppeditor/cppeditortestcase.h b/src/plugins/cppeditor/cppeditortestcase.h index 76f3e49239e..afb299df7d6 100644 --- a/src/plugins/cppeditor/cppeditortestcase.h +++ b/src/plugins/cppeditor/cppeditortestcase.h @@ -31,6 +31,8 @@ #ifndef CPPEDITORTESTCASE_H #define CPPEDITORTESTCASE_H +#include "cppeditor.h" + #include namespace CppEditor { diff --git a/src/plugins/cppeditor/cppelementevaluator.cpp b/src/plugins/cppeditor/cppelementevaluator.cpp index 6871c28b407..3d0275992d2 100644 --- a/src/plugins/cppeditor/cppelementevaluator.cpp +++ b/src/plugins/cppeditor/cppelementevaluator.cpp @@ -29,6 +29,8 @@ #include "cppelementevaluator.h" +#include "cppeditor.h" + #include #include @@ -59,7 +61,7 @@ namespace { } } -CppElementEvaluator::CppElementEvaluator(CPPEditorWidget *editor) : +CppElementEvaluator::CppElementEvaluator(TextEditor::BaseTextEditorWidget *editor) : m_editor(editor), m_modelManager(CppTools::CppModelManagerInterface::instance()), m_tc(editor->textCursor()), @@ -262,7 +264,7 @@ CppInclude::CppInclude(const Document::Include &includeFile) : helpCategory = TextEditor::HelpItem::Brief; helpIdCandidates = QStringList(fileName); helpMark = fileName; - link = CPPEditorWidget::Link(path); + link = TextEditor::BaseTextEditorWidget::Link(path); tooltip = path; } @@ -273,7 +275,7 @@ CppMacro::CppMacro(const Macro ¯o) const QString macroName = QString::fromUtf8(macro.name(), macro.name().size()); helpIdCandidates = QStringList(macroName); helpMark = macroName; - link = CPPEditorWidget::Link(macro.fileName(), macro.line()); + link = TextEditor::BaseTextEditorWidget::Link(macro.fileName(), macro.line()); tooltip = macro.toStringWithLineBreaks(); } diff --git a/src/plugins/cppeditor/cppelementevaluator.h b/src/plugins/cppeditor/cppelementevaluator.h index 454b742fbcf..c1e6b0b1db0 100644 --- a/src/plugins/cppeditor/cppelementevaluator.h +++ b/src/plugins/cppeditor/cppelementevaluator.h @@ -30,9 +30,8 @@ #ifndef CPPELEMENTEVALUATOR_H #define CPPELEMENTEVALUATOR_H -#include "cppeditor.h" - #include +#include #include #include @@ -57,7 +56,7 @@ class CppElement; class CppElementEvaluator { public: - explicit CppElementEvaluator(CPPEditorWidget *editor); + explicit CppElementEvaluator(TextEditor::BaseTextEditorWidget *editor); void setTextCursor(const QTextCursor &tc); void setLookupBaseClasses(const bool lookup); @@ -79,7 +78,7 @@ private: const CPlusPlus::LookupContext &lookupContext, const CPlusPlus::Scope *scope); - CPPEditorWidget *m_editor; + TextEditor::BaseTextEditorWidget *m_editor; CppTools::CppModelManagerInterface *m_modelManager; QTextCursor m_tc; bool m_lookupBaseClasses; @@ -100,7 +99,7 @@ public: TextEditor::HelpItem::Category helpCategory; QStringList helpIdCandidates; QString helpMark; - CPPEditorWidget::Link link; + TextEditor::BaseTextEditorWidget::Link link; QString tooltip; }; diff --git a/src/plugins/cppeditor/cpphoverhandler.cpp b/src/plugins/cppeditor/cpphoverhandler.cpp index ed0d56b27c0..a2f10db8a06 100644 --- a/src/plugins/cppeditor/cpphoverhandler.cpp +++ b/src/plugins/cppeditor/cpphoverhandler.cpp @@ -29,10 +29,13 @@ #include "cpphoverhandler.h" -#include "cppeditor.h" +#include "cppeditorconstants.h" #include "cppelementevaluator.h" #include +#include + +#include #include #include @@ -48,25 +51,22 @@ CppHoverHandler::~CppHoverHandler() bool CppHoverHandler::acceptEditor(IEditor *editor) { - CPPEditor *cppEditor = qobject_cast(editor); - if (cppEditor) - return true; - return false; + return editor->document()->id() == CppEditor::Constants::CPPEDITOR_ID; } void CppHoverHandler::identifyMatch(TextEditor::ITextEditor *editor, int pos) { - CPPEditorWidget *cppEditor = qobject_cast(editor->widget()); - if (!cppEditor) - return; + using namespace TextEditor; + BaseTextEditorWidget *textEditor = qobject_cast(editor->widget()); + QTC_ASSERT(textEditor, return); - if (!cppEditor->extraSelectionTooltip(pos).isEmpty()) { - setToolTip(cppEditor->extraSelectionTooltip(pos)); + if (!textEditor->extraSelectionTooltip(pos).isEmpty()) { + setToolTip(textEditor->extraSelectionTooltip(pos)); } else { - QTextCursor tc(cppEditor->document()); + QTextCursor tc(textEditor->document()); tc.setPosition(pos); - CppElementEvaluator evaluator(cppEditor); + CppElementEvaluator evaluator(textEditor); evaluator.setTextCursor(tc); evaluator.execute(); if (evaluator.hasDiagnosis()) { diff --git a/src/plugins/cppeditor/cppincludehierarchy.h b/src/plugins/cppeditor/cppincludehierarchy.h index a420eadbea4..c03a36084cd 100644 --- a/src/plugins/cppeditor/cppincludehierarchy.h +++ b/src/plugins/cppeditor/cppincludehierarchy.h @@ -44,6 +44,7 @@ class QLabel; QT_END_NAMESPACE namespace Core { class IEditor; } +namespace TextEditor { class BaseTextEditor; } namespace Utils { class AnnotatedItemDelegate; @@ -84,7 +85,7 @@ private: Utils::AnnotatedItemDelegate *m_delegate; CppIncludeLabel *m_inspectedFile; QLabel *m_includeHierarchyInfoLabel; - CPPEditor *m_editor; + TextEditor::BaseTextEditor *m_editor; }; // @todo: Pretty much the same design as the OutlineWidgetStack. Maybe we can generalize the diff --git a/src/plugins/cppeditor/cppincludehierarchy_test.cpp b/src/plugins/cppeditor/cppincludehierarchy_test.cpp index e9235b5cdf1..bafcee6d84a 100644 --- a/src/plugins/cppeditor/cppincludehierarchy_test.cpp +++ b/src/plugins/cppeditor/cppincludehierarchy_test.cpp @@ -32,7 +32,6 @@ #include "cppincludehierarchymodel.h" #include -#include #include #include diff --git a/src/plugins/cppeditor/cppincludehierarchymodel.cpp b/src/plugins/cppeditor/cppincludehierarchymodel.cpp index b2fc26c1e66..ead5ad98f8f 100644 --- a/src/plugins/cppeditor/cppincludehierarchymodel.cpp +++ b/src/plugins/cppeditor/cppincludehierarchymodel.cpp @@ -32,10 +32,11 @@ #include "cppincludehierarchyitem.h" #include -#include -#include #include #include +#include + +#include #include @@ -138,7 +139,7 @@ QVariant CppIncludeHierarchyModel::data(const QModelIndex &index, int role) cons return Core::FileIconProvider::icon(QFileInfo(item->filePath())); case LinkRole: { QVariant itemLink; - CPPEditorWidget::Link link(item->filePath(), item->line()); + TextEditor::BaseTextEditorWidget::Link link(item->filePath(), item->line()); itemLink.setValue(link); return itemLink; } @@ -202,7 +203,8 @@ void CppIncludeHierarchyModel::clear() endResetModel(); } -void CppIncludeHierarchyModel::buildHierarchy(CPPEditor *editor, const QString &filePath) +void CppIncludeHierarchyModel::buildHierarchy(TextEditor::BaseTextEditor *editor, + const QString &filePath) { m_editor = editor; beginResetModel(); diff --git a/src/plugins/cppeditor/cppincludehierarchymodel.h b/src/plugins/cppeditor/cppincludehierarchymodel.h index 387c17c27f2..4a96cbe7a1e 100644 --- a/src/plugins/cppeditor/cppincludehierarchymodel.h +++ b/src/plugins/cppeditor/cppincludehierarchymodel.h @@ -41,7 +41,7 @@ enum ItemRole { } // Anonymous -namespace Core { class IEditor; } +namespace TextEditor { class BaseTextEditor; } namespace CppEditor { namespace Internal { @@ -66,7 +66,7 @@ public: bool hasChildren(const QModelIndex &parent) const; void clear(); - void buildHierarchy(CPPEditor *editor, const QString &filePath); + void buildHierarchy(TextEditor::BaseTextEditor *editor, const QString &filePath); bool isEmpty() const; private: @@ -80,7 +80,7 @@ private: CppIncludeHierarchyItem *m_rootItem; CppIncludeHierarchyItem *m_includesItem; CppIncludeHierarchyItem *m_includedByItem; - CPPEditor *m_editor; + TextEditor::BaseTextEditor *m_editor; }; } // namespace Internal diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 49ec8b8d5bc..f2e91ab8079 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -27,7 +27,6 @@ ** ****************************************************************************/ -#include "cppeditor.h" #include "cppeditorplugin.h" #include "cppeditortestcase.h" #include "cppquickfixassistant.h" diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp index 0ce49f10b19..d519dda2571 100644 --- a/src/plugins/cppeditor/cppquickfixes.cpp +++ b/src/plugins/cppeditor/cppquickfixes.cpp @@ -1786,7 +1786,7 @@ public: m_name[i] = m_name.at(i).toUpper(); } } - static_cast(assistInterface()->editor())->renameUsages(m_name); + assistInterface()->editor()->renameUsages(m_name); } static bool isConvertibleUnderscore(const QString &name, int pos) diff --git a/src/plugins/cppeditor/cppsnippetprovider.cpp b/src/plugins/cppeditor/cppsnippetprovider.cpp index 4da115396ff..646de352d83 100644 --- a/src/plugins/cppeditor/cppsnippetprovider.cpp +++ b/src/plugins/cppeditor/cppsnippetprovider.cpp @@ -30,7 +30,6 @@ #include "cppsnippetprovider.h" #include "cpphighlighter.h" -#include "cppeditor.h" #include "cppautocompleter.h" #include "cppeditorconstants.h" diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp index 9cd11047aae..38486016ed2 100644 --- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp +++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp @@ -27,7 +27,6 @@ ** ****************************************************************************/ -#include "cppeditor.h" #include "cppeditorplugin.h" #include "cppeditortestcase.h" #include "cppelementevaluator.h"