2009-09-30 17:43:21 +02:00
|
|
|
#ifndef QMLCODECOMPLETION_H
|
|
|
|
|
#define QMLCODECOMPLETION_H
|
2009-04-22 15:21:04 +02:00
|
|
|
|
|
|
|
|
#include <texteditor/icompletioncollector.h>
|
|
|
|
|
|
|
|
|
|
namespace TextEditor {
|
|
|
|
|
class ITextEditable;
|
|
|
|
|
}
|
|
|
|
|
|
2009-09-30 17:43:21 +02:00
|
|
|
namespace QmlEditor {
|
2009-10-02 10:49:33 +02:00
|
|
|
|
|
|
|
|
class QmlModelManagerInterface;
|
|
|
|
|
|
2009-04-22 15:21:04 +02:00
|
|
|
namespace Internal {
|
|
|
|
|
|
2009-09-30 17:43:21 +02:00
|
|
|
class QmlCodeCompletion: public TextEditor::ICompletionCollector
|
2009-04-22 15:21:04 +02:00
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
2009-10-02 10:49:33 +02:00
|
|
|
QmlCodeCompletion(QmlModelManagerInterface *modelManager, QObject *parent = 0);
|
2009-09-30 17:43:21 +02:00
|
|
|
virtual ~QmlCodeCompletion();
|
2009-04-22 15:21:04 +02:00
|
|
|
|
|
|
|
|
Qt::CaseSensitivity caseSensitivity() const;
|
|
|
|
|
void setCaseSensitivity(Qt::CaseSensitivity caseSensitivity);
|
|
|
|
|
|
|
|
|
|
virtual bool supportsEditor(TextEditor::ITextEditable *editor);
|
|
|
|
|
virtual bool triggersCompletion(TextEditor::ITextEditable *editor);
|
|
|
|
|
virtual int startCompletion(TextEditor::ITextEditable *editor);
|
|
|
|
|
virtual void completions(QList<TextEditor::CompletionItem> *completions);
|
|
|
|
|
virtual void complete(const TextEditor::CompletionItem &item);
|
|
|
|
|
virtual bool partiallyComplete(const QList<TextEditor::CompletionItem> &completionItems);
|
|
|
|
|
virtual void cleanup();
|
|
|
|
|
|
|
|
|
|
private:
|
2009-10-02 10:49:33 +02:00
|
|
|
QmlModelManagerInterface *m_modelManager;
|
2009-04-22 15:21:04 +02:00
|
|
|
TextEditor::ITextEditable *m_editor;
|
|
|
|
|
int m_startPosition;
|
|
|
|
|
QList<TextEditor::CompletionItem> m_completions;
|
|
|
|
|
Qt::CaseSensitivity m_caseSensitivity;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} // end of namespace Internal
|
2009-09-30 17:43:21 +02:00
|
|
|
} // end of namespace QmlEditor
|
2009-04-22 15:21:04 +02:00
|
|
|
|
2009-09-30 17:43:21 +02:00
|
|
|
#endif // QMLCODECOMPLETION_H
|