aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@theqtcompany.com>2016-02-01 14:51:01 +0100
committerMarco Bubke <marco.bubke@theqtcompany.com>2016-02-01 14:01:35 +0000
commitc903f4974f3ed403b1cc4af4f143922d8ebc7961 (patch)
tree8212fe73b701edd3826b8972c76913beec197e4c /src/plugins/cppeditor
parente42bf6ebc637e9ef4ec95787374c9743eb80d8d4 (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.cpp15
-rw-r--r--src/plugins/cppeditor/cppvirtualfunctionproposalitem.h2
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,