You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.7 KiB
85 lines
2.7 KiB
13 years ago
|
// 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
|