QScintilla  2.10
Signals | Public Member Functions | List of all members
QsciAPIs Class Reference

#include <qsciapis.h>

Inherits QsciAbstractAPIs.

Signals

void apiPreparationCancelled ()
 
void apiPreparationStarted ()
 
void apiPreparationFinished ()
 

Public Member Functions

 QsciAPIs (QsciLexer *lexer)
 
virtual ~QsciAPIs ()
 
void add (const QString &entry)
 
void clear ()
 
bool load (const QString &filename)
 
void remove (const QString &entry)
 
void prepare ()
 
void cancelPreparation ()
 
QString defaultPreparedName () const
 
bool isPrepared (const QString &filename=QString()) const
 
bool loadPrepared (const QString &filename=QString())
 
bool savePrepared (const QString &filename=QString()) const
 
virtual void updateAutoCompletionList (const QStringList &context, QStringList &list)
 
virtual void autoCompletionSelected (const QString &sel)
 
virtual QStringList callTips (const QStringList &context, int commas, QsciScintilla::CallTipsStyle style, QList< int > &shifts)
 
virtual bool event (QEvent *e)
 
QStringList installedAPIFiles () const
 
- Public Member Functions inherited from QsciAbstractAPIs
 QsciAbstractAPIs (QsciLexer *lexer)
 
virtual ~QsciAbstractAPIs ()
 
QsciLexerlexer () const
 

Detailed Description

The QsciAPIs class provies an implementation of the textual API information used in call tips and for auto-completion.

Raw 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.

QScintilla only deals with prepared API information and not the raw information described above. This is done so that large APIs can be handled while still being responsive to user input. The conversion of raw information to prepared information is time consuming (think tens of seconds) and implemented in a separate thread. Prepared information can be quickly saved to and loaded from files. Such files are portable between different architectures.

QScintilla based applications that want to support large APIs would normally provide the user with the ability to specify a set of, possibly project specific, raw API files and convert them to prepared files that are loaded quickly when the application is invoked.

Constructor & Destructor Documentation

QsciAPIs::QsciAPIs ( QsciLexer lexer)

Constructs a QsciAPIs instance attached to lexer lexer. lexer becomes the instance's parent object although the instance can also be subsequently attached to other lexers.

Member Function Documentation

void QsciAPIs::add ( const QString &  entry)

Add the single raw API entry entry to the current set.

See also
clear(), load(), remove()
void QsciAPIs::clear ( )

Deletes all raw API information.

See also
add(), load(), remove()
bool QsciAPIs::load ( const QString &  filename)

Load the API information from the file named filename, adding it to the current set. Returns true if successful, otherwise false.

void QsciAPIs::remove ( const QString &  entry)

Remove the single raw API entry entry from the current set.

See also
add(), clear(), load()
void QsciAPIs::prepare ( )

Convert the current raw API information to prepared API information. This is implemented by a separate thread.

See also
cancelPreparation()
void QsciAPIs::cancelPreparation ( )

Cancel the conversion of the current raw API information to prepared API information.

See also
prepare()
QString QsciAPIs::defaultPreparedName ( ) const

Return the default name of the prepared API information file. It is based on the name of the associated lexer and in the directory defined by the QSCIDIR environment variable. If the environment variable isn't set then $HOME/.qsci is used.

bool QsciAPIs::isPrepared ( const QString &  filename = QString()) const

Check to see is a prepared API information file named filename exists. If filename is empty then the value returned by defaultPreparedName() is used. Returns true if successful, otherwise false.

See also
defaultPreparedName()
bool QsciAPIs::loadPrepared ( const QString &  filename = QString())

Load the prepared API information from the file named filename. If filename is empty then a name is constructed based on the name of the associated lexer and saved in the directory defined by the QSCIDIR environment variable. If the environment variable isn't set then $HOME/.qsci is used. Returns true if successful, otherwise false.

bool QsciAPIs::savePrepared ( const QString &  filename = QString()) const

Save the prepared API information to the file named filename. If filename is empty then a name is constructed based on the name of the associated lexer and saved in the directory defined by the QSCIDIR environment variable. If the environment variable isn't set then $HOME/.qsci is used. Returns true if successful, otherwise false.

QStringList QsciAPIs::installedAPIFiles ( ) const

Return a list of the installed raw API file names for the associated lexer.

void QsciAPIs::apiPreparationCancelled ( )
signal

This signal is emitted when the conversion of raw API information to prepared API information has been cancelled.

See also
apiPreparationFinished(), apiPreparationStarted()
void QsciAPIs::apiPreparationStarted ( )
signal

This signal is emitted when the conversion of raw API information to prepared API information starts and can be used to give some visual feedback to the user.

See also
apiPreparationCancelled(), apiPreparationFinished()
void QsciAPIs::apiPreparationFinished ( )
signal

This signal is emitted when the conversion of raw API information to prepared API information has finished.

See also
apiPreparationCancelled(), apiPreparationStarted()