Gambas Documentation
Application Repository
Code Snippets
Compilation & Installation from source code
Components
gb
gb.args
gb.cairo
gb.chart
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.data
gb.db
gb.db.form
gb.db.mysql
gb.db.odbc
gb.db.postgresql
gb.db.sqlite2
gb.db.sqlite3
gb.db2
gb.dbus
gb.dbus.trayicon
gb.debug
gb.desktop
gb.desktop.gnome.keyring
gb.desktop.x11
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
_TextEditor_Line
_texteditor_styles
_texteditorstyle
TextEditor
_get
_new
added ?
Bookmarks
Border
Breakpoints
Clear
CloseBraces
CloseStrings
Column
Copy
Count
Current
Cut
DiffMode
EndOfLine
FindNextString
FindPreviousString
Font
Goto
GotoCenter
Highlight
Highlight
Length
Line
Load
LowerCase
Mode
Overwrite
ReadOnly
Redo
Scroll
ScrollBar
SelectedText
ShowBraces
ShowIndent
ShowLineNumber
ShowModified
ShowPosition
ShowPreview
ShowSpaces
Styles
Text
ToColumn
ToLine
ToPos
Undo
UpperCase
Wrap
gb.form.htmlview
gb.form.mdi
gb.form.print
gb.form.stock
gb.form.terminal
gb.gmp
gb.gsl
gb.gtk
gb.gtk.opengl
gb.gtk3
gb.gtk3.opengl
gb.gtk3.webview
gb.gui
gb.gui.opengl
gb.gui.qt
gb.gui.qt.ext
gb.gui.qt.opengl
gb.gui.qt.webkit
gb.gui.trayicon
gb.gui.webview
gb.hash
gb.highlight
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.jit
gb.libxml
gb.logging
gb.map
gb.markdown
gb.media
gb.media.form
gb.memcached
gb.mime
gb.mongodb
gb.mysql
gb.ncurses
gb.net
gb.net.curl
gb.net.pop3
gb.net.smtp
gb.openal
gb.opengl
gb.opengl.glsl
gb.opengl.glu
gb.opengl.sge
gb.openssl
gb.option
gb.pcre
gb.pdf
gb.poppler
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt4.webview
gb.qt5
gb.qt5.ext
gb.qt5.opengl
gb.qt5.webkit
gb.qt5.webview
gb.qt6
gb.qt6.ext
gb.qt6.opengl
gb.qt6.webview
gb.report
gb.report2
gb.scanner
gb.sdl
gb.sdl.sound
gb.sdl2
gb.sdl2.audio
gb.settings
gb.signal
gb.term
gb.test
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.web.form
gb.web.gui
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Deprecated components
Developer Documentation
Development Environment Documentation
Documents
Error Messages
Gambas Playground
How To's
Language Index
Language Overviews
Last Changes
Lexicon
README
Search the wiki
To Do
Topics
Tutorials
Wiki License
Wiki Manual

TextEditor (gb.form.editor)

This control is an enhanced text editor with syntax highlighting support.

This editor has the following special features:
  • Source code syntax highlighting for Gambas, HTML, CSS, C, C++, JavaScript, SQL and diff files.

  • Fully managed editing including Copy, Paste, Cut, Undo and Redo.

  • Line wrapping!

  • Many IDE selectable display features (Line numbering, block folding indicators, brace matching indicators...

  • Coding enhancements such as bookmarks, tab expansion, breakpoint indicatiors...

  • ...and much more!

This class inherits UserControl in gb.qt4.

This class is creatable.

This class acts like a read-only array.

Properties
Bookmarks   Return or set the list of lines having a bookmark
Border   Returns or sets if the control has a border.
Breakpoints   Return or set the list of lines having a breakpoint
CloseBraces   Return or set if braces are automatically closed.
CloseStrings   Return or set if strings are automatically closed.
Column   Return the cursor position in the current line.
Count   Return the number of lines.
Current   Return the current line as a virtual object.
CurrentWord   Return the current word around the cursor.
DiffMode   Return or set if the "diff mode" is activated.
DisabledBreakpoints   Return or set the list of lines having a disabled breakpoint
EndOfLine   Return or set the newline separator used by the editor.
Font   Returns or sets the font used to draw text in the control.
Highlight   Return or set the highlighting mode.
Keywords   Return the language keywords associated with the editor mode, as defined by the Mode property.
LastColumn   Return the old column position before a cursor move.
LastLine   Return the old line position before a cursor move.
Length   Compute and return the length of the Text property as UTF-8 characters.
Line   Return the cursor line position.
LineHeight   Return the height of a line in pixels.
LineNumberOffset   Return or set the line number offset.
Max   Return the number of lines minus one.
Mode   Return or set the editor mode.
Overwrite   Return or set if the editor is in overwrite mode.
ReadOnly   Return or set if the editor is read-only.
Rewrite   Return or set if the highlighter can rewrite the highlighted contents.
ScrollBar   Return or set which scrollbars are displayed.
ScrollH   Returns the contents height.
ScrollHeight   Returns the contents height.
ScrollW   Returns the contents width.
ScrollWidth   Returns the contents width.
ScrollX   Returns or sets the horizontal scrolling position.
ScrollY   Returns or sets the vertical scrolling position.
Selected   Return if some text is selected.
SelectedText   Return the editor selected text.
SelectionColumn   Return the column position of the selection mark.
SelectionLine   Return the line position of the selection mark.
ShowBraces   Return or set if matching braces are highlighted.
ShowCurrent   Return or set if the current line is highlighted.
ShowCursor   Return or set if the cursor is visible.
ShowExpand   Return or set if the functions can be collapsed and expanded.
ShowIcon   Return or set if the breakpoint or bookmark icons are visible.
ShowIndent   Return or set if the editor displays tab characters as little gray arrows.
ShowLimit   Return or set if the function limits are visible.
ShowLineNumber   Return or set if the editor show line numbers.
ShowModified   Return or set if the modified lines are highlighted in the margin.
ShowPosition   Return or set if the cursor current position is displayed.
ShowPreview   Return or set if the editor replaces its scrollbar by a minified preview.
ShowSpaces   Return or set if trailing whitespaces are displayed as dots.
StopLine   Return or set the debugger stop line.
Styles   Return a virtual object that allows to define the editor highlighting style.
TabIndent   Return or set if the ident is made of tab characters.
TabSize   Return or set the tab size.
Text   Return or set the editor text contents.
Theme   Return or set the theme used for highlighting. Replace the Styles property.
View   Return or set the main view of a editor.
Wrap   Return or set if the editor wraps the lines to fit the control width.

Inherited properties
Action   Returns or sets the action string associated with the control.
Background   Returns or sets the background color used by the control.
Children   Returns a collection of each control included in the container.
ClientH   A synonymous for the ClientHeight property.
ClientHeight   Returns the height of the area containing the controls.
ClientW   A synonymous for the ClientWidth property.
ClientWidth   Returns the width of the area containing the controls.
ClientX   Returns the position of the left border of the area containing the controls.
ClientY   Returns the position of the top border of the area containing the controls.
Cursor   Use this property for assigning a custom cursor to a control.
Design   Indicates that the control is in design mode.
Direction   Return or set the control text direction.
Drop   Returns or sets if a control accepts drops.
Enabled   Indicates that the control is enabled.
Expand   Returns or sets if a control will expand if included in a container that arranges its contents.
Foreground   Returns or sets the foreground color used by the control.
H   A synonymous for the Height property.
Handle   Returns the internal X11 window handle of the control.
HasFocus   Returns whether the control has the focus.
Height   Returns or sets the height of the control.
Hovered   Returns whether the mouse cursor is inside the control.
Id   A synonymous for the Handle property.
Ignore   Returns or sets if a control must be ignored when its parent arranges its children.
Left   Returns or sets the position of the left border of the control relative to its parent.
Mouse   Returns or sets the appearence of the cursor when it points inside the control.
Name   Returns or sets the name of the control.
Next   Returns the next control having the same parent.
NoAnimation   Return or set if the possible animations of a control are disabled.
NoTabFocus   Return or set if a control cannot be focused with the TAB key.
Parent   Returns the control container.
PopupMenu   Return or set the name of the menu that will be popped-up when the user presses the right mouse button or the keyboard MENU key.
Previous   Returns the previous control having the same parent.
Proxy   Return or set the "proxy" of a control.
ProxyFor   Return which control that control is a proxy for.
RightToLeft   Return if the control is right to left oriented.
ScreenX   Returns the position of the left border of the control in screen coordinates.
ScreenY   Returns the position of the top border of the control in screen coordinates.
Tag   Returns or sets the control tag.
Tooltip   Returns or sets the tooltip shown when the mouse stays on the control for a short time.
Top   Returns or sets the position of the top border of the control relative to its parent.
Tracking   Returns or sets if the control will receive MouseMove events.
Visible   Indicates if the control is visible or not.
W   A synonymous for the Width property.
Width   Returns or sets the width of the control.
Window   Returns the top-level window that contains the control.
X   Returns or sets the position of the left border of the control relative to its parent.
Y   Returns or sets the position of the top border of the control relative to its parent.

Methods
Append   Append some text to the editor's end without moving the cursor.
Begin   Start a serie of changes that will be undone in one shot.
Clear   Clear the editor contents
CollapseAll   Collapse all functions
Copy   Copy the currently selected text to the clipboard.
CursorAt   Convert a cursor position into pixel position
Cut   Copy the currently selected text to the clipboard, and delete the selected text.
End   End a serie of changes.
EnsureVisible  
EnterDiffMode   Enter "diff mode".
ExpandAll   Expand all functions.
FindNextDiff   Find the line position of the next difference.
FindNextLimit   Find the line position of the next function limit.
FindNextString   Find the next line containing a specific string or find the next occurence of a string.
FindPreviousDiff   Find the line position of the previous difference.
FindPreviousLimit   Find the line position of the previous function limit.
FindPreviousString   Find the previous line containing a specific string or find the previous occurence of a string.
GetHighlight   Return the highlighting of a specific line.
GetIndent   Return the indent of a line or of a line range.
GetSelectedLines   Return the selected lines if any.
Goto   Move the cursor to the specified position.
GotoCenter   Move the cursor to the specified position and center the view around it.
HideSelection   Hide the current selection if any.
HighlightString   Highlight a specific string everywhere in the editor.
Indent   Indent the selected text, or the current line if there is no selected text.
Insert   Insert some text at the current cursor position.
IsVoid   Return if the editor contents is void.
LeaveDiffMode   Leave diff mode.
Load   Load a file into the editor.
LowerCase   Convert the selected text to lower case.
Paste   Paste the contents of the clipboard inside the editor.
Print   Print some text inside the editor.
Redo   Redo the last undone editor modification.
Refresh   Refresh the editor view.
Remove   Remove the text located between two cursor positions.
Reset   Reset the modified and saved flags of each line.
RestoreCursor   Restore the cursor position and selection range saved by the SaveCursor method.
Save   Save the editor contents into a file.
SaveCursor   Save the current cursor position and selection range.
Scroll   Scroll the TextEditor contents to the given position.
Select   Select a specific text range.
SelectAll   Select all editor contents
ShowFindPanel   Display the text search panel.
ShowGotoPanel   Display the goto line panel.
ToColumn   Return the column located under the specified mouse cursor position.
ToLine   Return the line located under the specified mouse cursor position.
ToPos   Return the relative position in pixels of a specific cursor position.
ToPosX   Return the relative horizontal position in pixels of a specific cursor position.
ToPosY   Return the relative vertical position in pixels of a specific cursor position.
Undo   Undo the last editor modification.
Unindent   Unindent the selected text, or the current line if there is no selected text.
UpperCase   Convert the selected text to upper case.

Inherited methods
Delete   Destroys the control.
Drag   Starts a drag & drop process.
FindChild   Finds the first child control pointed by the X and Y coordinates.
Grab   Grab the keyboard and the mouse so that all keyboard and mouse events are received by the control.
Hide   Hides the control.
Lower   Sends the control to the background of its parent.
Move   Moves and/or resizes the control.
MoveScaled   Moves and/or resizes the control.
Raise   Sends the control to the foreground of its parent.
Reparent   Changes the container of a control.
Resize   Resizes the control.
ResizeScaled   Resizes the control.
SetFocus   Gives the focus to the control.
Show   Shows the control.

Events
Change   This event is raised when the editor contents has changed.
Cursor   This event is raised when the cursor has moved.
Highlight   This event is raised when a text line must be highlighted.
Margin   This event is raised when the user has clicked twice inside the margin.
Scroll   This event is raised when the editor has scrolled.

Inherited events
Arrange   This event is raised when a container has just finished arranging its contents.
BeforeArrange   This event is raised just before a container arranges its contents.
DblClick   Raised when the user quickly clicks twice on the control.
Drag   This event is raised when the mouse enters the control during a drag & drop process.
DragLeave   This event is raised when the mouse leaves the control during a drag & drop operation.
DragMove   This event is raised while the mouse moves inside the control during a drag & drop process.
Drop   This event is raised when a drag is dropped in the control.
Enter   Raised when the mouse enters the control.
GotFocus   Raised when the control has got the focus.
KeyPress   Raised when a key is pressed while the control has the focus.
KeyRelease   Raised when a key is released while the control has the focus.
Leave   Raised when the mouse leaves the control.
LostFocus   Raised when the control has lost the focus.
Menu   Raised when the user clicks on the control with the right mouse button, or if it hits the MENU key.
MouseDown   Raised when a mouse button is pressed while the cursor is inside the control.
MouseDrag   This event is raised when a drag operation should be started.
MouseMove   Raised when the mouse moves inside the control while a mouse button is pressed.
MouseUp   Raised when a mouse button is depressed while the cursor is inside the control.
MouseWheel   This event is raised when the user moves or presses the mouse wheel while the mouse is inside the control.
NewChild   This event is raised when a new child Control has just been inserted into the container.

Guess where it's used within Gambas itself

Do not use the normal Background and Foreground properties to change the look of a TextEditor.

To change background colors or other highlighting styles within the Editor control you must use the Theme property and a gb.highlight constant.

For example:

TextEditor1.Theme["Background"].Color = Color.RGB(200, 200, 200)

See the gb.highlight class for all available constants.