KTextEditor
codecompletionmodelcontrollerinterface.h
Go to the documentation of this file.
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 2008 Niko Sams <niko.sams@gmail.com> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 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_DEPRECATED 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_DEPRECATED 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 //BEGIN V3 00226 class KTEXTEDITOR_EXPORT CodeCompletionModelControllerInterface3 00227 { 00228 public: 00229 CodeCompletionModelControllerInterface3(); 00230 virtual ~CodeCompletionModelControllerInterface3(); 00231 00246 virtual bool shouldStartCompletion(View* view, const QString &insertedText, bool userInsertion, const Cursor &position); 00247 00262 virtual Range completionRange(View* view, const Cursor &position); 00263 00277 virtual Range updateCompletionRange(View* view, const Range& range); 00278 00293 virtual QString filterString(View* view, const Range& range, const Cursor &position); 00294 00308 virtual bool shouldAbortCompletion(View* view, const Range& range, const QString ¤tCompletion); 00309 00317 virtual bool shouldExecute(const QModelIndex& selected, QChar inserted); 00318 00323 virtual void aborted(View* view); 00324 00325 public: 00326 enum MatchReaction { 00327 None=0, 00328 HideListIfAutomaticInvocation=1, 00329 ForExtension=0xffff 00330 }; 00336 virtual MatchReaction matchingItem(const QModelIndex& matched); 00337 }; 00338 //END V3 00339 00340 } 00341 Q_DECLARE_INTERFACE(KTextEditor::CodeCompletionModelControllerInterface, "org.kde.KTextEditor.CodeCompletionModelControllerInterface") 00342 Q_DECLARE_INTERFACE(KTextEditor::CodeCompletionModelControllerInterface2, "org.kde.KTextEditor.CodeCompletionModelControllerInterface2") 00343 Q_DECLARE_INTERFACE(KTextEditor::CodeCompletionModelControllerInterface3, "org.kde.KTextEditor.CodeCompletionModelControllerInterface3") 00344 #endif // KDELIBS_KTEXTEDITOR_CODECOMPLETIONMODELCONTROLLERINTERFACE_H
KDE 4.6 API Reference