completion: enable multiple completors for different use cases.

Introduce CompletionPolicy enum, use 'TextCompletion' for the new plain
text completion, and 'SemanticCompletion' or 'QuickFixCompletion' for
the existing cases.

Reviewed-by: Erik Verbruggen
This commit is contained in:
hjk
2011-02-21 14:02:00 +01:00
parent 43c980e6a3
commit 9a6c4a42f7
25 changed files with 135 additions and 93 deletions

View File

@@ -61,7 +61,6 @@ public:
CompletionWidget(CompletionSupport *support, ITextEditable *editor);
~CompletionWidget();
void setQuickFix(bool quickFix);
void setCompletionItems(const QList<TextEditor::CompletionItem> &completionitems);
void showCompletions(int startPos);
@@ -111,16 +110,15 @@ private:
CompletionListView(CompletionSupport *support, ITextEditable *editor, CompletionWidget *completionWidget);
void setQuickFix(bool quickFix);
void setCompletionItems(const QList<TextEditor::CompletionItem> &completionitems);
void keyboardSearch(const QString &search);
void closeList(const QModelIndex &index);
private slots:
void maybeShowInfoTip();
private:
private:
bool m_blockFocusOut;
bool m_quickFix;
ITextEditable *m_editor;
QWidget *m_editorWidget;
CompletionWidget *m_completionWidget;