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 indicators...
-
...and much more!
Properties
Background
Returns or sets the background color used by the control.
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.
DiffMode
Return or set if the "diff mode" is activated.
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.
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.
ScrollW
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.
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.
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.
Children
Returns a collection of each control included in the container.
ClientHeight
Returns the height of the area containing the controls.
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.
TopLevel
Return the top-level window this control belongs to.
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 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
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
Scroll the editor to a specific cursor position without actually moving the cursor.
FindNextString
Find the next line containing a specific string or find the next occurence of a string.
FindPreviousString
Find the previous line containing a specific string or find the previous occurence of a string.
GetIndent
Return the indent of a line or of a line range.
Goto
Move the cursor to the specified position.
GotoCenter
Move the cursor to the specified position and center the view around it.
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.
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.
Remove
Remove the text located between two cursor positions.
Reset
Reset the modified and saved flags of each line.
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.
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
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.
Lower
Sends the control to the background of its parent.
Move
Moves and/or resizes the control.
Raise
Sends the control to the foreground of its parent.
Reparent
Changes the container of a control.
SetFocus
Gives the focus to 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
TextEditor is primarily the gambas IDE text editor and can be subject to change at any time without warning.
Particularly when it comes to Highlighting (gb.highlight)
gb.highlight is new and now offers a way to create your own custom highlight definition files. this is a great improvement (thanks Benoit)
But I have had to fix glitches my own programs that use TextEditor 3 times since gambas 3.18 due to some minor changes in how highlighting works.