summaryrefslogtreecommitdiff
path: root/src/plugins/glsleditor/glslcompletionassist.cpp
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-09-14 21:16:28 +0200
committerhjk <hjk121@nokiamail.com>2014-09-22 10:42:05 +0200
commitfdc982358e89d44e1b087d234ce301b68bb1e6be (patch)
tree239e3a02c30de0e5765bd36ba0bdbdb38e028e12 /src/plugins/glsleditor/glslcompletionassist.cpp
parent78a04f0a6d6d6067dcf7e2e4d2e26e68af630bbc (diff)
downloadqt-creator-fdc982358e89d44e1b087d234ce301b68bb1e6be.tar.gz
GlslEditor: Simplify completion proposal setup
Change-Id: I6d103eb6471687b1fe18e88a9f2cca375eeed6cd Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Diffstat (limited to 'src/plugins/glsleditor/glslcompletionassist.cpp')
-rw-r--r--src/plugins/glsleditor/glslcompletionassist.cpp31
1 files changed, 15 insertions, 16 deletions
diff --git a/src/plugins/glsleditor/glslcompletionassist.cpp b/src/plugins/glsleditor/glslcompletionassist.cpp
index fa6bf3ec5d..0667185da5 100644
--- a/src/plugins/glsleditor/glslcompletionassist.cpp
+++ b/src/plugins/glsleditor/glslcompletionassist.cpp
@@ -242,6 +242,15 @@ GlslCompletionAssistProcessor::GlslCompletionAssistProcessor()
GlslCompletionAssistProcessor::~GlslCompletionAssistProcessor()
{}
+static AssistProposalItem *createCompletionItem(const QString &text, const QIcon &icon, int order = 0)
+{
+ AssistProposalItem *item = new AssistProposalItem;
+ item->setText(text);
+ item->setIcon(icon);
+ item->setOrder(order);
+ return item;
+}
+
IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *interface)
{
m_interface.reset(static_cast<const GlslCompletionAssistInterface *>(interface));
@@ -259,6 +268,7 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i
QList<GLSL::Symbol *> members;
QStringList specialMembers;
+ QList<TextEditor::AssistProposalItem *> m_completions;
bool functionCall = (ch == QLatin1Char('(') && pos == m_interface->position() - 1);
@@ -379,9 +389,9 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i
0
};
for (int index = 0; attributeNames[index]; ++index)
- addCompletion(QString::fromLatin1(attributeNames[index]), m_attributeIcon);
+ m_completions << createCompletionItem(QString::fromLatin1(attributeNames[index]), m_attributeIcon);
for (int index = 0; uniformNames[index]; ++index)
- addCompletion(QString::fromLatin1(uniformNames[index]), m_uniformIcon);
+ m_completions << createCompletionItem(QString::fromLatin1(uniformNames[index]), m_uniformIcon);
}
}
@@ -389,7 +399,7 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i
QStringList keywords = GLSL::Lexer::keywords(languageVariant(m_interface->mimeType()));
// m_keywordCompletions.clear();
for (int index = 0; index < keywords.size(); ++index)
- addCompletion(keywords.at(index), m_keywordIcon);
+ m_completions << createCompletionItem(keywords.at(index), m_keywordIcon);
// m_keywordVariant = languageVariant(m_interface->mimeType());
// }
@@ -421,9 +431,9 @@ IAssistProposal *GlslCompletionAssistProcessor::perform(const AssistInterface *i
icon = m_otherIcon;
}
if (specialMembers.contains(s->name()))
- addCompletion(s->name(), icon, SpecialMemberOrder);
+ m_completions << createCompletionItem(s->name(), icon, SpecialMemberOrder);
else
- addCompletion(s->name(), icon);
+ m_completions << createCompletionItem(s->name(), icon);
}
m_startPosition = pos + 1;
@@ -469,17 +479,6 @@ bool GlslCompletionAssistProcessor::acceptsIdleEditor() const
return isActivationChar(ch);
}
-void GlslCompletionAssistProcessor::addCompletion(const QString &text,
- const QIcon &icon,
- int order)
-{
- AssistProposalItem *item = new AssistProposalItem;
- item->setText(text);
- item->setIcon(icon);
- item->setOrder(order);
- m_completions.append(item);
-}
-
// -----------------------------
// GlslCompletionAssistInterface
// -----------------------------