diff options
Diffstat (limited to 'qt/qextscintillaapis.h')
-rw-r--r-- | qt/qextscintillaapis.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/qt/qextscintillaapis.h b/qt/qextscintillaapis.h new file mode 100644 index 0000000..e112e41 --- /dev/null +++ b/qt/qextscintillaapis.h @@ -0,0 +1,84 @@ +// This module defines interface to the QextScintillaAPIs class. +// +// Copyright (c) 2006 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// This file is part of QScintilla. +// +// This copy of QScintilla is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2, or (at your option) any +// later version. +// +// QScintilla is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// QScintilla; see the file LICENSE. If not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +#ifndef QEXTSCINTILLAAPIS_H +#define QEXTSCINTILLAAPIS_H + + +#include <qstringlist.h> + +#include <qextscintillaglobal.h> + + +//! \brief The QextScintillaAPIs class represents the textual API information +//! used in call tips and for auto-completion. +//! +//! API information is read from one or more files. Each API function is +//! described by a single line of text comprising the function's name, followed +//! by the function's optional comma separated parameters enclosed in +//! parenthesis, and finally followed by optional explanatory text. +//! +//! A function name may be followed by a `?' and a number. The number is used +//! by auto-completion to display a registered QPixmap with the function name. +//! +//! All function names are used by auto-completion, but only those that include +//! function parameters are used in call tips. +class QEXTSCINTILLA_EXPORT QextScintillaAPIs +{ +public: + //! Constructs a QextScintillaAPIs instance. + QextScintillaAPIs(); + + //! Destroys the QextScintillaAPIs instance. + ~QextScintillaAPIs(); + + //! Add the single API entry \a entry to the current set. + void add(const QString &entry); + + //! Load the API information from the file named \a fname, adding it to + //! the current set. Returns TRUE if successful, otherwise FALSE. + bool load(const QString &fname); + + //! Deletes all API information. + void clear(); + +private: + friend class QextScintilla; + + void autoCompletionList(const QString &starts, bool cs, + QStringList &wlist); + QString callTips(const QString &function,int maxnr,int commas); + QString callTipsNextPrev(int dir); + void ensureSorted(); + + bool sorted; + int ctcursor; + QStringList apis; + QStringList ctlist; + +#if defined(Q_DISABLE_COPY) + QextScintillaAPIs(const QextScintillaAPIs &); + QextScintillaAPIs &operator=(const QextScintillaAPIs &); +#endif +}; + +#endif |