KTextEditor
codecompletionmodelcontrollerinterface.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KDELIBS_KTEXTEDITOR_CODECOMPLETIONMODELCONTROLLERINTERFACE_H
00021 #define KDELIBS_KTEXTEDITOR_CODECOMPLETIONMODELCONTROLLERINTERFACE_H
00022
00023 #include <ktexteditor/ktexteditor_export.h>
00024 #include <ktexteditor/smartrange.h>
00025 #include <ktexteditor/cursor.h>
00026 #include "codecompletionmodel.h"
00027
00028 class QModelIndex;
00029
00030 namespace KTextEditor {
00031 class View;
00070 class KTEXTEDITOR_EXPORT CodeCompletionModelControllerInterface
00071 {
00072 public:
00073 CodeCompletionModelControllerInterface();
00074 virtual ~CodeCompletionModelControllerInterface();
00075
00090 virtual bool shouldStartCompletion(View* view, const QString &insertedText, bool userInsertion, const Cursor &position);
00091
00106 virtual Range completionRange(View* view, const Cursor &position);
00107
00120 virtual void updateCompletionRange(View* view, SmartRange& range);
00121
00136 virtual QString filterString(View* view, const SmartRange& range, const Cursor &position);
00137
00151 virtual bool shouldAbortCompletion(View* view, const SmartRange& range, const QString ¤tCompletion);
00152
00160 virtual bool shouldExecute(const QModelIndex& selected, QChar inserted);
00161
00166 virtual void aborted(View* view);
00167 };
00168
00170 class KTEXTEDITOR_EXPORT CodeCompletionModelControllerInterface2 : public CodeCompletionModelControllerInterface {
00171 public:
00172 enum MatchReaction {
00173 None,
00174 HideListIfAutomaticInvocation
00175 };
00181 virtual MatchReaction matchingItem(const QModelIndex& matched);
00182 };
00183
00184 }
00185
00186 Q_DECLARE_INTERFACE(KTextEditor::CodeCompletionModelControllerInterface, "org.kde.KTextEditor.CodeCompletionModelControllerInterface")
00187 Q_DECLARE_INTERFACE(KTextEditor::CodeCompletionModelControllerInterface2, "org.kde.KTextEditor.CodeCompletionModelControllerInterface2")
00188
00189 #endif // KDELIBS_KTEXTEDITOR_CODECOMPLETIONMODELCONTROLLERINTERFACE_H