TextEdit¶
Inherits: Control < CanvasItem < Node < Object
Multiline text editing control.
Description¶
TextEdit is meant for editing large, multiline text. It also has facilities for editing code, such as syntax highlighting support and multiple levels of undo/redo.
Note: When holding down Alt
, the vertical scroll wheel will scroll 5 times as fast as it would normally do. This also works in the Redot script editor.
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
focus_mode |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
mouse_default_cursor_shape |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
void |
add_color_region ( String begin_key, String end_key, Color color, bool line_only=false ) |
void |
add_keyword_color ( String keyword, Color color ) |
void |
|
void |
clear_colors ( ) |
void |
|
void |
copy ( ) |
cursor_get_column ( ) const |
|
cursor_get_line ( ) const |
|
void |
cursor_set_column ( int column, bool adjust_viewport=true ) |
void |
cursor_set_line ( int line, bool adjust_viewport=true, bool can_be_hidden=true, int wrap_index=0 ) |
void |
cut ( ) |
void |
deselect ( ) |
void |
fold_all_lines ( ) |
void |
|
get_breakpoints ( ) const |
|
get_keyword_color ( String keyword ) const |
|
get_line_column_at_pos ( Vector2 position ) const |
|
get_line_count ( ) const |
|
get_line_height ( ) const |
|
get_line_width ( int line, int wrap_index=-1 ) const |
|
get_line_wrap_count ( int line ) const |
|
get_line_wrapped_text ( int line ) const |
|
get_menu ( ) const |
|
get_pos_at_line_column ( int line, int column ) const |
|
get_rect_at_line_column ( int line, int column ) const |
|
get_selection_from_column ( ) const |
|
get_selection_from_line ( ) const |
|
get_selection_text ( ) const |
|
get_selection_to_column ( ) const |
|
get_selection_to_line ( ) const |
|
get_total_gutter_width ( ) const |
|
get_total_visible_rows ( ) const |
|
get_visible_rows ( ) const |
|
get_word_under_cursor ( ) const |
|
has_keyword_color ( String keyword ) const |
|
has_redo ( ) const |
|
has_undo ( ) const |
|
void |
insert_text_at_cursor ( String text ) |
is_line_hidden ( int line ) const |
|
is_line_set_as_bookmark ( int line ) const |
|
is_line_set_as_breakpoint ( int line ) const |
|
is_line_set_as_safe ( int line ) const |
|
is_line_wrapped ( int line ) const |
|
is_mouse_over_selection ( bool edges ) const |
|
is_selection_active ( ) const |
|
void |
menu_option ( int option ) |
void |
paste ( ) |
void |
redo ( ) |
void |
|
search ( String key, int flags, int from_line, int from_column ) const |
|
void |
select ( int from_line, int from_column, int to_line, int to_column ) |
void |
select_all ( ) |
void |
|
void |
set_line_as_bookmark ( int line, bool bookmark ) |
void |
set_line_as_breakpoint ( int line, bool breakpoint ) |
void |
set_line_as_hidden ( int line, bool enable ) |
void |
set_line_as_safe ( int line, bool safe ) |
void |
toggle_fold_line ( int line ) |
void |
undo ( ) |
void |
unfold_line ( int line ) |
void |
unhide_all_lines ( ) |
Theme Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Signals¶
breakpoint_toggled ( int row )
Emitted when a breakpoint is placed via the breakpoint gutter.
cursor_changed ( )
Emitted when the cursor changes.
info_clicked ( int row, String info )
Emitted when the info icon is clicked.
request_completion ( )
There is currently no description for this signal. Please help us by contributing one!
symbol_lookup ( String symbol, int row, int column )
There is currently no description for this signal. Please help us by contributing one!
text_changed ( )
Emitted when the text changes.
Enumerations¶
enum SearchFlags:
SearchFlags SEARCH_MATCH_CASE = 1
Match case when searching.
SearchFlags SEARCH_WHOLE_WORDS = 2
Match whole words when searching.
SearchFlags SEARCH_BACKWARDS = 4
Search from end to beginning.
enum SearchResult:
SearchResult SEARCH_RESULT_COLUMN = 0
Used to access the result column from search.
SearchResult SEARCH_RESULT_LINE = 1
Used to access the result line from search.
Cuts (copies and clears) the selected text.
Copies the selected text.
Pastes the clipboard text over the selected text (or at the cursor's position).
Erases the whole TextEdit text.
Selects the whole TextEdit text.
Undoes the previous action.
Redoes the previous action.
Represents the size of the MenuItems enum.
Property Descriptions¶
bool bookmark_gutter = false
If true
, the bookmark gutter is visible.
bool breakpoint_gutter = false
If true
, the breakpoint gutter is visible.
bool caret_blink = false
If true
, the caret (visual cursor) blinks.
float caret_blink_speed = 0.65
Duration (in seconds) of a caret's blinking cycle.
bool caret_block_mode = false
If true
, the caret displays as a rectangle.
If false
, the caret displays as a bar.
bool caret_moving_by_right_click = true
If true
, a right-click moves the cursor at the mouse position before displaying the context menu.
If false
, the context menu disregards mouse location.
If true
, a right-click displays the context menu.
bool deselect_on_focus_loss_enabled = true
If true
, the selected text will be deselected when focus is lost.
bool drag_and_drop_selection_enabled = true
If true
, allow drag and drop of selected text.
bool draw_spaces = false
If true
, the "space" character will have a visible representation.
bool draw_tabs = false
If true
, the "tab" character will have a visible representation.
bool fold_gutter = false
If true
, the fold gutter is visible. This enables folding groups of indented lines.
bool hiding_enabled = false
If true
, all lines that have been set to hidden by set_line_as_hidden, will not be visible.
bool highlight_all_occurrences = false
If true
, all occurrences of the selected text will be highlighted.
bool highlight_current_line = false
If true
, the line containing the cursor is highlighted.
bool middle_mouse_paste_enabled = true
If false
, using middle mouse button to paste clipboard will be disabled.
Note: This method is only implemented on Linux.
bool minimap_draw = false
If true
, a minimap is shown, providing an outline of your source code.
int minimap_width = 80
The width, in pixels, of the minimap.
bool override_selected_font_color = false
If true
, custom font_color_selected
will be used for selected text.
bool readonly = false
If true
, read-only mode is enabled. Existing text cannot be modified and new text cannot be added.
int scroll_horizontal = 0
If there is a horizontal scrollbar, this determines the current horizontal scroll value in pixels.
float scroll_vertical = 0.0
If there is a vertical scrollbar, this determines the current vertical scroll value in line numbers, starting at 0 for the top line.
bool selecting_enabled = true
If true
, text can be selected.
If false
, text can not be selected by the user or by the select or select_all methods.
bool shortcut_keys_enabled = true
If true
, shortcut keys for context menu items are enabled, even if the context menu is disabled.
bool show_line_numbers = false
If true
, line numbers are displayed to the left of the text.
bool smooth_scrolling = false
If true
, sets the step
of the scrollbars to 0.25
which results in smoother scrolling.
bool syntax_highlighting = false
If true
, any custom color properties that have been set for this TextEdit will be visible.
String text = ""
String value of the TextEdit.
float v_scroll_speed = 80.0
Vertical scroll sensitivity.
bool virtual_keyboard_enabled = true
If true
, the native virtual keyboard is shown when focused on platforms that support it.
bool wrap_enabled = false
If true
, enables text wrapping when it goes beyond the edge of what is visible.
Method Descriptions¶
void add_color_region ( String begin_key, String end_key, Color color, bool line_only=false )
Adds color region (given the delimiters) and its colors.
void add_keyword_color ( String keyword, Color color )
Adds a keyword
and its Color.
bool can_fold ( int line ) const
Returns if the given line is foldable, that is, it has indented lines right below it.
void center_viewport_to_cursor ( )
Centers the viewport on the line the editing cursor is at. This also resets the scroll_horizontal value to 0
.
void clear_colors ( )
Clears all custom syntax coloring information previously added with add_color_region or add_keyword_color.
void clear_undo_history ( )
Clears the undo history.
void copy ( )
Copy's the current text selection.
int cursor_get_column ( ) const
Returns the column the editing cursor is at.
int cursor_get_line ( ) const
Returns the line the editing cursor is at.
void cursor_set_column ( int column, bool adjust_viewport=true )
Moves the cursor at the specified column
index.
If adjust_viewport
is set to true
, the viewport will center at the cursor position after the move occurs.
void cursor_set_line ( int line, bool adjust_viewport=true, bool can_be_hidden=true, int wrap_index=0 )
Moves the cursor at the specified line
index.
If adjust_viewport
is set to true
, the viewport will center at the cursor position after the move occurs.
If can_be_hidden
is set to true
, the specified line
can be hidden using set_line_as_hidden.
void cut ( )
Cut's the current selection.
void deselect ( )
Deselects the current selection.
void fold_all_lines ( )
Folds all lines that are possible to be folded (see can_fold).
void fold_line ( int line )
Folds the given line, if possible (see can_fold).
Array get_breakpoints ( ) const
Returns an array containing the line number of each breakpoint.
Color get_keyword_color ( String keyword ) const
Returns the Color of the specified keyword
.
String get_line ( int line ) const
Returns the text of a specific line.
Vector2 get_line_column_at_pos ( Vector2 position ) const
Returns the line and column at the given position. In the returned vector, x
is the column, y
is the line.
int get_line_count ( ) const
Returns the amount of total lines in the text.
int get_line_height ( ) const
Returns the height of a largest line.
int get_line_width ( int line, int wrap_index=-1 ) const
Returns the width in pixels of the wrap_index
on line
.
int get_line_wrap_count ( int line ) const
Returns the number of times the given line is wrapped.
PoolStringArray get_line_wrapped_text ( int line ) const
Returns an array of Strings representing each wrapped index.
Returns the PopupMenu of this TextEdit. By default, this menu is displayed when right-clicking on the TextEdit.
Warning: This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their CanvasItem.visible property.
Vector2 get_pos_at_line_column ( int line, int column ) const
Returns the local position for the given line
and column
. If x
or y
of the returned vector equal -1
, the position is outside of the viewable area of the control.
Note: The Y position corresponds to the bottom side of the line. Use get_rect_at_line_column to get the top side position.
Rect2 get_rect_at_line_column ( int line, int column ) const
Returns the local position and size for the grapheme at the given line
and column
. If x
or y
position of the returned rect equal -1
, the position is outside of the viewable area of the control.
Note: The Y position of the returned rect corresponds to the top side of the line, unlike get_pos_at_line_column which returns the bottom side.
int get_selection_from_column ( ) const
Returns the selection begin column.
int get_selection_from_line ( ) const
Returns the selection begin line.
String get_selection_text ( ) const
Returns the text inside the selection.
int get_selection_to_column ( ) const
Returns the selection end column.
int get_selection_to_line ( ) const
Returns the selection end line.
int get_total_gutter_width ( ) const
Returns the total width of all gutters and internal padding.
int get_total_visible_rows ( ) const
Returns the total amount of lines that could be drawn.
int get_visible_rows ( ) const
Returns the number of visible lines, including wrapped text.
String get_word_under_cursor ( ) const
Returns a String text with the word under the caret (text cursor) location.
bool has_keyword_color ( String keyword ) const
Returns whether the specified keyword
has a color set to it or not.
bool has_redo ( ) const
Returns true
if a "redo" action is available.
bool has_undo ( ) const
Returns true
if an "undo" action is available.
void insert_text_at_cursor ( String text )
Insert the specified text at the cursor position.
bool is_folded ( int line ) const
Returns whether the line at the specified index is folded or not.
Returns whether the line at the specified index is hidden or not.
bool is_line_set_as_bookmark ( int line ) const
Returns true
when the specified line
is bookmarked.
bool is_line_set_as_breakpoint ( int line ) const
Returns true
when the specified line
has a breakpoint.
bool is_line_set_as_safe ( int line ) const
Returns true
when the specified line
is marked as safe.
bool is_line_wrapped ( int line ) const
Returns if the given line is wrapped.
bool is_mouse_over_selection ( bool edges ) const
Returns whether the mouse is over selection. If edges
is true
, the edges are considered part of the selection.
bool is_selection_active ( ) const
Returns true
if the selection is active.
Triggers a right-click menu action by the specified index. See MenuItems for a list of available indexes.
void paste ( )
Paste the current selection.
void redo ( )
Perform redo operation.
void remove_breakpoints ( )
Removes all the breakpoints. This will not fire the breakpoint_toggled signal.
PoolIntArray search ( String key, int flags, int from_line, int from_column ) const
Perform a search inside the text. Search flags can be specified in the SearchFlags enum.
Returns an empty PoolIntArray
if no result was found. Otherwise, the result line and column can be accessed at indices specified in the SearchResult enum, e.g:
var result = search(key, flags, line, column)
if result.size() > 0:
# Result found.
var res_line = result[TextEdit.SEARCH_RESULT_LINE]
var res_column = result[TextEdit.SEARCH_RESULT_COLUMN]
void select ( int from_line, int from_column, int to_line, int to_column )
Perform selection, from line/column to line/column.
If selecting_enabled is false
, no selection will occur.
void select_all ( )
Select all the text.
If selecting_enabled is false
, no selection will occur.
void set_line ( int line, String new_text )
Sets the text for a specific line.
void set_line_as_bookmark ( int line, bool bookmark )
Bookmarks the line
if bookmark
is true
. Deletes the bookmark if bookmark
is false
.
Bookmarks are shown in the breakpoint_gutter.
void set_line_as_breakpoint ( int line, bool breakpoint )
Adds or removes the breakpoint in line
. Breakpoints are shown in the breakpoint_gutter.
If true
, hides the line of the specified index.
void set_line_as_safe ( int line, bool safe )
If true
, marks the line
as safe.
This will show the line number with the color provided in the safe_line_number_color
theme property.
void toggle_fold_line ( int line )
Toggle the folding of the code block at the given line.
void undo ( )
Perform undo operation.
void unfold_line ( int line )
Unfolds the given line, if folded.
void unhide_all_lines ( )
Unhide all lines that were previously set to hidden by set_line_as_hidden.
Theme Property Descriptions¶
Color background_color = Color( 0, 0, 0, 0 )
Sets the background Color of this TextEdit. syntax_highlighting has to be enabled.
Color bookmark_color = Color( 0.08, 0.49, 0.98, 1 )
Sets the Color of the bookmark marker. syntax_highlighting has to be enabled.
Color brace_mismatch_color = Color( 1, 0.2, 0.2, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color breakpoint_color = Color( 0.8, 0.8, 0.4, 0.2 )
Sets the Color of the breakpoints. breakpoint_gutter has to be enabled.
Color caret_background_color = Color( 0, 0, 0, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color caret_color = Color( 0.88, 0.88, 0.88, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color code_folding_color = Color( 0.8, 0.8, 0.8, 0.8 )
There is currently no description for this theme property. Please help us by contributing one!
Color completion_background_color = Color( 0.17, 0.16, 0.2, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color completion_existing_color = Color( 0.87, 0.87, 0.87, 0.13 )
There is currently no description for this theme property. Please help us by contributing one!
Color completion_font_color = Color( 0.67, 0.67, 0.67, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color completion_scroll_color = Color( 1, 1, 1, 0.29 )
There is currently no description for this theme property. Please help us by contributing one!
Color completion_selected_color = Color( 0.26, 0.26, 0.27, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color current_line_color = Color( 0.25, 0.25, 0.26, 0.8 )
Sets the Color of the breakpoints. breakpoint_gutter has to be enabled.
Color executing_line_color = Color( 0.2, 0.8, 0.2, 0.4 )
There is currently no description for this theme property. Please help us by contributing one!
Color font_color = Color( 0.88, 0.88, 0.88, 1 )
Sets the font Color.
Color font_color_readonly = Color( 0.88, 0.88, 0.88, 0.5 )
There is currently no description for this theme property. Please help us by contributing one!
Color font_color_selected = Color( 0, 0, 0, 1 )
Sets the Color of the selected text. override_selected_font_color has to be enabled.
Color function_color = Color( 0.4, 0.64, 0.81, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color line_number_color = Color( 0.67, 0.67, 0.67, 0.4 )
Sets the Color of the line numbers. show_line_numbers has to be enabled.
Color mark_color = Color( 1, 0.4, 0.4, 0.4 )
Sets the Color of marked text.
Color member_variable_color = Color( 0.9, 0.31, 0.35, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color number_color = Color( 0.92, 0.58, 0.2, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color safe_line_number_color = Color( 0.67, 0.78, 0.67, 0.6 )
There is currently no description for this theme property. Please help us by contributing one!
Color selection_color = Color( 0.49, 0.49, 0.49, 1 )
Sets the highlight Color of text selections.
Color symbol_color = Color( 0.94, 0.94, 0.94, 1 )
There is currently no description for this theme property. Please help us by contributing one!
Color word_highlighted_color = Color( 0.8, 0.9, 0.9, 0.15 )
Sets the highlight Color of multiple occurrences. highlight_all_occurrences has to be enabled.
int completion_lines = 7
There is currently no description for this theme property. Please help us by contributing one!
int completion_max_width = 50
There is currently no description for this theme property. Please help us by contributing one!
int completion_scroll_width = 6
There is currently no description for this theme property. Please help us by contributing one!
int line_spacing = 4
Sets the spacing between the lines.
Font font
Sets the default Font.
Texture fold
There is currently no description for this theme property. Please help us by contributing one!
Texture folded
There is currently no description for this theme property. Please help us by contributing one!
Texture space
There is currently no description for this theme property. Please help us by contributing one!
Texture tab
Sets a custom Texture for tab text characters.
StyleBox completion
There is currently no description for this theme property. Please help us by contributing one!
StyleBox focus
There is currently no description for this theme property. Please help us by contributing one!
StyleBox normal
Sets the StyleBox of this TextEdit.
StyleBox read_only
Sets the StyleBox of this TextEdit when readonly is enabled.