# QextScintillaLexerCPP Class Reference

The QextScintillaLexerCPP class encapsulates the Scintilla C++ lexer. More...

`#include <qextscintillalexercpp.h>`

Inherits QextScintillaLexer.

Inherited by QextScintillaLexerCSharp, QextScintillaLexerIDL, QextScintillaLexerJava, and QextScintillaLexerJavaScript.

List of all members.

## Public Types

- Default = 0
- WhiteSpace = Default
- Comment = 1
- CommentLine = 2
- CommentDoc = 3
- Number = 4
- Keyword = 5
- DoubleQuotedString = 6
- SingleQuotedString = 7
- UUID = 8
- PreProcessor = 9
- Operator = 10
- Identifier = 11
- UnclosedString = 12
- VerbatimString = 13
- Regex = 14
- CommentLineDoc = 15
- KeywordSet2 = 16
- CommentDocKeyword = 17
- CommentDocKeywordError = 18
- GlobalClass = 19
- enum {
  Default = 0, WhiteSpace = Default, Comment = 1,
  CommentLine = 2, CommentDoc = 3, Number = 4,
  Keyword = 5, DoubleQuotedString = 6, SingleQuotedString = 7,
  UUID = 8, PreProcessor = 9, Operator = 10,
  Identifier = 11, UnclosedString = 12, VerbatimString = 13,
  Regex = 14, CommentLineDoc = 15, KeywordSet2 = 16,
  CommentDocKeyword = 17, CommentDocKeywordError = 18, GlobalClass = 19
  }

## Public Slots

- virtual void setFoldAtElse (bool fold)
- virtual void setFoldComments (bool fold)
- virtual void setFoldCompact (bool fold)
- virtual void setFoldPreprocessor (bool fold)
- virtual void setStylePreprocessor (bool style)

## Public Member Functions

- QextScintillaLexerCPP (QObject *parent=0, const char *name=0, bool caseInsensitiveKeywords=FALSE)
- virtual ~QextScintillaLexerCPP ()
- const char * language () const
- const char * lexer () const
- const char * blockEnd (int *style=0) const
- const char * blockStart (int *style=0) const
- const char * blockStartKeyword (int *style=0) const
- int braceStyle () const
- const char * wordCharacters () const
- QColor color (int style) const
- bool eolFill (int style) const
- QFont font (int style) const
- const char * keywords (int set) const
- QString description (int style) const
- QColor paper (int style) const
- void refreshProperties ()
- bool foldAtElse () const
- bool foldComments () const
- bool foldCompact () const
- bool foldPreprocessor () const
- bool stylePreprocessor () const

## Protected Member Functions

- bool readProperties (QSettings &qs, const QString &prefix)
- bool writeProperties (QSettings &qs, const QString &prefix) const

## Detailed Description

The QextScintillaLexerCPP class encapsulates the Scintilla C++ lexer.

## Member Enumeration Documentation

anonymous enum

This enum defines the meanings of the different styles used by the C++ lexer.

Enumerator:

  Default | The default.

  WhiteSpace

  Deprecated:
    White space.

  Comment | A C comment.
  CommentLine | A C++ comment line.
  CommentDoc | A JavaDoc/Doxygen style C comment.
  Number | A number.
  Keyword | A keyword.
  DoubleQuotedString | A double-quoted string.
  SingleQuotedString | A single-quoted string.
  UUID | An IDL UUID.
  PreProcessor | A pre-processor block.
  Operator | An operator.
  Identifier | An identifier.
  UnclosedString | The end of a line where a string is not closed.
  VerbatimString | A C# verbatim string.
  Regex | A JavaScript regular expression.
  CommentLineDoc | A JavaDoc/Doxygen style C++ comment line.
  KeywordSet2 | A keyword defined in keyword set number 2. The class must be sub-classed and re-implement keywords() to make use of this style.
  CommentDocKeyword | A JavaDoc/Doxygen keyword.
  CommentDocKeywordError | A JavaDoc/Doxygen keyword error.
  GlobalClass | A global class or typedef defined in keyword set number 4. The class must be sub-classed and re-implement keywords() to make use of this style.

## Constructor & Destructor Documentation

QextScintillaLexerCPP::QextScintillaLexerCPP | ( | QObject * | parent = `0`,
|  | const char * | name = `0`,
|  | bool | caseInsensitiveKeywords = `FALSE` |
| ) |  |  |

Construct a QextScintillaLexerCPP with parent parent and name name. parent is typically the QextScintilla instance. caseInsensitiveKeywords is TRUE if the lexer ignores the case of keywords.

virtual QextScintillaLexerCPP::~QextScintillaLexerCPP | ( |  | ) | `[virtual]`

Destroys the QextScintillaLexerCPP instance.

## Member Function Documentation

const char* QextScintillaLexerCPP::language | ( |  | ) | const`[virtual]`

Returns the name of the language.

Implements QextScintillaLexer.

Reimplemented in QextScintillaLexerCSharp, QextScintillaLexerIDL, QextScintillaLexerJava, and QextScintillaLexerJavaScript.

const char* QextScintillaLexerCPP::lexer | ( |  | ) | const`[virtual]`

Returns the name of the lexer. Some lexers support a number of languages.

Implements QextScintillaLexer.

QColor QextScintillaLexerCPP::color | ( | int | style | ) | const`[virtual]`

Returns the foreground colour of the text for style number style.

See also:
  paper()

Reimplemented from QextScintillaLexer.

Reimplemented in QextScintillaLexerCSharp, QextScintillaLexerIDL, and QextScintillaLexerJavaScript.

bool QextScintillaLexerCPP::eolFill | ( | int | style | ) | const`[virtual]`

Returns the end-of-line fill for style number style.

Reimplemented from QextScintillaLexer.

Reimplemented in QextScintillaLexerCSharp, and QextScintillaLexerJavaScript.

QFont QextScintillaLexerCPP::font | ( | int | style | ) | const`[virtual]`

Returns the font for style number style.

Reimplemented from QextScintillaLexer.

Reimplemented in QextScintillaLexerCSharp, and QextScintillaLexerJavaScript.

const char* QextScintillaLexerCPP::keywords | ( | int | set | ) | const`[virtual]`

Returns the set of keywords for the keyword set set recognised by the lexer as a space separated string.

Reimplemented from QextScintillaLexer.

Reimplemented in QextScintillaLexerCSharp, QextScintillaLexerIDL, QextScintillaLexerJava, and QextScintillaLexerJavaScript.

QString QextScintillaLexerCPP::description | ( | int | style | ) | const`[virtual]`

Returns the descriptive name for style number style. If the style is invalid for this language then QString::null is returned. This is intended to be used in user preference dialogs.

Implements QextScintillaLexer.

Reimplemented in QextScintillaLexerCSharp, QextScintillaLexerIDL, and QextScintillaLexerJavaScript.

QColor QextScintillaLexerCPP::paper | ( | int | style | ) | const`[virtual]`

Returns the background colour of the text for style number style.

See also:
  color()

Reimplemented from QextScintillaLexer.

Reimplemented in QextScintillaLexerCSharp, and QextScintillaLexerJavaScript.

void QextScintillaLexerCPP::refreshProperties | ( |  | ) | `[virtual]`

Causes all properties to be refreshed by emitting the propertyChanged() signal as required.

Reimplemented from QextScintillaLexer.

bool QextScintillaLexerCPP::foldAtElse | ( |  | ) | const

Returns TRUE if "} else {" lines can be folded.

See also:
  setFoldAtElse()

bool QextScintillaLexerCPP::foldComments | ( |  | ) | const

Returns TRUE if multi-line comment blocks can be folded.

See also:
  setFoldComments()

bool QextScintillaLexerCPP::foldCompact | ( |  | ) | const

Returns TRUE if trailing blank lines are included in a fold block.

See also:
  setFoldCompact()

bool QextScintillaLexerCPP::foldPreprocessor | ( |  | ) | const

Returns TRUE if preprocessor blocks can be folded.

See also:
  setFoldPreprocessor()

bool QextScintillaLexerCPP::stylePreprocessor | ( |  | ) | const

Returns TRUE if preprocessor lines (after the preprocessor directive) are styled.

See also:
  setStylePreprocessor()

virtual void QextScintillaLexerCPP::setFoldAtElse | ( | bool | fold | ) | `[virtual, slot]`

If fold is TRUE then "} else {" lines can be folded. The default is FALSE.

See also:
  foldAtElse()

virtual void QextScintillaLexerCPP::setFoldComments | ( | bool | fold | ) | `[virtual, slot]`

If fold is TRUE then multi-line comment blocks can be folded. The default is FALSE.

See also:
  foldComments()

virtual void QextScintillaLexerCPP::setFoldCompact | ( | bool | fold | ) | `[virtual, slot]`

If fold is TRUE then trailing blank lines are included in a fold block. The default is TRUE.

See also:
  foldCompact()

virtual void QextScintillaLexerCPP::setFoldPreprocessor | ( | bool | fold | ) | `[virtual, slot]`

If fold is TRUE then preprocessor blocks can be folded. The default is TRUE.

See also:
  foldPreprocessor()

virtual void QextScintillaLexerCPP::setStylePreprocessor | ( | bool | style | ) | `[virtual, slot]`

If style is TRUE then preprocessor lines (after the preprocessor directive) are styled. The default is FALSE.

See also:
  stylePreprocessor()

bool QextScintillaLexerCPP::readProperties | ( | QSettings & | qs,
|  | const QString & | prefix |
| ) |  |  | `[protected, virtual]`

The lexer's properties are read from the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. TRUE is returned if there is no error.

See also:
  writeProperties()

Reimplemented from QextScintillaLexer.

bool QextScintillaLexerCPP::writeProperties | ( | QSettings & | qs,
|  | const QString & | prefix |
| ) |  |  | const`[protected, virtual]`

The lexer's properties are written to the settings qs. prefix (which has a trailing '/') should be used as a prefix to the key of each setting. TRUE is returned if there is no error.

See also:
  readProperties()

Reimplemented from QextScintillaLexer.