summaryrefslogtreecommitdiff
path: root/src/plugins/texteditor/snippets
diff options
context:
space:
mode:
authorLeandro Melo <leandro.melo@nokia.com>2011-04-15 16:19:23 +0200
committerLeandro Melo <leandro.melo@nokia.com>2011-05-18 10:46:20 +0200
commitbec4f02495b97b17e0b0f8cb67d0909634c16228 (patch)
tree21759e0b9ebc6b0dca84f01875223020665d7843 /src/plugins/texteditor/snippets
parentd835b769c7d6b37e59a8a74a0d68260d34e7a7f9 (diff)
downloadqt-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