codecompletioninterface.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __ktexteditor_codecompletioninterface_h__
00020 #define __ktexteditor_codecompletioninterface_h__
00021
00022 #include <qstring.h>
00023 #include <qstringlist.h>
00024
00025 namespace KTextEditor
00026 {
00027
00040 class CompletionEntry
00041 {
00042 public:
00043 QString type;
00044 QString text;
00045 QString prefix;
00046 QString postfix;
00047 QString comment;
00048
00049 QString userdata;
00050
00051 bool operator==( const CompletionEntry &c ) const {
00052 return ( c.type == type &&
00053 c.text == text &&
00054 c.postfix == postfix &&
00055 c.prefix == prefix &&
00056 c.comment == comment &&
00057 c.userdata == userdata);
00058 }
00059 };
00060
00077 class CodeCompletionInterface
00078 {
00079 friend class PrivateCodeCompletionInterface;
00080
00081 public:
00082 CodeCompletionInterface();
00083 virtual ~CodeCompletionInterface();
00084
00085 unsigned int codeCompletionInterfaceNumber () const;
00086
00087 protected:
00088 void setCodeCompletionInterfaceDCOPSuffix (const QCString &suffix);
00089
00090
00091 public:
00092
00093
00094
00098 virtual void showArgHint (QStringList functionList, const QString& strWrapping, const QString& strDelimiter) = 0;
00099
00106 virtual void showCompletionBox (QValueList<CompletionEntry> complList,int offset=0, bool casesensitive=true)=0;
00107
00108
00109
00110
00111 public:
00112
00113
00124 virtual void completionAborted()=0;
00125
00137 virtual void completionDone()=0;
00138
00153 virtual void completionDone(CompletionEntry)=0;
00154
00165 virtual void argHintHidden()=0;
00166
00180 virtual void filterInsertString(CompletionEntry*,QString*)=0;
00181
00182
00183 private:
00184 class PrivateCodeCompletionInterface *d;
00185 static unsigned int globalCodeCompletionInterfaceNumber;
00186 unsigned int myCodeCompletionInterfaceNumber;
00187 };
00188
00189 CodeCompletionInterface *codeCompletionInterface (class View *view);
00190
00191 };
00192
00193 #endif
This file is part of the documentation for kdelibs Version 3.1.0.