QextScintillaBase Class Reference

The QextScintillaBase class implements the Scintilla editor widget and its low-level API. More...

#include <qextscintillabase.h>

Inherited by QextScintilla.

List of all members.

Public Types

Signals

Public Member Functions

Static Public Member Functions

Protected Member Functions


Detailed Description

The QextScintillaBase class implements the Scintilla editor widget and its low-level API.

Scintilla (http://www.scintilla.org) is a powerful C++ editor class that supports many features including syntax styling, error indicators, code completion and call tips. It is particularly useful as a programmer's editor.

QextScintillaBase is a port to Qt of Scintilla. It implements the standard Scintilla API which consists of a number of messages each taking up to two arguments.

See QextScintilla for the implementation of a higher level API that is more consistent with the rest of the Qt toolkit.


Member Enumeration Documentation

anonymous enum

The low-level Scintilla API is implemented as a set of messages each of which takes up to two parameters (wParam and lParam) and optionally return a value. This enum defines all the possible messages.

See also:
SendScintilla()
Enumerator:
SCI_ADDTEXT  This message appends some text to the end of the document. wParam is the length of the text. lParam is the text to be appended.
SCI_GETCURRENTPOS  This message returns the current position.

See also:
SCI_SETCURRENTPOS
SCI_GETANCHOR  This message returns the anchor.

See also:
SCI_SETANCHOR
SCI_SETSAVEPOINT  This message marks the current state of the text as the the save point. This is usually done when the text is saved or loaded.

See also:
SCN_SAVEPOINTREACHED(), SCN_SAVEPOINTLEFT()
SCI_MARKERLINEFROMHANDLE  This message returns the line that contains a particular instance of a marker. wParam is the handle of the marker.

See also:
SCI_MARKERADD
SCI_MARKERDELETEHANDLE  This message removes a particular instance of a marker. wParam is the handle of the marker.

See also:
SCI_MARKERADD
SCI_GOTOPOS  This message clears the current selection and sets the current position. wParam is the new current position.

See also:
SCI_SETCURRENTPOS
SCI_SETANCHOR  This message sets the anchor. wParam is the new anchor.

See also:
SCI_GETANCHOR
SCI_GETENDSTYLED  This message returns the character position of the start of the text that needs to be syntax styled.

See also:
SCN_STYLENEEDED()
SCI_MARKERDEFINE  This message sets the symbol used to draw one of 32 markers. Some markers have pre-defined uses, see the SC_MARKNUM_* values. wParam is the number of the marker. lParam is the marker symbol and is one of the SC_MARK_* values.

See also:
SCI_MARKERADD, SCI_MARKERDEFINEPIXMAP
SCI_MARKERSETFORE  This message sets the foreground colour used to draw a marker. A colour is represented as a 24 bit value. The 8 least significant bits correspond to red, the middle 8 bits correspond to green, and the 8 most significant bits correspond to blue. The default value is 0x000000. wParam is the number of the marker. lParam is the colour.

See also:
SCI_MARKERSETBACK
SCI_MARKERSETBACK  This message sets the background colour used to draw a marker. A colour is represented as a 24 bit value. The 8 least significant bits correspond to red, the middle 8 bits correspond to green, and the 8 most significant bits correspond to blue. The default value is 0xffffff. wParam is the number of the marker. lParam is the colour.

See also:
SCI_MARKERSETFORE
SCI_MARKERADD  This message adds a marker to a line. A handle for the marker is returned which can be used to track the marker's position. wParam is the line number. lParam is the number of the marker.

See also:
SCI_MARKERDELETE, SCI_MARKERDELETEALL, SCI_MARKERDELETEHANDLE
SCI_MARKERDELETE  This message deletes a marker from a line. wParam is the line number. lParam is the number of the marker.

See also:
SCI_MARKERADD, SCI_MARKERDELETEALL
SCI_MARKERDELETEALL  This message deletes all occurences of a marker. wParam is the number of the marker. If wParam is -1 then all markers are removed.

See also:
SCI_MARKERADD, SCI_MARKERDELETE
SCI_MARKERGET  This message returns the 32 bit mask of markers at a line. wParam is the line number.
SCI_MARKERNEXT  This message looks for the next line to contain at least one marker contained in a 32 bit mask of markers and returns the line number. wParam is the line number to start the search from. lParam is the mask of markers to search for.

See also:
SCI_MARKERPREVIOUS
SCI_MARKERPREVIOUS  This message looks for the previous line to contain at least one marker contained in a 32 bit mask of markers and returns the line number. wParam is the line number to start the search from. lParam is the mask of markers to search for.

See also:
SCI_MARKERNEXT
SCI_MARKERDEFINEPIXMAP  This message sets the symbol used to draw one of the 32 markers to a pixmap. Pixmaps use the SC_MARK_PIXMAP marker symbol. wParam is the number of the marker. lParam is a pointer to a QPixmap instance. Note that in other ports of Scintilla this is a pointer to either raw or textual XPM image data.

See also:
SCI_MARKERDEFINE
SCI_SETMARGINTYPEN  This message sets what can be displayed in a margin. wParam is the number of the margin: 0, 1 or 2. lParam is the logical or of the SC_MARGIN_* values.

See also:
SCI_GETMARGINTYPEN
SCI_GETMARGINTYPEN  This message returns what can be displayed in a margin. wParam is the number of the margin: 0, 1 or 2.

See also:
SCI_SETMARGINTYPEN
SCI_SETMARGINWIDTHN  This message sets the width of a margin in pixels. wParam is the number of the margin: 0, 1 or 2. lParam is the new margin width.

See also:
SCI_GETMARGINWIDTHN
SCI_GETMARGINWIDTHN  This message returns the width of a margin in pixels. wParam is the number of the margin: 0, 1 or 2.

See also:
SCI_SETMARGINWIDTHN
SCI_SETMARGINMASKN  This message sets the mask of a margin. The mask is a 32 value with one bit for each possible marker. If a bit is set then the corresponding marker is displayed. By default, all markers are displayed. wParam is the number of the margin: 0, 1 or 2. lParam is the new margin mask.

See also:
SCI_GETMARGINMASKN, SCI_MARKERDEFINE
SCI_GETMARGINMASKN  This message returns the mask of a margin. wParam is the number of the margin: 0, 1 or 2.

See also:
SCI_SETMARGINMASKN
SCI_SETMARGINSENSITIVEN  This message sets the sensitivity of a margin to mouse clicks. wParam is the number of the margin: 0, 1 or 2. lParam is non-zero to make the margin sensitive to mouse clicks. When the mouse is clicked the SCN_MARGINCLICK() signal is emitted.

See also:
SCI_GETMARGINSENSITIVEN, SCN_MARGINCLICK()
SCI_GETMARGINSENSITIVEN  This message returns the sensitivity of a margin to mouse clicks. wParam is the number of the margin: 0, 1 or 2.

See also:
SCI_SETMARGINSENSITIVEN, SCN_MARGINCLICK()
SCI_GETREADONLY  This message returns a non-zero value if the document is read-only.

See also:
SCI_SETREADONLY
SCI_SETCURRENTPOS  This message sets the current position. wParam is the new current position.

See also:
SCI_GETCURRENTPOS
SCI_GETMODIFY  This message returns a non-zero value if the document has been modified.
SCI_SETREADONLY  This message sets the read-only state of the document. wParam is the new read-only state of the document.

See also:
SCI_GETREADONLY
SCI_EMPTYUNDOBUFFER  This message empties the undo buffer.
SCI_SETTEXT  This message sets the text of the document. wParam is unused. lParam is the new text of the document.

See also:
SCI_GETTEXT
SCI_GETTEXT  This message gets the text of the document. wParam is size of the buffer that the text is copied to. lParam is the address of the buffer that the text is copied to.

See also:
SCI_SETTEXT
SCI_GETTEXTLENGTH  This message returns the length of the document.
SCI_TEXTWIDTH  This message returns the width of some text when rendered in a particular style. wParam is the style number and is one of the STYLE_* values or one of the styles defined by a lexer. lParam is a pointer to the text.
SCI_REGISTERIMAGE  This message takes a copy of an image and registers it so that it can be refered to by a unique integer identifier. wParam is the image's identifier. lParam is a pointer to a QPixmap instance. Note that in other ports of Scintilla this is a pointer to either raw or textual XPM image data.

See also:
SCI_CLEARREGISTEREDIMAGES
SCI_CLEARREGISTEREDIMAGES  This message de-registers all currently registered images.

See also:
SCI_REGISTERIMAGE
SCI_SETLEXER  This message sets the number of the lexer to use for syntax styling. wParam is the number of the lexer and is one of the SCLEX_* values.
SCI_GETLEXER  This message returns the number of the lexer being used for syntax styling.
SCI_SETLEXERLANGUAGE  This message sets the name of the lexer to use for syntax styling. wParam is unused. lParam is the name of the lexer.

anonymous enum

This enum defines the different selection modes.

See also:
SCI_GETSELECTIONMODE, SCI_SETSELECTIONMODE

anonymous enum

This enum defines the different marker symbols.

See also:
SCI_MARKERDEFINE
Enumerator:
SC_MARK_CIRCLE  A circle.
SC_MARK_ROUNDRECT  A rectangle.
SC_MARK_ARROW  A triangle pointing to the right.
SC_MARK_SMALLRECT  A smaller rectangle.
SC_MARK_SHORTARROW  An arrow pointing to the right.
SC_MARK_EMPTY  An invisible marker that allows code to track the movement of lines.
SC_MARK_ARROWDOWN  A triangle pointing down.
SC_MARK_MINUS  A drawn minus sign.
SC_MARK_PLUS  A drawn plus sign.
SC_MARK_VLINE  A vertical line drawn in the background colour.
SC_MARK_LCORNER  A bottom left corner drawn in the background colour.
SC_MARK_TCORNER  A vertical line with a centre right horizontal line drawn in the background colour.
SC_MARK_BOXPLUS  A drawn plus sign in a box.
SC_MARK_BOXPLUSCONNECTED  A drawn plus sign in a connected box.
SC_MARK_BOXMINUS  A drawn minus sign in a box.
SC_MARK_BOXMINUSCONNECTED  A drawn minus sign in a connected box.
SC_MARK_LCORNERCURVE  A rounded bottom left corner drawn in the background colour.
SC_MARK_TCORNERCURVE  A vertical line with a centre right curved line drawn in the background colour.
SC_MARK_CIRCLEPLUS  A drawn plus sign in a circle.
SC_MARK_CIRCLEPLUSCONNECTED  A drawn plus sign in a connected box.
SC_MARK_CIRCLEMINUS  A drawn minus sign in a circle.
SC_MARK_CIRCLEMINUSCONNECTED  A drawn minus sign in a connected circle.
SC_MARK_BACKGROUND  No symbol is drawn but the line of text is drawn with the same background colour.
SC_MARK_DOTDOTDOT  Three drawn dots.
SC_MARK_ARROWS  Three drawn arrows pointing right.
SC_MARK_PIXMAP  An XPM format pixmap.
SC_MARK_FULLRECT  A full rectangle.
SC_MARK_CHARACTER  Characters can be used as symbols by adding this to the ASCII value of the character.

anonymous enum

This enum defines what can be displayed in a margin.

See also:
SCI_GETMARGINTYPEN, SCI_SETMARGINTYPEN
Enumerator:
SC_MARGIN_SYMBOL  The margin can display symbols. Note that all margins can display symbols.
SC_MARGIN_NUMBER  The margin will display line numbers.
SC_MARGIN_BACK  The margin's background color will be set to the default background color.
SC_MARGIN_FORE  The margin's background color will be set to the default foreground color.

anonymous enum

This enum defines the different modifier keys.

Enumerator:
SCMOD_NORM  No modifier key.
SCMOD_SHIFT  Shift key.
SCMOD_CTRL  Control key.
SCMOD_ALT  Alt key.

anonymous enum

This enum defines the different language lexers.

See also:
SCI_GETLEXER, SCI_SETLEXER
Enumerator:
SCLEX_CONTAINER  No lexer is selected and the SCN_STYLENEEDED signal is emitted so that the application can style the text as needed. This is the default.
SCLEX_NULL  Select the null lexer that does no syntax styling.
SCLEX_PYTHON  Select the Python lexer.
SCLEX_CPP  Select the C++ lexer.
SCLEX_HTML  Select the HTML lexer.
SCLEX_XML  Select the XML lexer.
SCLEX_PERL  Select the Perl lexer.
SCLEX_SQL  Select the SQL lexer.
SCLEX_VB  Select the Visual Basic lexer.
SCLEX_PROPERTIES  Select the lexer for properties style files.
SCLEX_ERRORLIST  Select the lexer for error list style files.
SCLEX_MAKEFILE  Select the Makefile lexer.
SCLEX_BATCH  Select the Windows batch file lexer.
SCLEX_LATEX  Select the LaTex lexer.
SCLEX_LUA  Select the Lua lexer.
SCLEX_DIFF  Select the lexer for diff output.
SCLEX_CONF  Select the lexer for Apache configuration files.
SCLEX_PASCAL  Select the Pascal lexer.
SCLEX_AVE  Select the Avenue lexer.
SCLEX_ADA  Select the Ada lexer.
SCLEX_LISP  Select the Lisp lexer.
SCLEX_RUBY  Select the Ruby lexer.
SCLEX_EIFFEL  Select the Eiffel lexer.
SCLEX_EIFFELKW  Select the Eiffel lexer folding at keywords.
SCLEX_TCL  Select the Tcl lexer.
SCLEX_NNCRONTAB  Select the lexer for nnCron files.
SCLEX_BULLANT  Select the Bullant lexer.
SCLEX_VBSCRIPT  Select the VBScript lexer.
SCLEX_ASP  Select the ASP lexer.
SCLEX_PHP  Select the PHP lexer.
SCLEX_BAAN  Select the Baan lexer.
SCLEX_MATLAB  Select the Matlab lexer.
SCLEX_SCRIPTOL  Select the Scriptol lexer.
SCLEX_ASM  Select the assembler lexer.
SCLEX_CPPNOCASE  Select the C++ lexer with case insensitive keywords.
SCLEX_FORTRAN  Select the FORTRAN lexer.
SCLEX_F77  Select the FORTRAN77 lexer.
SCLEX_CSS  Select the CSS lexer.
SCLEX_POV  Select the POV lexer.
SCLEX_LOUT  Select the Basser Lout typesetting language lexer.
SCLEX_ESCRIPT  Select the EScript lexer.
SCLEX_PS  Select the PostScript lexer.
SCLEX_NSIS  Select the NSIS lexer.
SCLEX_MMIXAL  Select the MMIX assembly language lexer.
SCLEX_CLW  Select the Clarion lexer.
SCLEX_CLWNOCASE  Select the Clarion lexer with case insensitive keywords.
SCLEX_LOT  Select the MPT text log file lexer.
SCLEX_YAML  Select the YAML lexer.
SCLEX_TEX  Select the TeX lexer.
SCLEX_METAPOST  Select the Metapost lexer.
SCLEX_POWERBASIC  Select the PowerBASIC lexer.
SCLEX_FORTH  Select the Forth lexer.
SCLEX_ERLANG  Select the Erlang lexer.
SCLEX_OCTAVE  Select the Octave lexer.
SCLEX_MSSQL  Select the MS SQL lexer.
SCLEX_VERILOG  Select the Verilog lexer.
SCLEX_KIX  Select the KIX-Scripts lexer.
SCLEX_GUI4CLI  Select the Gui4Cli lexer.
SCLEX_SPECMAN  Select the Specman E lexer.
SCLEX_AU3  Select the AutoIt3 lexer.
SCLEX_APDL  Select the APDL lexer.
SCLEX_BASH  Select the Bash lexer.
SCLEX_ASN1  Select the ASN.1 lexer.
SCLEX_VHDL  Select the VHDL lexer.
SCLEX_CAML  Select the Caml lexer.
SCLEX_BLITZBASIC  Select the BlitzBasic lexer.
SCLEX_PUREBASIC  Select the PureBasic lexer.
SCLEX_HASKELL  Select the Haskell lexer.
SCLEX_PHPSCRIPT  Select the PHPScript lexer.
SCLEX_TADS3  Select the TADS3 lexer.
SCLEX_REBOL  Select the REBOL lexer.
SCLEX_SMALLTALK  Select the Smalltalk lexer.
SCLEX_FLAGSHIP  Select the FlagShip lexer.
SCLEX_CSOUND  Select the Csound lexer.
SCLEX_FREEBASIC  Select the FreeBasic lexer.
SCLEX_INNOSETUP  Select the InnoSetup lexer.
SCLEX_OPAL  Select the Opal lexer.
SCLEX_SPICE  Select the Spice lexer.


Constructor & Destructor Documentation

QextScintillaBase::QextScintillaBase ( QWidget *  parent = 0,
const char *  name = 0,
WFlags  f = 0 
)

Construct an empty QextScintillaBase with parent parent, name name, and widget flags f.

virtual QextScintillaBase::~QextScintillaBase (  )  [virtual]

Destroys the QextScintillaBase instance.


Member Function Documentation

static QextScintillaBase* QextScintillaBase::pool (  )  [static]

Returns a pointer to a QextScintillaBase instance, or 0 if there isn't one. This can be used by the higher level API to send messages that aren't associated with a particular instance.

long QextScintillaBase::SendScintilla ( unsigned int  msg,
unsigned long  wParam = 0,
long  lParam = 0 
)

Send the Scintilla message msg with the optional parameters wParam and lParam.

virtual QSize QextScintillaBase::sizeHint (  )  const [virtual]

Returns the recommended size of the widget.

QWidget* QextScintillaBase::viewport (  )  const

Returns the viewport widget. This is the widget that actually contains the text.

void QextScintillaBase::QSCN_SELCHANGED ( bool  yes  )  [signal]

This signal is emitted when text is selected or de-selected. yes is TRUE if text has been selected and FALSE if text has been deselected.

void QextScintillaBase::SCN_AUTOCSELECTION ( const char *  selection,
int  position 
) [signal]

This signal is emitted when the user selects an item in an auto-completion list. It is emitted before the selection is inserted. The insertion can be cancelled by sending an SCI_AUTOCANCEL message from a connected slot. position is the start position of the word being completed. selection is the text of the selection.

void QextScintillaBase::SCEN_CHANGE (  )  [signal]

This signal is emitted when the document has changed for any reason.

void QextScintillaBase::SCN_CALLTIPCLICK ( int  direction  )  [signal]

This signal ir emitted when the user clicks on a calltip. position is 1 if the user clicked on the up arrow, 2 if the user clicked on the down arrow, and 0 if the user clicked elsewhere.

void QextScintillaBase::SCN_CHARADDED ( int  charadded  )  [signal]

This signal is emitted whenever the user enters an ordinary character into the text. charadded is the character. It can be used to decide to display a call tip or an auto-completion list.

void QextScintillaBase::SCN_HOTSPOTCLICK ( int  position,
int  modifiers 
) [signal]

This signal is emitted when the user clicks on text in a style with the hotspot attribute set. position is the position in the text where the click occured. modifiers is the logical or of the modifier keys that were pressed when the user clicked.

void QextScintillaBase::SCN_HOTSPOTDOUBLECLICK ( int  position,
int  modifiers 
) [signal]

This signal is emitted when the user double clicks on text in a style with the hotspot attribute set. position is the position in the text where the double click occured. modifiers is the logical or of the modifier keys that were pressed when the user double clicked.

void QextScintillaBase::SCN_MACRORECORD ( unsigned  int,
unsigned  long,
long   
) [signal]

This signal is emitted when a recordable editor command has been executed.

void QextScintillaBase::SCN_MARGINCLICK ( int  position,
int  modifiers,
int  margin 
) [signal]

This signal is emitted when the user clicks on a sensitive margin. position is the position of the start of the line against which the user clicked. modifiers is the logical or of the modifier keys that were pressed when the user clicked. margin is the number of the margin the user clicked in: 0, 1 or 2.

See also:
SCI_GETMARGINSENSITIVEN, SCI_SETMARGINSENSITIVEN

void QextScintillaBase::SCN_MODIFYATTEMPTRO (  )  [signal]

This signal is emitted when the user attempts to modify read-only text.

void QextScintillaBase::SCN_PAINTED (  )  [signal]

This signal is emitted when painting has been completed. It is useful to trigger some other change but to have the paint be done first to appear more reponsive to the user.

void QextScintillaBase::SCN_SAVEPOINTLEFT (  )  [signal]

This signal is emitted when the current state of the text no longer corresponds to the state of the text at the save point.

See also:
SCI_SETSAVEPOINT, SCN_SAVEPOINTREACHED()

void QextScintillaBase::SCN_SAVEPOINTREACHED (  )  [signal]

This signal is emitted when the current state of the text corresponds to the state of the text at the save point. This allows feedback to be given to the user as to whether the text has been modified since it was last saved.

See also:
SCI_SETSAVEPOINT, SCN_SAVEPOINTLEFT()

void QextScintillaBase::SCN_STYLENEEDED ( int  position  )  [signal]

This signal is emitted when a range of text needs to be syntax styled. The range is from the value returned by the SCI_GETENDSTYLED message and position. It is only emitted if the currently selected lexer is SCNLEX_CONTAINER.

See also:
SCI_COLOURISE, SCI_GETENDSTYLED

bool QextScintillaBase::eventFilter ( QObject *  o,
QEvent *  e 
) [protected]

Re-implemented to filter certain events.

virtual void QextScintillaBase::keyPressEvent ( QKeyEvent *  ke  )  [protected, virtual]

Re-implemented to handle the key presses for the widget.

virtual void QextScintillaBase::focusInEvent ( QFocusEvent *   )  [protected, virtual]

Re-implemented to tell Scintilla it has the focus.

virtual void QextScintillaBase::focusOutEvent ( QFocusEvent *   )  [protected, virtual]

Re-implemented to tell Scintilla it has lost the focus.

virtual bool QextScintillaBase::focusNextPrevChild ( bool   )  [protected, virtual]

Re-implemented to allow tabs to be entered as text.

virtual void QextScintillaBase::startDrag (  )  [protected, virtual]

Start a drag operation.


Generated on Thu Nov 30 09:32:31 2006 for QScintilla by  doxygen 1.4.7