diff options
author | Leandro Melo <leandro.melo@nokia.com> | 2011-04-15 16:19:23 +0200 |
---|---|---|
committer | Leandro Melo <leandro.melo@nokia.com> | 2011-05-18 10:46:20 +0200 |
commit | bec4f02495b97b17e0b0f8cb67d0909634c16228 (patch) | |
tree | 21759e0b9ebc6b0dca84f01875223020665d7843 /src/plugins/texteditor/snippets | |
parent | d835b769c7d6b37e59a8a74a0d68260d34e7a7f9 (diff) | |
download | qt-creator-bec4f02495b97b17e0b0f8cb67d0909634c16228.tar.gz |
New code assist API
This is a re-work of our completion engine. Primary goals are:
- Allow the computation to run in a separate thread so the GUI is not locked.
- Support a model-based approach. QStrings are still needed (filtering, etc), but
internal structures are free to use more efficient representations.
- Unifiy all kinds of *assist* into a more reusable and extensible framework.
- Remove unnecessary dependencies on the text editor so we have more generic
and easily "plugable" components (still things to be resolved).
Diffstat (limited to 'src/plugins/texteditor/snippets')
-rw-r--r-- | src/plugins/texteditor/snippets/snippetassistcollector.cpp (renamed from src/plugins/texteditor/snippets/snippetcollector.cpp) | 40 | ||||
-rw-r--r-- | src/plugins/texteditor/snippets/snippetassistcollector.h (renamed from src/plugins/texteditor/snippets/snippetcollector.h) | 17 |
2 files changed, 30 insertions, 27 deletions
diff --git a/src/plugins/texteditor/snippets/snippetcollector.cpp b/src/plugins/texteditor/snippets/snippetassistcollector.cpp index d2ae70e4cc..b6a27e69ab 100644 --- a/src/plugins/texteditor/snippets/snippetcollector.cpp +++ b/src/plugins/texteditor/snippets/snippetassistcollector.cpp @@ -30,18 +30,18 @@ ** **************************************************************************/ -#include "snippetcollector.h" +#include "snippetassistcollector.h" #include "snippetscollection.h" #include <texteditor/texteditorconstants.h> +#include <texteditor/codeassist/basicproposalitem.h> using namespace TextEditor; using namespace Internal; namespace { -void appendSnippets(ICompletionCollector *collector, - QList<CompletionItem> *completionItems, +void appendSnippets(QList<BasicProposalItem *> *items, const QString &groupId, const QIcon &icon, int order) @@ -50,30 +50,32 @@ void appendSnippets(ICompletionCollector *collector, const int size = collection->totalActiveSnippets(groupId); for (int i = 0; i < size; ++i) { const Snippet &snippet = collection->snippet(i, groupId); - CompletionItem item(collector); - item.text = snippet.trigger() + QLatin1Char(' ') + snippet.complement(); - item.data = snippet.content(); - item.details = snippet.generateTip(); - item.icon = icon; - item.order = order; - item.isSnippet = true; - completionItems->append(item); + BasicProposalItem *item = new BasicProposalItem; + item->setText(snippet.trigger() + QLatin1Char(' ') + snippet.complement()); + item->setData(snippet.content()); + item->setDetail(snippet.generateTip()); + item->setIcon(icon); + item->setOrder(order); + items->append(item); } } } // anonymous -SnippetCollector::SnippetCollector(const QString &groupId, const QIcon &icon, int order) : - m_groupId(groupId), m_icon(icon), m_order(order) + +SnippetAssistCollector::SnippetAssistCollector(const QString &groupId, const QIcon &icon, int order) + : m_groupId(groupId) + , m_icon(icon) + , m_order(order) {} -SnippetCollector::~SnippetCollector() +SnippetAssistCollector::~SnippetAssistCollector() {} -QList<CompletionItem> SnippetCollector::getSnippets(ICompletionCollector *collector) const +QList<BasicProposalItem *> SnippetAssistCollector::collect() const { - QList<CompletionItem> completionItems; - appendSnippets(collector, &completionItems, m_groupId, m_icon, m_order); - appendSnippets(collector, &completionItems, Constants::TEXT_SNIPPET_GROUP_ID, m_icon, m_order); - return completionItems; + QList<BasicProposalItem *> snippets; + appendSnippets(&snippets, m_groupId, m_icon, m_order); + appendSnippets(&snippets, Constants::TEXT_SNIPPET_GROUP_ID, m_icon, m_order); + return snippets; } diff --git a/src/plugins/texteditor/snippets/snippetcollector.h b/src/plugins/texteditor/snippets/snippetassistcollector.h index f07d192a73..942ca9371f 100644 --- a/src/plugins/texteditor/snippets/snippetcollector.h +++ b/src/plugins/texteditor/snippets/snippetassistcollector.h @@ -30,11 +30,10 @@ ** **************************************************************************/ -#ifndef SNIPPETPROVIDER_H -#define SNIPPETPROVIDER_H +#ifndef SNIPPETASSISTCOLLECTOR_H +#define SNIPPETASSISTCOLLECTOR_H #include <texteditor/texteditor_global.h> -#include <texteditor/icompletioncollector.h> #include <QtCore/QString> #include <QtCore/QList> @@ -42,13 +41,15 @@ namespace TextEditor { -class TEXTEDITOR_EXPORT SnippetCollector +class BasicProposalItem; + +class TEXTEDITOR_EXPORT SnippetAssistCollector { public: - SnippetCollector(const QString &groupId, const QIcon &icon, int order = 0); - ~SnippetCollector(); + SnippetAssistCollector(const QString &groupId, const QIcon &icon, int order = 0); + ~SnippetAssistCollector(); - QList<CompletionItem> getSnippets(ICompletionCollector *collector) const; + QList<BasicProposalItem *> collect() const; private: QString m_groupId; @@ -58,4 +59,4 @@ private: } // TextEditor -#endif // SNIPPETPROVIDER_H +#endif // SNIPPETASSISTCOLLECTOR_H |