summaryrefslogtreecommitdiffstats
path: root/tqt/tqextscintilla.h
diff options
context:
space:
mode:
Diffstat (limited to 'tqt/tqextscintilla.h')
-rw-r--r--tqt/tqextscintilla.h1458
1 files changed, 1458 insertions, 0 deletions
diff --git a/tqt/tqextscintilla.h b/tqt/tqextscintilla.h
new file mode 100644
index 0000000..fa2e590
--- /dev/null
+++ b/tqt/tqextscintilla.h
@@ -0,0 +1,1458 @@
+// This module defines the "official" high-level API of the TQt port of
+// Scintilla.
+//
+// Copyright (c) 2006
+// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
+//
+// This file is part of TQScintilla.
+//
+// This copy of TQScintilla 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.
+//
+// TQScintilla 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
+// TQScintilla; see the file LICENSE. If not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+
+#ifndef TQEXTSCINTILLA_H
+#define TQEXTSCINTILLA_H
+
+
+#include <tqobject.h>
+#include <tqguardedptr.h>
+
+#include <tqextscintillaglobal.h>
+#include <tqextscintillabase.h>
+#include <tqextscintilladocument.h>
+
+
+class TQextScintillaLexer;
+class TQextScintillaAPIs;
+class TQextScintillaCommandSet;
+
+
+//! \brief The TQextScintilla class implements a higher level, more TQt-like,
+//! API to the Scintilla editor widget.
+//!
+//! TQextScintilla implements methods, signals and slots similar to those found
+//! in other TQt editor classes. It also provides a higher level interface to
+//! features specific to Scintilla such as syntax styling, call tips,
+//! auto-indenting and auto-completion than that provided by TQextScintillaBase.
+//!
+//! The API is modelled on TQTextEdit - a method of the same name should behave
+//! in the same way.
+class TQEXTSCINTILLA_EXPORT TQextScintilla : public TQextScintillaBase
+{
+ TQ_OBJECT
+
+
+public:
+ //! This enum defines the different auto-indentation styles.
+ enum {
+ //! A line is automatically indented to match the previous
+ //! line.
+ AiMaintain = 0x01,
+
+ //! If the language supported by the current lexer has a
+ //! specific start of block character (e.g. { in C++), then a
+ //! line that begins with that character is indented as well as
+ //! the lines that make up the block. It may be logically ored
+ //! with AiClosing.
+ AiOpening = 0x02,
+
+ //! If the language supported by the current lexer has a
+ //! specific end of block character (e.g. } in C++), then a
+ //! line that begins with that character is indented as well as
+ //! the lines that make up the block. It may be logically ored
+ //! with AiOpening.
+ AiClosing = 0x04
+ };
+
+ //! This enum defines the different sources for auto-completion lists.
+ enum AutoCompletionSource {
+ //! The source is the current document.
+ AcsDocument,
+
+ //! The source is any installed APIs.
+ AcsAPIs,
+
+ //! The source is all available sources.
+ AcsAll
+ };
+
+ //! This enum defines the different brace matching modes. The
+ //! character pairs {}, [] and () are treated as braces. The Python
+ //! lexer will also match a : with the end of the corresponding
+ //! indented block.
+ enum BraceMatch {
+ //! Brace matching is disabled.
+ NoBraceMatch,
+
+ //! Brace matching is enabled for a brace immediately before
+ //! the current position.
+ StrictBraceMatch,
+
+ //! Brace matching is enabled for a brace immediately before or
+ //! after the current position.
+ SloppyBraceMatch
+ };
+
+ //! This enum defines the different edge modes for long lines.
+ enum EdgeMode {
+ //! Long lines are not marked.
+ EdgeNone = EDGE_NONE,
+
+ //! A vertical line is drawn at the column set by
+ //! setEdgeColumn(). This is recommended for monospace fonts.
+ EdgeLine = EDGE_LINE,
+
+ //! The background color of characters after the column limit
+ //! is changed to the color set by setEdgeColor(). This is
+ //! recommended for proportional fonts.
+ EdgeBackground = EDGE_BACKGROUND
+ };
+
+ //! This enum defines the different end-of-line modes.
+ enum EolMode {
+ //! A carriage return/line feed as used on Windows systems.
+ EolWindows = SC_EOL_CRLF,
+
+ //! A line feed as used on Unix systems.
+ EolUnix = SC_EOL_LF,
+
+ //! A carriage return as used on Mac systems.
+ EolMac = SC_EOL_CR
+ };
+
+ //! This enum defines the different styles for the folding margin.
+ enum FoldStyle {
+ //! Folding is disabled.
+ NoFoldStyle,
+
+ //! Plain folding style using plus and minus symbols.
+ PlainFoldStyle,
+
+ //! Circled folding style using circled plus and minus symbols.
+ CircledFoldStyle,
+
+ //! Boxed folding style using boxed plus and minus symbols.
+ BoxedFoldStyle,
+
+ //! Circled tree style using a flattened tree with circled plus
+ //! and minus symbols and rounded corners.
+ CircledTreeFoldStyle,
+
+ //! Boxed tree style using a flattened tree with boxed plus and
+ //! minus symbols and right-angled corners.
+ BoxedTreeFoldStyle
+ };
+
+ //! This enum defines the different pre-defined marker symbols.
+ enum MarkerSymbol {
+ //! A circle.
+ Circle = SC_MARK_CIRCLE,
+
+ //! A rectangle.
+ Rectangle = SC_MARK_ROUNDRECT,
+
+ //! A triangle pointing to the right.
+ RightTriangle = SC_MARK_ARROW,
+
+ //! A smaller rectangle.
+ SmallRectangle = SC_MARK_SMALLRECT,
+
+ //! An arrow pointing to the right.
+ RightArrow = SC_MARK_SHORTARROW,
+
+ //! An invisible marker that allows code to track the movement
+ //! of lines.
+ Invisible = SC_MARK_EMPTY,
+
+ //! A triangle pointing down.
+ DownTriangle = SC_MARK_ARROWDOWN,
+
+ //! A drawn minus sign.
+ Minus = SC_MARK_MINUS,
+
+ //! A drawn plus sign.
+ Plus = SC_MARK_PLUS,
+
+ //! A vertical line drawn in the background colour.
+ VerticalLine = SC_MARK_VLINE,
+
+ //! A bottom left corner drawn in the background colour.
+ BottomLeftCorner = SC_MARK_LCORNER,
+
+ //! A vertical line with a centre right horizontal line drawn
+ //! in the background colour.
+ LeftSideSplitter = SC_MARK_TCORNER,
+
+ //! A drawn plus sign in a box.
+ BoxedPlus = SC_MARK_BOXPLUS,
+
+ //! A drawn plus sign in a connected box.
+ BoxedPlusConnected = SC_MARK_BOXPLUSCONNECTED,
+
+ //! A drawn minus sign in a box.
+ BoxedMinus = SC_MARK_BOXMINUS,
+
+ //! A drawn minus sign in a connected box.
+ BoxedMinusConnected = SC_MARK_BOXMINUSCONNECTED,
+
+ //! A rounded bottom left corner drawn in the background
+ //! colour.
+ RoundedBottomLeftCorner = SC_MARK_LCORNERCURVE,
+
+ //! A vertical line with a centre right curved line drawn in
+ //! the background colour.
+ LeftSideRoundedSplitter = SC_MARK_TCORNERCURVE,
+
+ //! A drawn plus sign in a circle.
+ CircledPlus = SC_MARK_CIRCLEPLUS,
+
+ //! A drawn plus sign in a connected box.
+ CircledPlusConnected = SC_MARK_CIRCLEPLUSCONNECTED,
+
+ //! A drawn minus sign in a circle.
+ CircledMinus = SC_MARK_CIRCLEMINUS,
+
+ //! A drawn minus sign in a connected circle.
+ CircledMinusConnected = SC_MARK_CIRCLEMINUSCONNECTED,
+
+ //! No symbol is drawn but the line of text is drawn with the
+ //! same background colour.
+ Background = SC_MARK_BACKGROUND,
+
+ //! Three drawn dots.
+ ThreeDots = SC_MARK_DOTDOTDOT,
+
+ //! Three drawn arrows pointing right.
+ ThreeRightArrows = SC_MARK_ARROWS
+ };
+
+ //! This enum defines the different whitespace visibility modes. When
+ //! whitespace is visible spaces are displayed as small centred dots
+ //! and tabs are displayed as light arrows pointing to the right.
+ enum WhitespaceVisibility {
+ //! Whitespace is invisible.
+ WsInvisible = SCWS_INVISIBLE,
+
+ //! Whitespace is always visible.
+ WsVisible = SCWS_VISIBLEALWAYS,
+
+ //! Whitespace is visible after the whitespace used for
+ //! indentation.
+ WsVisibleAfterIndent = SCWS_VISIBLEAFTERINDENT
+ };
+
+ //! This enum defines the different line wrap modes.
+ enum WrapMode {
+ //! Lines are not wrapped.
+ WrapNone = SC_WRAP_NONE,
+
+ //! Lines are wrapped at word boundaries.
+ WrapWord = SC_WRAP_WORD,
+
+ //! Lines are wrapped at character boundaries.
+ WrapCharacter = SC_WRAP_CHAR
+ };
+
+ //! This enum defines the different line wrap visual flags.
+ enum WrapVisualFlag {
+ //! No wrap flag is displayed.
+ WrapFlagNone,
+
+ //! A wrap flag is displayed by the text.
+ WrapFlagByText,
+
+ //! A wrap flag is displayed by the border.
+ WrapFlagByBorder
+ };
+
+ //! Construct an empty TQextScintilla with parent \a parent, name \a
+ //! name, and widget flags \a f.
+ TQextScintilla(TQWidget *parent = 0,const char *name = 0,WFlags f = 0);
+
+ //! Destroys the TQextScintilla instance.
+ virtual ~TQextScintilla();
+
+ //! Returns TRUE if auto-completion lists are case sensitive.
+ //!
+ //! \sa setAutoCompletionCaseSensitivity()
+ bool autoCompletionCaseSensitivity();
+
+ //! Returns true if auto-completion fill-up characters are enabled.
+ //!
+ //! \sa setAutoCompletionFillups(), setAutoCompletionFillupsEnabled()
+ bool autoCompletionFillupsEnabled();
+
+ //! Returns TRUE if the rest of the word to the right of the current
+ //! cursor is removed when an item from an auto-completion list is
+ //! selected.
+ //!
+ //! \sa setAutoCompletionReplaceWord()
+ bool autoCompletionReplaceWord();
+
+ //! Returns TRUE if the only item in an auto-completion list with a
+ //! single entry is automatically used and the list not displayed.
+ //!
+ //! \sa setAutoCompletionShowSingle()
+ bool autoCompletionShowSingle();
+
+ //! Returns the current source for the auto-completion list when it is
+ //! being displayed automatically as the user types.
+ //!
+ //! \sa setAutoCompletionSource()
+ AutoCompletionSource autoCompletionSource() const {return acSource;}
+
+ //! Returns the current threshold for the automatic display of the
+ //! auto-completion list as the user types.
+ //!
+ //! \sa setAutoCompletionThreshold()
+ int autoCompletionThreshold() const {return acThresh;}
+
+ //! Returns TRUE if auto-indentation is enabled.
+ //!
+ //! \sa setAutoIndent()
+ bool autoIndent() const {return autoInd;}
+
+ //! Returns TRUE if the backspace key unindents a line instead of
+ //! deleting a character. The default is FALSE.
+ //!
+ //! \sa setBackspaceUnindents(), tabIndents(), setTabIndents()
+ bool backspaceUnindents();
+
+ //! Mark the beginning of a sequence of actions that can be undone by
+ //! a single call to undo().
+ //!
+ //! \sa endUndoAction(), undo()
+ void beginUndoAction();
+
+ //! Returns the brace matching mode.
+ //!
+ //! \sa setBraceMatching()
+ BraceMatch braceMatching() const {return braceMode;}
+
+ //! Returns the maximum number of call tips that are displayed.
+ //!
+ //! \sa setCallTipsVisible()
+ int callTipsVisible() const {return maxCallTips;}
+
+ //! Cancel any current auto-completion or user defined list.
+ void cancelList();
+
+ //! Clear all registered images.
+ //!
+ //! \sa registerImage()
+ void clearRegisteredImages();
+
+ //! All the lines of the text have their end-of-lines converted to mode
+ //! \a mode.
+ //!
+ //! \sa eolMode(), setEolMode()
+ void convertEols(EolMode mode);
+
+ //! Returns the widget's text (ie. foreground) colour.
+ //!
+ //! \sa setColor()
+ TQColor color() const;
+
+ //! Returns the attached document.
+ //!
+ //! \sa setDocument()
+ TQextScintillaDocument document() {return doc;}
+
+ //! Mark the end of a sequence of actions that can be undone by a
+ //! single call to undo().
+ //!
+ //! \sa beginUndoAction(), undo()
+ void endUndoAction();
+
+ //! Returns the color of the marker used to show that a line has
+ //! exceeded the length set by setEdgeColumn().
+ //!
+ //! \sa setEdgeColor(), \sa setEdgeColumn
+ TQColor edgeColor();
+
+ //! Returns the number of the column after which lines are considered
+ //! to be long.
+ //!
+ //! \sa setEdgeColumn()
+ int edgeColumn();
+
+ //! Returns the edge mode which determines how long lines are marked.
+ //!
+ //! \sa setEdgeMode()
+ EdgeMode edgeMode();
+
+ //! Returns the end-of-line mode.
+ //!
+ //! \sa setEolMode()
+ EolMode eolMode();
+
+ //! Returns the visibility of end-of-lines.
+ //!
+ //! \sa setEolVisibility()
+ bool eolVisibility();
+
+ //! Find the next occurrence of the string \a expr and return TRUE if
+ //! \a expr was found, otherwise returns FALSE. If \a expr is found it
+ //! becomes the current selection.
+ //!
+ //! If \a re is TRUE then \a expr is interpreted as a regular
+ //! expression rather than a simple string.
+ //!
+ //! If \a cs is TRUE then the search is case sensitive.
+ //!
+ //! If \a wo is TRUE then the search looks for whole word matches only,
+ //! otherwise it searches for any matching text.
+ //!
+ //! If \a wrap is TRUE then the search wraps around the end of the
+ //! text.
+ //!
+ //! If \a forward is TRUE (the default) then the search is forward from
+ //! the starting position to the end of the text, otherwise it is
+ //! backwards to the beginning of the text.
+ //!
+ //! If either \a line or \a index are negative (the default) then the
+ //! search begins from the current cursor position. Otherwise the
+ //! search begins at position \a index of line \a line.
+ //!
+ //! If \a show is TRUE (the default) then any text found is made
+ //! visible (ie. it is unfolded).
+ //!
+ //! \sa findNext(), replace()
+ virtual bool findFirst(const TQString &expr,bool re,bool cs,bool wo,
+ bool wrap,bool forward = TRUE,int line = -1,
+ int index = -1,bool show = TRUE);
+
+ //! Find the next occurence of the string found using findFirst().
+ //!
+ //! \sa findFirst(), replace()
+ virtual bool findNext();
+
+ //! Returns the number of the first visible line.
+ int firstVisibleLine();
+
+ //! Returns the current folding style.
+ //!
+ //! \sa setFolding()
+ FoldStyle folding() const {return fold;}
+
+ //! Sets \a *line and \a *index to the line and index of the cursor.
+ //!
+ //! \sa setCursorPosition()
+ void getCursorPosition(int *line,int *index);
+
+ //! If there is a selection, \a *lineFrom is set to the line number in
+ //! which the selection begins and \a *lineTo is set to the line number
+ //! in which the selection ends. (They could be the same.)
+ //! \a *indexFrom is set to the index at which the selection begins
+ //! within \a *lineFrom, and \a *indexTo is set to the index at which
+ //! the selection ends within \a *lineTo. If there is no selection,
+ //! \a *lineFrom, \a *indexFrom, \a *lineTo and \a *indexTo are all set
+ //! to -1.
+ //!
+ //! \sa setSelection()
+ void getSelection(int *lineFrom,int *indexFrom,
+ int *lineTo,int *indexTo);
+
+ //! Returns TRUE if some text is selected.
+ //!
+ //! \sa selectedText()
+ bool hasSelectedText() const {return selText;}
+
+ //! Returns the number of characters that line \a line is indented by.
+ //!
+ //! \sa setIndentation()
+ int indentation(int line);
+
+ //! Returns TRUE if the display of indentation guides is enabled.
+ //!
+ //! \sa setIndentationGuides()
+ bool indentationGuides();
+
+ //! Returns TRUE if indentations are created using tabs and spaces,
+ //! rather than just spaces. The default is TRUE.
+ //!
+ //! \sa setIndentationsUseTabs()
+ bool indentationsUseTabs();
+
+ //! Returns the indentation width in characters. The default is 0
+ //! which means that the value returned by tabWidth() is actually used.
+ //!
+ //! \sa setIndentationWidth(), tabWidth()
+ int indentationWidth();
+
+ //! Returns TRUE if a call tip is currently active.
+ bool isCallTipActive();
+
+ //! Returns TRUE if an auto-completion or user defined list is
+ //! currently active.
+ bool isListActive();
+
+ //! Returns TRUE if the text has been modified.
+ //!
+ //! \sa setModified(), modificationChanged()
+ bool isModified();
+
+ //! Returns TRUE if the text edit is read-only.
+ //!
+ //! \sa setReadOnly()
+ bool isReadOnly();
+
+ //! Returns TRUE if there is something that can be redone.
+ //!
+ //! \sa redo()
+ bool isRedoAvailable();
+
+ //! Returns TRUE if there is something that can be undone.
+ //!
+ //! \sa undo()
+ bool isUndoAvailable();
+
+ //! Returns TRUE if text is interpreted as being UTF8 encoded. The
+ //! default is to interpret the text as Latin1 encoded.
+ //!
+ //! \sa setUtf8()
+ bool isUtf8();
+
+ //! Returns the line which is at position \a pos or -1 if there is no
+ //! line at that position.
+ int lineAt(const TQPoint &pos);
+
+ //! Returns the length of line \a line or -1 if there is no such line.
+ int lineLength(int line);
+
+ //! Returns the number of lines of text.
+ int lines();
+
+ //! Returns the length of the text edit's text.
+ int length();
+
+ //! Returns the current language lexer used to style text. If it is 0 then
+ //! syntax styling is disabled.
+ //!
+ //! \sa setLexer()
+ TQextScintillaLexer *lexer() const;
+
+ //! Returns TRUE if line numbers are enabled for margin \a margin.
+ //!
+ //! \sa setMarginLineNumbers(), TQextScintillaBase::SCI_GETMARGINTYPEN
+ bool marginLineNumbers(int margin);
+
+ //! Returns the marker mask of margin \a margin.
+ //!
+ //! \sa setMarginMask(), TQextScintillaMarker,
+ //! TQextScintillaBase::SCI_GETMARGINMASKN
+ int marginMarkerMask(int margin);
+
+ //! Returns TRUE if margin \a margin is sensitive to mouse clicks.
+ //!
+ //! \sa setMarginSensitivity(), marginClicked(),
+ //! TQextScintillaBase::SCI_GETMARGINTYPEN
+ bool marginSensitivity(int margin);
+
+ //! Returns the width in pixels of margin \a margin.
+ //!
+ //! \sa setMarginWidth(), TQextScintillaBase::SCI_GETMARGINWIDTHN
+ int marginWidth(int margin);
+
+ //! Define a marker using the symbol \a sym with the marker number
+ //! \a mnr. If \a mnr is -1 then the marker number is automatically
+ //! allocated. The marker number is returned or -1 if the marker
+ //! number was already allocated or too many markers have been defined.
+ //!
+ //! Markers are small geometric symbols and character used, for
+ //! example, to indicate the current line or, in debuggers, to indicate
+ //! breakpoints. If a margin has a width of 0 then its markers are not
+ //! drawn, but their background colours affect the background colour of
+ //! the corresponding line of text.
+ //!
+ //! There may be up to 32 markers defined and each line of text has a
+ //! set of these markers associated with it. Markers are drawn
+ //! according to their numerical identifier. Markers try to move with
+ //! their text by tracking where the start of their line moves to. For
+ //! example, when a line is deleted its markers are added to previous
+ //! line's markers.
+ //!
+ //! Each marker is identified by a marker number. Each instance of a
+ //! marker is identified by a marker handle.
+ int markerDefine(MarkerSymbol sym,int mnr = -1);
+
+ //! Define a marker using the character \a ch with the marker number
+ //! \a mnr. If \a mnr is -1 then the marker number is automatically
+ //! allocated. The marker number is returned or -1 if the marker
+ //! number was already allocated or too many markers have been defined.
+ int markerDefine(char ch,int mnr = -1);
+
+ //! Define a marker using a copy of the pixmap \a pm with the marker
+ //! number \a mnr. If \a mnr is -1 then the marker number is
+ //! automatically allocated. The marker number is returned or -1 if
+ //! the marker number was already allocated or too many markers have
+ //! been defined.
+ int markerDefine(const TQPixmap *pm,int mnr = -1);
+
+ //! Add a marker number \a mnr to line number \a linenr. A handle for
+ //! the marker is returned which can be used to track the marker's
+ //! position, or -1 if the \a mnr was invalid.
+ //!
+ //! \sa markerDelete(), markerDeleteAll(), markerDeleteHandle()
+ int markerAdd(int linenr,int mnr);
+
+ //! Returns the 32 bit mask of marker numbers at line number \a linenr.
+ //!
+ //! \sa markerAdd()
+ unsigned markersAtLine(int linenr);
+
+ //! Delete all markers with the marker number \a mnr in the line
+ //! \a linenr. If \a mnr is -1 then delete all markers from line
+ //! \a linenr.
+ //!
+ //! \sa markerAdd(), markerDeleteAll(), markerDeleteHandle()
+ void markerDelete(int linenr,int mnr = -1);
+
+ //! Delete the all markers with the marker number \a mnr. If \a mnr is
+ //! -1 then delete all markers.
+ //!
+ //! \sa markerAdd(), markerDelete(), markerDeleteHandle()
+ void markerDeleteAll(int mnr = -1);
+
+ //! Delete the the marker instance with the marker handle \a mhandle.
+ //!
+ //! \sa markerAdd(), markerDelete(), markerDeleteAll()
+ void markerDeleteHandle(int mhandle);
+
+ //! Return the line number that contains the marker instance with the
+ //! marker handle \a mhandle.
+ int markerLine(int mhandle);
+
+ //! Return the number of the next line to contain at least one marker
+ //! from a 32 bit mask of markers. \a linenr is the line number to
+ //! start the search from. \a mask is the mask of markers to search
+ //! for.
+ //!
+ //! \sa markerFindPrevious()
+ int markerFindNext(int linenr,unsigned mask);
+
+ //! Return the number of the previous line to contain at least one
+ //! marker from a 32 bit mask of markers. \a linenr is the line number
+ //! to start the search from. \a mask is the mask of markers to search
+ //! for.
+ //!
+ //! \sa markerFindNext()
+ int markerFindPrevious(int linenr,unsigned mask);
+
+ //! Returns the widget's paper (ie. background) colour.
+ //!
+ //! \sa setPaper()
+ TQColor paper() const;
+
+ //! Recolours the document between the \a start and \a end positions.
+ //! \a start defaults to the start of the document and \a end defaults
+ //! to the end of the document.
+ virtual void recolor(int start = 0,int end = -1);
+
+ //! Register an image \a pm with ID \a id. Registered images can be
+ //! displayed in auto-completion lists.
+ //!
+ //! \sa clearRegisteredImages(), TQextScintillaAPIs
+ void registerImage(int id,const TQPixmap *pm);
+
+ //! Replace the current selection, set by a previous call to
+ //! findFirst() or findNext(), with \a replaceStr.
+ //!
+ //! \sa findFirst(), findNext()
+ virtual void replace(const TQString &replaceStr);
+
+ //! Reset the fold margin colours to their defaults.
+ //!
+ //! \sa setFoldMarginColors()
+ void resetFoldMarginColors();
+
+ //! The fold margin may be drawn as a one pixel sized checkerboard
+ //! pattern of two colours, \a fore and \a back.
+ //!
+ //! \sa resetFoldMarginColors()
+ void setFoldMarginColors(const TQColor &fore,const TQColor &back);
+
+ //! Sets the APIs used for auto-completion to \a apis. If \a apis is 0
+ //! then any existing APIs are removed.
+ //!
+ //! \sa autoCompleteFromAPIs(), setCallTipsAPIs()
+ void setAutoCompletionAPIs(TQextScintillaAPIs *apis = 0);
+
+ //! A fill-up character is one that, when entered while an
+ //! auto-completion list is being displayed, causes the currently
+ //! selected item from the list to be added to the text followed by the
+ //! fill-up character. \a fillups is the set of fill-up characters.
+ //! The default is that no fill-up characters are set, although a lexer may
+ //! set its own. Explicitly setting the fill-up characters using this
+ //! method automatically enables their use.
+ //!
+ //! \sa autoCompletionFillupsEnabled(), setAutoCompletionFillupsEnabled()
+ void setAutoCompletionFillups(const char *fillups);
+
+ //! Enable the use of fill-up characters, either those explicitly set or
+ //! those set by a lexer. By default, fill-up characters are disabled.
+ //!
+ //! \sa autoCompletionFillupsEnabled(), setAutoCompletionFillups()
+ void setAutoCompletionFillupsEnabled(bool enabled);
+
+ //! A start character is one that, when entered, causes the
+ //! auto-completion list to be displayed. If a language lexer has been
+ //! set then this is ignored and the lexer defines the start
+ //! characters. The default is that no start characters are set.
+ //!
+ //! \sa setAutoCompletionThreshold()
+ void setAutoCompletionStartCharacters(const char *start);
+
+ //! Sets the APIs used for call tips to \a apis. If \a apis is 0 then
+ //! then call tips are disabled.
+ //!
+ //! \sa setAutoCompletionAPIs()
+ void setCallTipsAPIs(TQextScintillaAPIs *apis = 0);
+
+ //! Set the background colour of call tips to \a col. The default is
+ //! white.
+ void setCallTipsBackgroundColor(const TQColor &col);
+
+ //! Set the foreground colour of call tips to \a col. The default is
+ //! mid-gray.
+ void setCallTipsForegroundColor(const TQColor &col);
+
+ //! Set the highlighted colour of call tip text to \a col. The default
+ //! is dark blue.
+ void setCallTipsHighlightColor(const TQColor &col);
+
+ //! Set the maximum number of call tips that are displayed to \a nr.
+ //! If the maximum number is 0 then all applicable call tips are
+ //! displayed. If the maximum number is -1 then one call tip will be
+ //! displayed with up and down arrows that allow the use to scroll
+ //! through the full list. The default is -1.
+ //!
+ //! \sa callTipsVisible()
+ void setCallTipsVisible(int nr);
+
+ //! Attach the document \a document, replacing the currently attached
+ //! document.
+ //!
+ //! \sa document()
+ void setDocument(const TQextScintillaDocument &document);
+
+ //! Set the color of the marker used to show that a line has exceeded
+ //! the length set by setEdgeColumn().
+ //!
+ //! \sa edgeColor(), \sa setEdgeColumn
+ void setEdgeColor(const TQColor &col);
+
+ //! Set the number of the column after which lines are considered to be
+ //! long.
+ //!
+ //! \sa edgeColumn()
+ void setEdgeColumn(int colnr);
+
+ //! Set the edge mode which determines how long lines are marked.
+ //!
+ //! \sa edgeMode()
+ void setEdgeMode(EdgeMode mode);
+
+ //! Set the default font. This has no effect if a language lexer has been
+ //! set.
+ virtual void setFont(const TQFont &f);
+
+ //! Set the background colour, including the alpha component, of marker
+ //! \a mnr to \a col. If \a mnr is -1 then the colour of all markers
+ //! is set. The default is white.
+ //!
+ //! \sa setMarkerForegroundColor()
+ void setMarkerBackgroundColor(const TQColor &col,int mnr = -1);
+
+ //! Set the foreground colour of marker \a mnr to \a col. If \a mnr is
+ //! -1 then the colour of all markers is set. The default is black.
+ //!
+ //! \sa setMarkerBackgroundColor()
+ void setMarkerForegroundColor(const TQColor &col,int mnr = -1);
+
+ //! Set the background colour used to display matched braces to \a col.
+ //! The default is white.
+ //!
+ //! \sa setMatchedBraceForegroundColor()
+ void setMatchedBraceBackgroundColor(const TQColor &col);
+
+ //! Set the foreground colour used to display matched braces to \a col.
+ //! The default is red.
+ //!
+ //! \sa setMatchedBraceBackgroundColor()
+ void setMatchedBraceForegroundColor(const TQColor &col);
+
+ //! Set the background colour used to display unmatched braces to
+ //! \a col. The default is white.
+ //!
+ //! \sa setUnmatchedBraceForegroundColor()
+ void setUnmatchedBraceBackgroundColor(const TQColor &col);
+
+ //! Set the foreground colour used to display unmatched braces to
+ //! \a col. The default is blue.
+ //!
+ //! \sa setUnmatchedBraceBackgroundColor()
+ void setUnmatchedBraceForegroundColor(const TQColor &col);
+
+ //! Set the visual flags displayed when a line is wrapped. \a eflag
+ //! determines if and where the flag at the end of a line is displayed.
+ //! \a sflag determines if and where the flag at the start of a line is
+ //! displayed. \a sindent is the number of characters a wrapped line
+ //! is indented by. By default no visual flags are displayed.
+ void setWrapVisualFlags(WrapVisualFlag eflag,
+ WrapVisualFlag sflag = WrapFlagNone, int sindent = 0);
+
+ //! Returns the selected text or an empty string if there is no
+ //! currently selected text.
+ //!
+ //! \sa hasSelectedText()
+ TQString selectedText();
+
+ //! Displays a user defined list which can be interacted with like an
+ //! auto-completion list. \a id is an identifier for the list which
+ //! is passed as an argument to the userListActivated() signal and must
+ //! be at least 1. \a list is the text with which the list is
+ //! populated.
+ //!
+ //! \sa cancelList(), isListActive(), userListActivated()
+ void showUserList(int id, const TQStringList &list);
+
+ //! The standard command set is returned.
+ TQextScintillaCommandSet *standardCommands() const {return stdCmds;}
+
+ //! Returns TRUE if the tab key indents a line instead of inserting a
+ //! tab character. The default is TRUE.
+ //!
+ //! \sa setTabIndents(), backspaceUnindents(), setBackspaceUnindents()
+ bool tabIndents();
+
+ //! Returns the tab width in characters. The default is 8.
+ //!
+ //! \sa setTabWidth()
+ int tabWidth();
+
+ //! Returns the text edit's text.
+ //!
+ //! \sa setText()
+ TQString text();
+
+ //! \overload
+ //!
+ //! Returns the text of line \a line.
+ //!
+ //! \sa setText()
+ TQString text(int line);
+
+ //! Returns the height in pixels of the text in line number \a linenr.
+ int textHeight(int linenr);
+
+ //! Returns the visibility of whitespace.
+ //!
+ //! \sa setWhitespaceVisibility()
+ WhitespaceVisibility whitespaceVisibility();
+
+ //! Returns the line wrap mode.
+ //!
+ //! \sa setWrapMode()
+ WrapMode wrapMode();
+
+public slots:
+ //! Appends the text \a text to the end of the text edit. Note that
+ //! the undo/redo history is cleared by this function.
+ virtual void append(const TQString &text);
+
+ //! Display an auto-completion list based on any installed APIs, the
+ //! current contents of the document and the characters immediately to
+ //! the left of the cursor.
+ //!
+ //! \sa autoCompleteFromAPIs(), autoCompleteFromDocument()
+ virtual void autoCompleteFromAll();
+
+ //! Display an auto-completion list based on any installed APIs and the
+ //! characters immediately to the left of the cursor.
+ //!
+ //! \sa autoCompleteFromAll(), autoCompleteFromDocument(),
+ //! setAutoCompletionAPIs()
+ virtual void autoCompleteFromAPIs();
+
+ //! Display an auto-completion list based on the current contents of
+ //! the document and the characters immediately to the left of the
+ //! cursor.
+ //!
+ //! \sa autoCompleteFromAll(), autoCompleteFromAPIs()
+ virtual void autoCompleteFromDocument();
+
+ //! Display a call tip based on the the characters immediately to the
+ //! left of the cursor.
+ virtual void callTip();
+
+ //! Deletes all the text in the text edit.
+ virtual void clear();
+
+ //! Copies any selected text to the clipboard.
+ //!
+ //! \sa copyAvailable(), cut(), paste()
+ virtual void copy();
+
+ //! Copies any selected text to the clipboard and then deletes the
+ //! text.
+ //!
+ //! \sa copy(), paste()
+ virtual void cut();
+
+ //! Ensures that the cursor is visible.
+ virtual void ensureCursorVisible();
+
+ //! Ensures that the line number \a line is visible.
+ virtual void ensureLineVisible(int line);
+
+ //! If any lines are currently folded then they are all unfolded.
+ //! Otherwise all lines are folded. This has the same effect as
+ //! clicking in the fold margin with the shift and control keys
+ //! pressed. If \a children is not set (the default) then only the top
+ //! level fold points are affected, otherwise the state of all fold
+ //! points are changed.
+ virtual void foldAll(bool children = FALSE);
+
+ //! If the line \a line is folded then it is unfolded. Otherwise it is
+ //! folded. This has the same effect as clicking in the fold margin.
+ virtual void foldLine(int line);
+
+ //! Increases the indentation of line \a line by an indentation width.
+ //!
+ //! \sa unindent()
+ virtual void indent(int line);
+
+ //! Insert the text \a text at the current position.
+ virtual void insert(const TQString &text);
+
+ //! Insert the text \a text in the line \a line at the position
+ //! \a index.
+ virtual void insertAt(const TQString &text,int line,int index);
+
+ //! If the cursor is either side of a brace character then move it to
+ //! the position of the corresponding brace.
+ virtual void moveToMatchingBrace();
+
+ //! Pastes any text from the clipboard into the text edit at the
+ //! current cursor position.
+ //!
+ //! \sa copy(), cut()
+ virtual void paste();
+
+ //! Redo the last change or sequence of changes.
+ //!
+ //! \sa isRedoAvailable()
+ virtual void redo();
+
+ //! Removes any selected text.
+ virtual void removeSelectedText();
+
+ //! Resets the background colour of selected text to the default.
+ //!
+ //! \sa setSelectionBackgroundColor(), resetSelectionForegroundColor()
+ virtual void resetSelectionBackgroundColor();
+
+ //! Resets the foreground colour of selected text to the default.
+ //!
+ //! \sa setSelectionForegroundColor(), resetSelectionBackgroundColor()
+ virtual void resetSelectionForegroundColor();
+
+ //! If \a select is TRUE (the default) then all the text is selected.
+ //! If \a select is FALSE then any currently selected text is
+ //! deselected.
+ virtual void selectAll(bool select = TRUE);
+
+ //! If the cursor is either side of a brace character then move it to
+ //! the position of the corresponding brace and select the text between
+ //! the braces.
+ virtual void selectToMatchingBrace();
+
+ //! If \a cs is TRUE then auto-completion lists are case sensitive.
+ //! The default is TRUE.
+ //!
+ //! \sa autoCompletionCaseSensitivity()
+ virtual void setAutoCompletionCaseSensitivity(bool cs);
+
+ //! If \a replace is TRUE then when an item from an auto-completion
+ //! list is selected, the rest of the word to the right of the current
+ //! cursor is removed. The default is FALSE.
+ //!
+ //! \sa autoCompletionReplaceWord()
+ virtual void setAutoCompletionReplaceWord(bool replace);
+
+ //! If \a single is TRUE then when there is only a single entry in an
+ //! auto-completion list it is automatically used and the list is not
+ //! displayed. This only has an effect when auto-completion is
+ //! explicitly requested (using autoCompleteFromAPIs() and
+ //! autoCompleteFromDocument()) and has no effect when auto-completion
+ //! is triggered as the user types. The default is FALSE.
+ //!
+ //! \sa autoCompletionShowSingle()
+ virtual void setAutoCompletionShowSingle(bool single);
+
+ //! Sets the source for the auto-completion list when it is being
+ //! displayed automatically as the user types to \a source. The
+ //! default is AcsDocument.
+ //!
+ //! \sa autoCompletionSource()
+ virtual void setAutoCompletionSource(AutoCompletionSource source);
+
+ //! Sets the threshold for the automatic display of the auto-completion
+ //! list as the user types to \a thresh. The threshold is the number
+ //! of characters that the user must type before the list is displayed.
+ //! If the threshold is less than or equal to 0 then the list is
+ //! disabled. The default is -1.
+ //!
+ //! \sa autoCompletionThreshold(), setAutoCompletionStartCharacters()
+ virtual void setAutoCompletionThreshold(int thresh);
+
+ //! If \a autoindent is TRUE then auto-indentation is enabled. The
+ //! default is FALSE.
+ //!
+ //! \sa autoIndent()
+ virtual void setAutoIndent(bool autoindent);
+
+ //! Sets the brace matching mode to \a bm. The default is
+ //! NoBraceMatching.
+ //!
+ //! \sa braceMatching()
+ virtual void setBraceMatching(BraceMatch bm);
+
+ //! If \a deindent is TRUE then the backspace key will unindent a line
+ //! rather then delete a character.
+ //!
+ //! \sa backspaceUnindents(), tabIndents(), setTabIndents()
+ virtual void setBackspaceUnindents(bool unindent);
+
+ //! Sets the foreground colour of the caret to \a col.
+ virtual void setCaretForegroundColor(const TQColor &col);
+
+ //! Sets the background colour, including the alpha component, of the
+ //! line containing the caret to \a col.
+ //!
+ //! \sa setCaretLineVisible()
+ virtual void setCaretLineBackgroundColor(const TQColor &col);
+
+ //! Enables or disables, according to \a enable, the background color
+ //! of the line containing the caret.
+ //!
+ //! \sa setCaretLineBackgroundColor()
+ virtual void setCaretLineVisible(bool enable);
+
+ //! Sets the width of the caret to \a width pixels. A \a width of 0
+ //! makes the caret invisible.
+ virtual void setCaretWidth(int width);
+
+ //! The widget's text (ie. foreground) colour is set to \a c. This has no
+ //! effect if a language lexer has been set.
+ //!
+ //! \sa color()
+ virtual void setColor(const TQColor &c);
+
+ //! Sets the cursor to the line \a line at the position \a index.
+ //!
+ //! \sa getCursorPosition()
+ virtual void setCursorPosition(int line,int index);
+
+ //! Sets the end-of-line mode to \a mode. The default is the
+ //! platform's natural mode.
+ //!
+ //! \sa eolMode()
+ virtual void setEolMode(EolMode mode);
+
+ //! If \a visible is TRUE then end-of-lines are made visible. The
+ //! default is that they are invisible.
+ //!
+ //! \sa eolVisibility()
+ virtual void setEolVisibility(bool visible);
+
+ //! Sets the folding style for margin 2 to \a fold. The default is
+ //! NoFoldStyle (ie. folding is disabled).
+ //!
+ //! \sa folding()
+ virtual void setFolding(FoldStyle fold);
+
+ //! Sets the indentation of line \a to \a indentation characters.
+ //!
+ //! \sa indentation()
+ virtual void setIndentation(int line,int indentation);
+
+ //! Enables or disables, according to \a enable, this display of
+ //! indentation guides.
+ //!
+ //! \sa indentationGuides()
+ virtual void setIndentationGuides(bool enable);
+
+ //! Set the background colour of indentation guides to \a col.
+ //!
+ //! \sa setIndentationGuidesForegroundColor()
+ virtual void setIndentationGuidesBackgroundColor(const TQColor &col);
+
+ //! Set the foreground colour of indentation guides to \a col.
+ //!
+ //! \sa setIndentationGuidesBackgroundColor()
+ virtual void setIndentationGuidesForegroundColor(const TQColor &col);
+
+ //! If \a tabs is TRUE then indentations are created using tabs and
+ //! spaces, rather than just spaces.
+ //!
+ //! \sa indentationsUseTabs()
+ virtual void setIndentationsUseTabs(bool tabs);
+
+ //! Sets the indentation width to \a width characters. If \a width is
+ //! 0 then the value returned by tabWidth() is used.
+ //!
+ //! \sa indentationWidth(), tabWidth()
+ virtual void setIndentationWidth(int width);
+
+ //! Sets the specific language lexer used to style text to \a lexer. If
+ //! \a lexer is 0 then syntax styling is disabled.
+ //!
+ //! \sa lexer()
+ virtual void setLexer(TQextScintillaLexer *lexer = 0);
+
+ //! Set the background colour of all margins to \a col. The default is
+ //! a gray.
+ //!
+ //! \sa setMarginsForegroundColor()
+ virtual void setMarginsBackgroundColor(const TQColor &col);
+
+ //! Set the font used in all margins to \a f.
+ virtual void setMarginsFont(const TQFont &f);
+
+ //! Set the foreground colour of all margins to \a col. The default is
+ //! black.
+ //!
+ //! \sa setMarginsBackgroundColor()
+ virtual void setMarginsForegroundColor(const TQColor &col);
+
+ //! Enables or disables, according to \a lnrs, the display of line
+ //! numbers in margin \a margin.
+ //!
+ //! \sa marginLineNumbers(), TQextScintillaBase::SCI_SETMARGINTYPEN
+ virtual void setMarginLineNumbers(int margin,bool lnrs);
+
+ //! Sets the marker mask of margin \a margin to \a mask. Only those
+ //! markers whose bit is set in the mask are displayed in the margin.
+ //!
+ //! \sa marginMarkerMask(), TQextScintillaMarker,
+ //! TQextScintillaBase::SCI_SETMARGINMASKN
+ virtual void setMarginMarkerMask(int margin,int mask);
+
+ //! Enables or disables, according to \a sens, the sensitivity of
+ //! margin \a margin to mouse clicks. If the user clicks in a
+ //! sensitive margin the marginClicked() signal is emitted.
+ //!
+ //! \sa marginSensitivity(), marginClicked(),
+ //! TQextScintillaBase::SCI_SETMARGINSENSITIVEN
+ virtual void setMarginSensitivity(int margin,bool sens);
+
+ //! Sets the width of margin \a margin to \a width pixels. If the
+ //! width of a margin is 0 then it is not displayed.
+ //!
+ //! \sa marginWidth(), TQextScintillaBase::SCI_SETMARGINWIDTHN
+ virtual void setMarginWidth(int margin,int width);
+
+ //! Sets the width of margin \a margin so that it is wide enough to
+ //! display \a s in the current margin font.
+ //!
+ //! \sa marginWidth(), TQextScintillaBase::SCI_SETMARGINWIDTHN
+ virtual void setMarginWidth(int margin,const TQString &s);
+
+ //! Sets the modified state of the text edit to \a m. Note that it is
+ //! only possible to clear the modified state (where \a m is FALSE).
+ //! Attempts to set the modified state (where \a m is TRUE) are
+ //! ignored.
+ //!
+ //! \sa isModified(), modificationChanged()
+ virtual void setModified(bool m);
+
+ //! The widget's paper (ie. background) colour is set to \a c. This has no
+ //! effect if a language lexer has been set.
+ //!
+ //! \sa paper()
+ virtual void setPaper(const TQColor &c);
+
+ //! Sets the read-only state of the text edit to \a ro.
+ //!
+ //! \sa isReadOnly()
+ virtual void setReadOnly(bool ro);
+
+ //! Sets the selection which starts at position \a indexFrom in line
+ //! \a lineFrom and ends at position \a indexTo in line \a lineTo. The
+ //! cursor is moved to the end of the selection.
+ //!
+ //! \sa getSelection()
+ virtual void setSelection(int lineFrom,int indexFrom,
+ int lineTo,int indexTo);
+
+ //! Sets the background colour, including the alpha component, of
+ //! selected text to \a col.
+ //!
+ //! \sa resetSelectionBackgroundColor(), setSelectionForegroundColor()
+ virtual void setSelectionBackgroundColor(const TQColor &col);
+
+ //! Sets the foreground colour of selected text to \a col.
+ //!
+ //! \sa resetSelectionForegroundColor(), setSelectionBackgroundColor()
+ virtual void setSelectionForegroundColor(const TQColor &col);
+
+ //! If \a indent is TRUE then the tab key will indent a line rather
+ //! then insert a tab character.
+ //!
+ //! \sa tabIndents(), backspaceUnindents(), setBackspaceUnindents()
+ virtual void setTabIndents(bool indent);
+
+ //! Sets the tab width to \a width characters.
+ //!
+ //! \sa tabWidth()
+ virtual void setTabWidth(int width);
+
+ //! Replaces all of the current text with \a text. Note that the
+ //! undo/redo history is cleared by this function.
+ //!
+ //! \sa text()
+ virtual void setText(const TQString &text);
+
+ //! Sets the current text encoding. If \a cp is TRUE then UTF8 is
+ //! used, otherwise Latin1 is used.
+ //!
+ //! \sa isUtf8()
+ virtual void setUtf8(bool cp);
+
+ //! Sets the visibility of whitespace to mode \a mode. The default is
+ //! that whitespace is invisible.
+ //!
+ //! \sa whitespaceVisibility()
+ virtual void setWhitespaceVisibility(WhitespaceVisibility mode);
+
+ //! Sets the line wrap mode to mode \a mode. The default is that lines
+ //! are not wrapped.
+ //!
+ //! \sa wrapMode()
+ virtual void setWrapMode(WrapMode mode);
+
+ //! Undo the last change or sequence of changes.
+ //!
+ //! Scintilla has multiple level undo and redo. It will continue to
+ //! record undoable actions until memory runs out. Sequences of
+ //! typing or deleting are compressed into single actions to make it
+ //! easier to undo and redo at a sensible level of detail. Sequences
+ //! of actions can be combined into actions that are undone as a unit.
+ //! These sequences occur between calls to beginUndoAction() and
+ //! endUndoAction(). These sequences can be nested and only the top
+ //! level sequences are undone as units.
+ //!
+ //! \sa beginUndoAction(), endUndoAction(), isUndoAvailable()
+ virtual void undo();
+
+ //! Decreases the indentation of line \a line by an indentation width.
+ //!
+ //! \sa indent()
+ virtual void unindent(int line);
+
+ //! Zooms in on the text by by making the base font size \a range
+ //! points larger and recalculating all font sizes.
+ //!
+ //! \sa zoomOut(), zoomTo()
+ virtual void zoomIn(int range);
+
+ //! \overload
+ //!
+ //! Zooms in on the text by by making the base font size one point
+ //! larger and recalculating all font sizes.
+ virtual void zoomIn();
+
+ //! Zooms out on the text by by making the base font size \a range
+ //! points smaller and recalculating all font sizes.
+ //!
+ //! \sa zoomIn(), zoomTo()
+ virtual void zoomOut(int range);
+
+ //! \overload
+ //!
+ //! Zooms out on the text by by making the base font size one point
+ //! larger and recalculating all font sizes.
+ virtual void zoomOut();
+
+ //! Zooms the text by making the base font size \a size points and
+ //! recalculating all font sizes.
+ //!
+ //! \sa zoomIn(), zoomOut()
+ virtual void zoomTo(int size);
+
+signals:
+ //! This signal is emitted whenever the cursor position changes.
+ //! \a line contains the line number and \a pos contains the
+ //! character position within the line.
+ void cursorPositionChanged(int line,int pos);
+
+ //! This signal is emitted whenever text is selected or de-selected.
+ //! \a yes is TRUE if text has been selected and FALSE if text has been
+ //! deselected. If \a yes is TRUE then copy() can be used to copy the
+ //! selection to the clipboard. If \a yes is FALSE then copy() does
+ //! nothing.
+ //!
+ //! \sa copy(), selectionChanged()
+ void copyAvailable(bool yes);
+
+ //! This signal is emitted whenever the user clicks on a sensitive
+ //! margin. \a margin is the margin. \a line is the number of the
+ //! line where the user clicked. \a state is the state of the modifier
+ //! keys (ShiftButton, ControlButton and AltButton) when the user
+ //! clicked.
+ //!
+ //! \sa marginSensitivity(), setMarginSensitivity()
+ void marginClicked(int margin,int line,TQt::ButtonState state);
+
+ //! This signal is emitted whenever the user attempts to modify
+ //! read-only text.
+ //!
+ //! \sa isReadOnly(), setReadOnly()
+ void modificationAttempted();
+
+ //! This signal is emitted whenever the modification state of the text
+ //! changes. \a m is TRUE if the text has been modified.
+ //!
+ //! \sa isModified(), setModified()
+ void modificationChanged(bool m);
+
+ //! This signal is emitted whenever the selection changes.
+ //!
+ //! \sa copyAvailable()
+ void selectionChanged();
+
+ //! This signal is emitted whenever the text in the text edit changes.
+ void textChanged();
+
+ //! This signal is emitted when an item in a user defined list is
+ //! activated (selected). \a id is the list identifier. \a string is
+ //! the text of the item.
+ //!
+ //! \sa showUserList()
+ void userListActivated(int id, const TQString &string);
+
+private slots:
+ void handleCallTipClick(int dir);
+ void handleCharAdded(int charadded);
+ void handleMarginClick(int pos,int margin,int modifiers);
+ void handleModified(int pos,int mtype,const char *text,int len,
+ int added,int line,int foldNow,int foldPrev);
+ void handlePropertyChange(const char *prop,const char *val);
+ void handleSavePointReached();
+ void handleSavePointLeft();
+ void handleSelectionChanged(bool yes);
+ void handleUserListSelection(const char *text, int id);
+
+ void handleStyleColorChange(const TQColor &c,int style);
+ void handleStyleEolFillChange(bool eolfill,int style);
+ void handleStyleFontChange(const TQFont &f,int style);
+ void handleStylePaperChange(const TQColor &c,int style);
+
+ void handleUpdateUI();
+
+private:
+ enum IndentState {
+ isNone,
+ isKeywordStart,
+ isBlockStart,
+ isBlockEnd
+ };
+
+ void maintainIndentation(char ch,long pos);
+ void autoIndentation(char ch,long pos);
+ void autoIndentLine(long pos,int line,int indent);
+ int blockIndent(int line);
+ IndentState getIndentState(int line);
+ bool rangeIsWhitespace(long spos,long epos);
+ int findStyledWord(const char *text,int style,const char *words);
+
+ void checkMarker(int &mnr);
+ long posFromLineIndex(int line,int index);
+ void lineIndexFromPos(long pos,int *line,int *index);
+ int currentIndent();
+ int indentWidth();
+ bool doFind();
+ long simpleFind();
+ void foldClick(int lineClick,int bstate);
+ void foldChanged(int line,int levelNow,int levelPrev);
+ void foldExpand(int &line,bool doExpand,bool force = FALSE,
+ int visLevels = 0,int level = -1);
+ void setFoldMarker(int marknr,int mark = SC_MARK_EMPTY);
+ TQString convertText(const char *s);
+ void setStylesFont(const TQFont &f,int style);
+
+ void braceMatch();
+ bool findMatchingBrace(long &brace,long &other,BraceMatch mode);
+ long checkBrace(long pos,int brace_style,bool &colonMode);
+ void gotoMatchingBrace(bool select);
+
+ void startAutoCompletion(AutoCompletionSource acs, bool checkThresh,
+ bool single);
+ bool isAutoCStartChar(char ch) const;
+
+ bool currentCharInWord();
+ bool isWordChar(char ch) const;
+
+ bool ensureRW();
+
+ struct FindState
+ {
+ FindState() : inProgress(0) {}
+
+ bool inProgress;
+ TQString expr;
+ bool wrap;
+ bool forward;
+ int flags;
+ long startpos;
+ long endpos;
+ bool show;
+ };
+
+ FindState findState;
+
+ unsigned allocatedMarkers;
+ long oldPos;
+ bool selText;
+ FoldStyle fold;
+ bool autoInd;
+ BraceMatch braceMode;
+ AutoCompletionSource acSource;
+ int acThresh;
+ const char *acStart;
+ TQextScintillaAPIs *acAPIs;
+ TQextScintillaAPIs *ctAPIs;
+ int maxCallTips;
+ bool showSingle;
+ long ctpos;
+ TQGuardedPtr<TQextScintillaLexer> lex;
+ TQextScintillaCommandSet *stdCmds;
+ TQextScintillaDocument doc;
+ bool modified;
+ TQColor nl_text_colour;
+ TQColor nl_paper_colour;
+ TQFont nl_font;
+ bool explicit_fillups;
+ bool fillups_enabled;
+ TQCString saved_fillups;
+
+#if defined(TQ_DISABLE_COPY)
+ TQextScintilla(const TQextScintilla &);
+ TQextScintilla &operator=(const TQextScintilla &);
+#endif
+};
+
+#endif