diff options
author | Marco Bubke <marco.bubke@theqtcompany.com> | 2016-02-01 14:51:01 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@theqtcompany.com> | 2016-02-01 14:01:35 +0000 |
commit | c903f4974f3ed403b1cc4af4f143922d8ebc7961 (patch) | |
tree | 8212fe73b701edd3826b8972c76913beec197e4c /src/plugins/cppeditor | |
parent | e42bf6ebc637e9ef4ec95787374c9743eb80d8d4 (diff) |
TextEditor: Introduce AssistProposalItemInterface
For unit test we need to break every dependency to the TextEditor
Widget etc.. With an abstract interface we can implement it in clang
without relying on unwanted dependencies. It makes it also easier to
compute the values deferred.
Change-Id: I1b313a1625f4e80bd324ab4bf1a7c4f6b690abe9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'src/plugins/cppeditor')
-rw-r--r-- | src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp | 15 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppvirtualfunctionproposalitem.h | 2 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp index bd89edf8f7..1e14ad1294 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp +++ b/src/plugins/cppeditor/cppvirtualfunctionassistprovider.cpp @@ -101,7 +101,9 @@ private: class VirtualFunctionProposal : public GenericProposal { public: - VirtualFunctionProposal(int cursorPos, const QList<AssistProposalItem *> &items, bool openInSplit) + VirtualFunctionProposal(int cursorPos, + const QList<AssistProposalItemInterface *> &items, + bool openInSplit) : GenericProposal(cursorPos, items) , m_openInSplit(openInSplit) {} @@ -126,13 +128,12 @@ public: { QTC_ASSERT(m_params.function, return 0); - AssistProposalItem *hintItem - = new VirtualFunctionProposalItem(TextEditorWidget::Link()); + auto *hintItem = new VirtualFunctionProposalItem(TextEditorWidget::Link()); hintItem->setText(QCoreApplication::translate("VirtualFunctionsAssistProcessor", "...searching overrides")); hintItem->setOrder(-1000); - QList<AssistProposalItem *> items; + QList<AssistProposalItemInterface *> items; items << itemFromFunction(m_params.function); items << hintItem; return new VirtualFunctionProposal(m_params.cursorPosition, items, m_params.openInNextSplit); @@ -156,7 +157,7 @@ public: if (overrides.isEmpty()) return 0; - QList<AssistProposalItem *> items; + QList<AssistProposalItemInterface *> items; foreach (Function *func, overrides) items << itemFromFunction(func); items.first()->setOrder(1000); // Ensure top position for function of static type @@ -172,14 +173,14 @@ private: return func; } - AssistProposalItem *itemFromFunction(Function *func) const + VirtualFunctionProposalItem *itemFromFunction(Function *func) const { const TextEditorWidget::Link link = CppTools::linkToSymbol(maybeDefinitionFor(func)); QString text = m_overview.prettyName(LookupContext::fullyQualifiedName(func)); if (func->isPureVirtual()) text += QLatin1String(" = 0"); - AssistProposalItem *item = new VirtualFunctionProposalItem(link, m_params.openInNextSplit); + auto *item = new VirtualFunctionProposalItem(link, m_params.openInNextSplit); item->setText(text); item->setIcon(m_icons.iconForSymbol(func)); diff --git a/src/plugins/cppeditor/cppvirtualfunctionproposalitem.h b/src/plugins/cppeditor/cppvirtualfunctionproposalitem.h index 39bf6717fe..58daca1229 100644 --- a/src/plugins/cppeditor/cppvirtualfunctionproposalitem.h +++ b/src/plugins/cppeditor/cppvirtualfunctionproposalitem.h @@ -32,7 +32,7 @@ namespace CppEditor { namespace Internal { -class VirtualFunctionProposalItem: public TextEditor::AssistProposalItem +class VirtualFunctionProposalItem final : public TextEditor::AssistProposalItem { public: VirtualFunctionProposalItem(const TextEditor::TextEditorWidget::Link &link, |