:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/4.1/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/4.1/doc/classes/TextEdit.xml. .. _class_TextEdit: TextEdit ======== **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` **Inherited By:** :ref:`CodeEdit` A multiline text editor. .. rst-class:: classref-introduction-group Description ----------- A multiline text editor. It also has limited facilities for editing code, such as syntax highlighting support. For more advanced facilities for editing code, see :ref:`CodeEdit`. \ **Note:** Most viewport, caret and edit methods contain a ``caret_index`` argument for :ref:`caret_multiple` support. The argument should be one of the following: ``-1`` for all carets, ``0`` for the main caret, or greater than ``0`` for secondary carets. \ **Note:** When holding down :kbd:`Alt`, the vertical scroll wheel will scroll 5 times as fast as it would normally do. This also works in the Godot script editor. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`AutowrapMode` | :ref:`autowrap_mode` | ``3`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`caret_blink` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`caret_blink_interval` | ``0.65`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`caret_draw_when_editable_disabled` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`caret_mid_grapheme` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`caret_move_on_right_click` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`caret_multiple` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`CaretType` | :ref:`caret_type` | ``0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`context_menu_enabled` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`deselect_on_focus_loss_enabled` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`drag_and_drop_selection_enabled` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`draw_control_chars` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`draw_spaces` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`draw_tabs` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`editable` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`FocusMode` | focus_mode | ``2`` (overrides :ref:`Control`) | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`highlight_all_occurrences` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`highlight_current_line` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`language` | ``""`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`middle_mouse_paste_enabled` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`minimap_draw` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`minimap_width` | ``80`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`CursorShape` | mouse_default_cursor_shape | ``1`` (overrides :ref:`Control`) | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`placeholder_text` | ``""`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_fit_content_height` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`scroll_horizontal` | ``0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_past_end_of_file` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_smooth` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`scroll_v_scroll_speed` | ``80.0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`scroll_vertical` | ``0.0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`selecting_enabled` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`shortcut_keys_enabled` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`StructuredTextParser` | :ref:`structured_text_bidi_override` | ``0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`structured_text_bidi_override_options` | ``[]`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`SyntaxHighlighter` | :ref:`syntax_highlighter` | | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`text` | ``""`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`TextDirection` | :ref:`text_direction` | ``0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`virtual_keyboard_enabled` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`LineWrappingMode` | :ref:`wrap_mode` | ``0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_backspace` **(** :ref:`int` caret_index **)** |virtual| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_copy` **(** :ref:`int` caret_index **)** |virtual| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_cut` **(** :ref:`int` caret_index **)** |virtual| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_handle_unicode_input` **(** :ref:`int` unicode_char, :ref:`int` caret_index **)** |virtual| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_paste` **(** :ref:`int` caret_index **)** |virtual| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_paste_primary_clipboard` **(** :ref:`int` caret_index **)** |virtual| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_caret` **(** :ref:`int` line, :ref:`int` col **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_caret_at_carets` **(** :ref:`bool` below **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_gutter` **(** :ref:`int` at=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_selection_for_next_occurrence` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`adjust_carets_after_edit` **(** :ref:`int` caret, :ref:`int` from_line, :ref:`int` from_col, :ref:`int` to_line, :ref:`int` to_col **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`adjust_viewport_to_caret` **(** :ref:`int` caret_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`backspace` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`begin_complex_operation` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`center_viewport_to_caret` **(** :ref:`int` caret_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_undo_history` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`copy` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`cut` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`delete_selection` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`deselect` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`end_action` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`end_complex_operation` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_caret_column` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_caret_count` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_caret_draw_pos` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedInt32Array` | :ref:`get_caret_index_edit_order` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_caret_line` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_caret_wrap_index` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_first_non_whitespace_column` **(** :ref:`int` line **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_first_visible_line` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_gutter_count` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_gutter_name` **(** :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`GutterType` | :ref:`get_gutter_type` **(** :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_gutter_width` **(** :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`HScrollBar` | :ref:`get_h_scroll_bar` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_indent_level` **(** :ref:`int` line **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_last_full_visible_line` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_last_full_visible_line_wrap_index` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_last_unhidden_line` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_line` **(** :ref:`int` line **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`get_line_background_color` **(** :ref:`int` line **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`get_line_column_at_pos` **(** :ref:`Vector2i` position, :ref:`bool` allow_out_of_bounds=true **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_count` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture2D` | :ref:`get_line_gutter_icon` **(** :ref:`int` line, :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`get_line_gutter_item_color` **(** :ref:`int` line, :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_line_gutter_metadata` **(** :ref:`int` line, :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_line_gutter_text` **(** :ref:`int` line, :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_height` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_width` **(** :ref:`int` line, :ref:`int` wrap_index=-1 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_wrap_count` **(** :ref:`int` line **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_line_wrap_index_at_column` **(** :ref:`int` line, :ref:`int` column **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_line_wrapped_text` **(** :ref:`int` line **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_local_mouse_pos` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PopupMenu` | :ref:`get_menu` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_minimap_line_at_pos` **(** :ref:`Vector2i` position **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_minimap_visible_lines` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`get_next_visible_line_index_offset_from` **(** :ref:`int` line, :ref:`int` wrap_index, :ref:`int` visible_amount **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_next_visible_line_offset_from` **(** :ref:`int` line, :ref:`int` visible_amount **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`get_pos_at_line_column` **(** :ref:`int` line, :ref:`int` column **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2i` | :ref:`get_rect_at_line_column` **(** :ref:`int` line, :ref:`int` column **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_saved_version` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_scroll_pos_for_line` **(** :ref:`int` line, :ref:`int` wrap_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_selected_text` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_selection_column` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_selection_from_column` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_selection_from_line` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_selection_line` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`SelectionMode` | :ref:`get_selection_mode` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_selection_to_column` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_selection_to_line` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_tab_size` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_total_gutter_width` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_total_visible_line_count` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`VScrollBar` | :ref:`get_v_scroll_bar` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_version` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_visible_line_count` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_visible_line_count_in_range` **(** :ref:`int` from_line, :ref:`int` to_line **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_word_at_pos` **(** :ref:`Vector2` position **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_word_under_caret` **(** :ref:`int` caret_index=-1 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_ime_text` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_redo` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_selection` **(** :ref:`int` caret_index=-1 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_undo` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`insert_line_at` **(** :ref:`int` line, :ref:`String` text **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`insert_text_at_caret` **(** :ref:`String` text, :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_caret_visible` **(** :ref:`int` caret_index=0 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_dragging_cursor` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_gutter_clickable` **(** :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_gutter_drawn` **(** :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_gutter_overwritable` **(** :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_line_gutter_clickable` **(** :ref:`int` line, :ref:`int` gutter **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_line_wrapped` **(** :ref:`int` line **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_menu_visible` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_mouse_over_selection` **(** :ref:`bool` edges, :ref:`int` caret_index=-1 **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_overtype_mode_enabled` **(** **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`menu_option` **(** :ref:`int` option **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`merge_gutters` **(** :ref:`int` from_line, :ref:`int` to_line **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`merge_overlapping_carets` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`paste` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`paste_primary_clipboard` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`redo` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_caret` **(** :ref:`int` caret **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_gutter` **(** :ref:`int` gutter **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_secondary_carets` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_text` **(** :ref:`int` from_line, :ref:`int` from_column, :ref:`int` to_line, :ref:`int` to_column **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`search` **(** :ref:`String` text, :ref:`int` flags, :ref:`int` from_line, :ref:`int` from_colum **)** |const| | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`select` **(** :ref:`int` from_line, :ref:`int` from_column, :ref:`int` to_line, :ref:`int` to_column, :ref:`int` caret_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`select_all` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`select_word_under_caret` **(** :ref:`int` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_caret_column` **(** :ref:`int` column, :ref:`bool` adjust_viewport=true, :ref:`int` caret_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_caret_line` **(** :ref:`int` line, :ref:`bool` adjust_viewport=true, :ref:`bool` can_be_hidden=true, :ref:`int` wrap_index=0, :ref:`int` caret_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_gutter_clickable` **(** :ref:`int` gutter, :ref:`bool` clickable **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_gutter_custom_draw` **(** :ref:`int` column, :ref:`Callable` draw_callback **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_gutter_draw` **(** :ref:`int` gutter, :ref:`bool` draw **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_gutter_name` **(** :ref:`int` gutter, :ref:`String` name **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_gutter_overwritable` **(** :ref:`int` gutter, :ref:`bool` overwritable **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_gutter_type` **(** :ref:`int` gutter, :ref:`GutterType` type **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_gutter_width` **(** :ref:`int` gutter, :ref:`int` width **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line` **(** :ref:`int` line, :ref:`String` new_text **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_as_center_visible` **(** :ref:`int` line, :ref:`int` wrap_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_as_first_visible` **(** :ref:`int` line, :ref:`int` wrap_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_as_last_visible` **(** :ref:`int` line, :ref:`int` wrap_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_background_color` **(** :ref:`int` line, :ref:`Color` color **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_gutter_clickable` **(** :ref:`int` line, :ref:`int` gutter, :ref:`bool` clickable **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_gutter_icon` **(** :ref:`int` line, :ref:`int` gutter, :ref:`Texture2D` icon **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_gutter_item_color` **(** :ref:`int` line, :ref:`int` gutter, :ref:`Color` color **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_gutter_metadata` **(** :ref:`int` line, :ref:`int` gutter, :ref:`Variant` metadata **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_line_gutter_text` **(** :ref:`int` line, :ref:`int` gutter, :ref:`String` text **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_overtype_mode_enabled` **(** :ref:`bool` enabled **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_search_flags` **(** :ref:`int` flags **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_search_text` **(** :ref:`String` search_text **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_selection_mode` **(** :ref:`SelectionMode` mode, :ref:`int` line=-1, :ref:`int` column=-1, :ref:`int` caret_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_tab_size` **(** :ref:`int` size **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_tooltip_request_func` **(** :ref:`Callable` callback **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`start_action` **(** :ref:`EditAction` action **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`swap_lines` **(** :ref:`int` from_line, :ref:`int` to_line **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`tag_saved_version` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`undo` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Theme Properties ---------------- .. table:: :widths: auto +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`background_color` | ``Color(0, 0, 0, 0)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`caret_background_color` | ``Color(0, 0, 0, 1)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`caret_color` | ``Color(0.875, 0.875, 0.875, 1)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`current_line_color` | ``Color(0.25, 0.25, 0.26, 0.8)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`font_color` | ``Color(0.875, 0.875, 0.875, 1)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`font_outline_color` | ``Color(1, 1, 1, 1)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`font_placeholder_color` | ``Color(0.875, 0.875, 0.875, 0.6)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`font_readonly_color` | ``Color(0.875, 0.875, 0.875, 0.5)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`font_selected_color` | ``Color(0, 0, 0, 0)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`search_result_border_color` | ``Color(0.3, 0.3, 0.3, 0.4)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`search_result_color` | ``Color(0.3, 0.3, 0.3, 1)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`selection_color` | ``Color(0.5, 0.5, 0.5, 1)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`word_highlighted_color` | ``Color(0.5, 0.5, 0.5, 0.25)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`caret_width` | ``1`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`line_spacing` | ``4`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`outline_size` | ``0`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Font` | :ref:`font` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`font_size` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Texture2D` | :ref:`space` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Texture2D` | :ref:`tab` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`StyleBox` | :ref:`focus` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`StyleBox` | :ref:`normal` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`StyleBox` | :ref:`read_only` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Signals ------- .. _class_TextEdit_signal_caret_changed: .. rst-class:: classref-signal **caret_changed** **(** **)** Emitted when the caret changes position. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_signal_gutter_added: .. rst-class:: classref-signal **gutter_added** **(** **)** Emitted when a gutter is added. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_signal_gutter_clicked: .. rst-class:: classref-signal **gutter_clicked** **(** :ref:`int` line, :ref:`int` gutter **)** Emitted when a gutter is clicked. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_signal_gutter_removed: .. rst-class:: classref-signal **gutter_removed** **(** **)** Emitted when a gutter is removed. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_signal_lines_edited_from: .. rst-class:: classref-signal **lines_edited_from** **(** :ref:`int` from_line, :ref:`int` to_line **)** Emitted immediately when the text changes. When text is added ``from_line`` will be less than ``to_line``. On a remove ``to_line`` will be less than ``from_line``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_signal_text_changed: .. rst-class:: classref-signal **text_changed** **(** **)** Emitted when the text changes. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_signal_text_set: .. rst-class:: classref-signal **text_set** **(** **)** Emitted when :ref:`clear` is called or :ref:`text` is set. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumerations ------------ .. _enum_TextEdit_MenuItems: .. rst-class:: classref-enumeration enum **MenuItems**: .. _class_TextEdit_constant_MENU_CUT: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_CUT** = ``0`` Cuts (copies and clears) the selected text. .. _class_TextEdit_constant_MENU_COPY: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_COPY** = ``1`` Copies the selected text. .. _class_TextEdit_constant_MENU_PASTE: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_PASTE** = ``2`` Pastes the clipboard text over the selected text (or at the cursor's position). .. _class_TextEdit_constant_MENU_CLEAR: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_CLEAR** = ``3`` Erases the whole **TextEdit** text. .. _class_TextEdit_constant_MENU_SELECT_ALL: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_SELECT_ALL** = ``4`` Selects the whole **TextEdit** text. .. _class_TextEdit_constant_MENU_UNDO: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_UNDO** = ``5`` Undoes the previous action. .. _class_TextEdit_constant_MENU_REDO: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_REDO** = ``6`` Redoes the previous action. .. _class_TextEdit_constant_MENU_SUBMENU_TEXT_DIR: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_SUBMENU_TEXT_DIR** = ``7`` ID of "Text Writing Direction" submenu. .. _class_TextEdit_constant_MENU_DIR_INHERITED: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_DIR_INHERITED** = ``8`` Sets text direction to inherited. .. _class_TextEdit_constant_MENU_DIR_AUTO: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_DIR_AUTO** = ``9`` Sets text direction to automatic. .. _class_TextEdit_constant_MENU_DIR_LTR: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_DIR_LTR** = ``10`` Sets text direction to left-to-right. .. _class_TextEdit_constant_MENU_DIR_RTL: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_DIR_RTL** = ``11`` Sets text direction to right-to-left. .. _class_TextEdit_constant_MENU_DISPLAY_UCC: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_DISPLAY_UCC** = ``12`` Toggles control character display. .. _class_TextEdit_constant_MENU_SUBMENU_INSERT_UCC: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_SUBMENU_INSERT_UCC** = ``13`` ID of "Insert Control Character" submenu. .. _class_TextEdit_constant_MENU_INSERT_LRM: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_LRM** = ``14`` Inserts left-to-right mark (LRM) character. .. _class_TextEdit_constant_MENU_INSERT_RLM: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_RLM** = ``15`` Inserts right-to-left mark (RLM) character. .. _class_TextEdit_constant_MENU_INSERT_LRE: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_LRE** = ``16`` Inserts start of left-to-right embedding (LRE) character. .. _class_TextEdit_constant_MENU_INSERT_RLE: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_RLE** = ``17`` Inserts start of right-to-left embedding (RLE) character. .. _class_TextEdit_constant_MENU_INSERT_LRO: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_LRO** = ``18`` Inserts start of left-to-right override (LRO) character. .. _class_TextEdit_constant_MENU_INSERT_RLO: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_RLO** = ``19`` Inserts start of right-to-left override (RLO) character. .. _class_TextEdit_constant_MENU_INSERT_PDF: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_PDF** = ``20`` Inserts pop direction formatting (PDF) character. .. _class_TextEdit_constant_MENU_INSERT_ALM: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_ALM** = ``21`` Inserts Arabic letter mark (ALM) character. .. _class_TextEdit_constant_MENU_INSERT_LRI: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_LRI** = ``22`` Inserts left-to-right isolate (LRI) character. .. _class_TextEdit_constant_MENU_INSERT_RLI: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_RLI** = ``23`` Inserts right-to-left isolate (RLI) character. .. _class_TextEdit_constant_MENU_INSERT_FSI: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_FSI** = ``24`` Inserts first strong isolate (FSI) character. .. _class_TextEdit_constant_MENU_INSERT_PDI: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_PDI** = ``25`` Inserts pop direction isolate (PDI) character. .. _class_TextEdit_constant_MENU_INSERT_ZWJ: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_ZWJ** = ``26`` Inserts zero width joiner (ZWJ) character. .. _class_TextEdit_constant_MENU_INSERT_ZWNJ: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_ZWNJ** = ``27`` Inserts zero width non-joiner (ZWNJ) character. .. _class_TextEdit_constant_MENU_INSERT_WJ: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_WJ** = ``28`` Inserts word joiner (WJ) character. .. _class_TextEdit_constant_MENU_INSERT_SHY: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_INSERT_SHY** = ``29`` Inserts soft hyphen (SHY) character. .. _class_TextEdit_constant_MENU_MAX: .. rst-class:: classref-enumeration-constant :ref:`MenuItems` **MENU_MAX** = ``30`` Represents the size of the :ref:`MenuItems` enum. .. rst-class:: classref-item-separator ---- .. _enum_TextEdit_EditAction: .. rst-class:: classref-enumeration enum **EditAction**: .. _class_TextEdit_constant_ACTION_NONE: .. rst-class:: classref-enumeration-constant :ref:`EditAction` **ACTION_NONE** = ``0`` No current action. .. _class_TextEdit_constant_ACTION_TYPING: .. rst-class:: classref-enumeration-constant :ref:`EditAction` **ACTION_TYPING** = ``1`` A typing action. .. _class_TextEdit_constant_ACTION_BACKSPACE: .. rst-class:: classref-enumeration-constant :ref:`EditAction` **ACTION_BACKSPACE** = ``2`` A backwards delete action. .. _class_TextEdit_constant_ACTION_DELETE: .. rst-class:: classref-enumeration-constant :ref:`EditAction` **ACTION_DELETE** = ``3`` A forward delete action. .. rst-class:: classref-item-separator ---- .. _enum_TextEdit_SearchFlags: .. rst-class:: classref-enumeration enum **SearchFlags**: .. _class_TextEdit_constant_SEARCH_MATCH_CASE: .. rst-class:: classref-enumeration-constant :ref:`SearchFlags` **SEARCH_MATCH_CASE** = ``1`` Match case when searching. .. _class_TextEdit_constant_SEARCH_WHOLE_WORDS: .. rst-class:: classref-enumeration-constant :ref:`SearchFlags` **SEARCH_WHOLE_WORDS** = ``2`` Match whole words when searching. .. _class_TextEdit_constant_SEARCH_BACKWARDS: .. rst-class:: classref-enumeration-constant :ref:`SearchFlags` **SEARCH_BACKWARDS** = ``4`` Search from end to beginning. .. rst-class:: classref-item-separator ---- .. _enum_TextEdit_CaretType: .. rst-class:: classref-enumeration enum **CaretType**: .. _class_TextEdit_constant_CARET_TYPE_LINE: .. rst-class:: classref-enumeration-constant :ref:`CaretType` **CARET_TYPE_LINE** = ``0`` Vertical line caret. .. _class_TextEdit_constant_CARET_TYPE_BLOCK: .. rst-class:: classref-enumeration-constant :ref:`CaretType` **CARET_TYPE_BLOCK** = ``1`` Block caret. .. rst-class:: classref-item-separator ---- .. _enum_TextEdit_SelectionMode: .. rst-class:: classref-enumeration enum **SelectionMode**: .. _class_TextEdit_constant_SELECTION_MODE_NONE: .. rst-class:: classref-enumeration-constant :ref:`SelectionMode` **SELECTION_MODE_NONE** = ``0`` Not selecting. .. _class_TextEdit_constant_SELECTION_MODE_SHIFT: .. rst-class:: classref-enumeration-constant :ref:`SelectionMode` **SELECTION_MODE_SHIFT** = ``1`` Select as if ``shift`` is pressed. .. _class_TextEdit_constant_SELECTION_MODE_POINTER: .. rst-class:: classref-enumeration-constant :ref:`SelectionMode` **SELECTION_MODE_POINTER** = ``2`` Select single characters as if the user single clicked. .. _class_TextEdit_constant_SELECTION_MODE_WORD: .. rst-class:: classref-enumeration-constant :ref:`SelectionMode` **SELECTION_MODE_WORD** = ``3`` Select whole words as if the user double clicked. .. _class_TextEdit_constant_SELECTION_MODE_LINE: .. rst-class:: classref-enumeration-constant :ref:`SelectionMode` **SELECTION_MODE_LINE** = ``4`` Select whole lines as if the user triple clicked. .. rst-class:: classref-item-separator ---- .. _enum_TextEdit_LineWrappingMode: .. rst-class:: classref-enumeration enum **LineWrappingMode**: .. _class_TextEdit_constant_LINE_WRAPPING_NONE: .. rst-class:: classref-enumeration-constant :ref:`LineWrappingMode` **LINE_WRAPPING_NONE** = ``0`` Line wrapping is disabled. .. _class_TextEdit_constant_LINE_WRAPPING_BOUNDARY: .. rst-class:: classref-enumeration-constant :ref:`LineWrappingMode` **LINE_WRAPPING_BOUNDARY** = ``1`` Line wrapping occurs at the control boundary, beyond what would normally be visible. .. rst-class:: classref-item-separator ---- .. _enum_TextEdit_GutterType: .. rst-class:: classref-enumeration enum **GutterType**: .. _class_TextEdit_constant_GUTTER_TYPE_STRING: .. rst-class:: classref-enumeration-constant :ref:`GutterType` **GUTTER_TYPE_STRING** = ``0`` Draw a string. .. _class_TextEdit_constant_GUTTER_TYPE_ICON: .. rst-class:: classref-enumeration-constant :ref:`GutterType` **GUTTER_TYPE_ICON** = ``1`` Draw an icon. .. _class_TextEdit_constant_GUTTER_TYPE_CUSTOM: .. rst-class:: classref-enumeration-constant :ref:`GutterType` **GUTTER_TYPE_CUSTOM** = ``2`` Custom draw. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_TextEdit_property_autowrap_mode: .. rst-class:: classref-property :ref:`AutowrapMode` **autowrap_mode** = ``3`` .. rst-class:: classref-property-setget - void **set_autowrap_mode** **(** :ref:`AutowrapMode` value **)** - :ref:`AutowrapMode` **get_autowrap_mode** **(** **)** If :ref:`wrap_mode` is set to :ref:`LINE_WRAPPING_BOUNDARY`, sets text wrapping mode. To see how each mode behaves, see :ref:`AutowrapMode`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_caret_blink: .. rst-class:: classref-property :ref:`bool` **caret_blink** = ``false`` .. rst-class:: classref-property-setget - void **set_caret_blink_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_caret_blink_enabled** **(** **)** If ``true``, makes the caret blink. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_caret_blink_interval: .. rst-class:: classref-property :ref:`float` **caret_blink_interval** = ``0.65`` .. rst-class:: classref-property-setget - void **set_caret_blink_interval** **(** :ref:`float` value **)** - :ref:`float` **get_caret_blink_interval** **(** **)** The interval at which the caret blinks (in seconds). .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_caret_draw_when_editable_disabled: .. rst-class:: classref-property :ref:`bool` **caret_draw_when_editable_disabled** = ``false`` .. rst-class:: classref-property-setget - void **set_draw_caret_when_editable_disabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_drawing_caret_when_editable_disabled** **(** **)** If ``true``, caret will be visible when :ref:`editable` is disabled. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_caret_mid_grapheme: .. rst-class:: classref-property :ref:`bool` **caret_mid_grapheme** = ``true`` .. rst-class:: classref-property-setget - void **set_caret_mid_grapheme_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_caret_mid_grapheme_enabled** **(** **)** Allow moving caret, selecting and removing the individual composite character components. \ **Note:** :kbd:`Backspace` is always removing individual composite character components. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_caret_move_on_right_click: .. rst-class:: classref-property :ref:`bool` **caret_move_on_right_click** = ``true`` .. rst-class:: classref-property-setget - void **set_move_caret_on_right_click_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_move_caret_on_right_click_enabled** **(** **)** If ``true``, a right-click moves the caret at the mouse position before displaying the context menu. If ``false``, the context menu disregards mouse location. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_caret_multiple: .. rst-class:: classref-property :ref:`bool` **caret_multiple** = ``true`` .. rst-class:: classref-property-setget - void **set_multiple_carets_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_multiple_carets_enabled** **(** **)** Sets if multiple carets are allowed. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_caret_type: .. rst-class:: classref-property :ref:`CaretType` **caret_type** = ``0`` .. rst-class:: classref-property-setget - void **set_caret_type** **(** :ref:`CaretType` value **)** - :ref:`CaretType` **get_caret_type** **(** **)** Set the type of caret to draw. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_context_menu_enabled: .. rst-class:: classref-property :ref:`bool` **context_menu_enabled** = ``true`` .. rst-class:: classref-property-setget - void **set_context_menu_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_context_menu_enabled** **(** **)** If ``true``, a right-click displays the context menu. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_deselect_on_focus_loss_enabled: .. rst-class:: classref-property :ref:`bool` **deselect_on_focus_loss_enabled** = ``true`` .. rst-class:: classref-property-setget - void **set_deselect_on_focus_loss_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_deselect_on_focus_loss_enabled** **(** **)** If ``true``, the selected text will be deselected when focus is lost. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_drag_and_drop_selection_enabled: .. rst-class:: classref-property :ref:`bool` **drag_and_drop_selection_enabled** = ``true`` .. rst-class:: classref-property-setget - void **set_drag_and_drop_selection_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_drag_and_drop_selection_enabled** **(** **)** If ``true``, allow drag and drop of selected text. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_draw_control_chars: .. rst-class:: classref-property :ref:`bool` **draw_control_chars** = ``false`` .. rst-class:: classref-property-setget - void **set_draw_control_chars** **(** :ref:`bool` value **)** - :ref:`bool` **get_draw_control_chars** **(** **)** If ``true``, control characters are displayed. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_draw_spaces: .. rst-class:: classref-property :ref:`bool` **draw_spaces** = ``false`` .. rst-class:: classref-property-setget - void **set_draw_spaces** **(** :ref:`bool` value **)** - :ref:`bool` **is_drawing_spaces** **(** **)** If ``true``, the "space" character will have a visible representation. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_draw_tabs: .. rst-class:: classref-property :ref:`bool` **draw_tabs** = ``false`` .. rst-class:: classref-property-setget - void **set_draw_tabs** **(** :ref:`bool` value **)** - :ref:`bool` **is_drawing_tabs** **(** **)** If ``true``, the "tab" character will have a visible representation. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_editable: .. rst-class:: classref-property :ref:`bool` **editable** = ``true`` .. rst-class:: classref-property-setget - void **set_editable** **(** :ref:`bool` value **)** - :ref:`bool` **is_editable** **(** **)** If ``false``, existing text cannot be modified and new text cannot be added. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_highlight_all_occurrences: .. rst-class:: classref-property :ref:`bool` **highlight_all_occurrences** = ``false`` .. rst-class:: classref-property-setget - void **set_highlight_all_occurrences** **(** :ref:`bool` value **)** - :ref:`bool` **is_highlight_all_occurrences_enabled** **(** **)** If ``true``, all occurrences of the selected text will be highlighted. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_highlight_current_line: .. rst-class:: classref-property :ref:`bool` **highlight_current_line** = ``false`` .. rst-class:: classref-property-setget - void **set_highlight_current_line** **(** :ref:`bool` value **)** - :ref:`bool` **is_highlight_current_line_enabled** **(** **)** If ``true``, the line containing the cursor is highlighted. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_language: .. rst-class:: classref-property :ref:`String` **language** = ``""`` .. rst-class:: classref-property-setget - void **set_language** **(** :ref:`String` value **)** - :ref:`String` **get_language** **(** **)** Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_middle_mouse_paste_enabled: .. rst-class:: classref-property :ref:`bool` **middle_mouse_paste_enabled** = ``true`` .. rst-class:: classref-property-setget - void **set_middle_mouse_paste_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_middle_mouse_paste_enabled** **(** **)** If ``false``, using middle mouse button to paste clipboard will be disabled. \ **Note:** This method is only implemented on Linux. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_minimap_draw: .. rst-class:: classref-property :ref:`bool` **minimap_draw** = ``false`` .. rst-class:: classref-property-setget - void **set_draw_minimap** **(** :ref:`bool` value **)** - :ref:`bool` **is_drawing_minimap** **(** **)** If ``true``, a minimap is shown, providing an outline of your source code. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_minimap_width: .. rst-class:: classref-property :ref:`int` **minimap_width** = ``80`` .. rst-class:: classref-property-setget - void **set_minimap_width** **(** :ref:`int` value **)** - :ref:`int` **get_minimap_width** **(** **)** The width, in pixels, of the minimap. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_placeholder_text: .. rst-class:: classref-property :ref:`String` **placeholder_text** = ``""`` .. rst-class:: classref-property-setget - void **set_placeholder** **(** :ref:`String` value **)** - :ref:`String` **get_placeholder** **(** **)** Text shown when the **TextEdit** is empty. It is **not** the **TextEdit**'s default value (see :ref:`text`). .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_scroll_fit_content_height: .. rst-class:: classref-property :ref:`bool` **scroll_fit_content_height** = ``false`` .. rst-class:: classref-property-setget - void **set_fit_content_height_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_fit_content_height_enabled** **(** **)** If ``true``, **TextEdit** will disable vertical scroll and fit minimum height to the number of visible lines. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_scroll_horizontal: .. rst-class:: classref-property :ref:`int` **scroll_horizontal** = ``0`` .. rst-class:: classref-property-setget - void **set_h_scroll** **(** :ref:`int` value **)** - :ref:`int` **get_h_scroll** **(** **)** If there is a horizontal scrollbar, this determines the current horizontal scroll value in pixels. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_scroll_past_end_of_file: .. rst-class:: classref-property :ref:`bool` **scroll_past_end_of_file** = ``false`` .. rst-class:: classref-property-setget - void **set_scroll_past_end_of_file_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_scroll_past_end_of_file_enabled** **(** **)** Allow scrolling past the last line into "virtual" space. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_scroll_smooth: .. rst-class:: classref-property :ref:`bool` **scroll_smooth** = ``false`` .. rst-class:: classref-property-setget - void **set_smooth_scroll_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_smooth_scroll_enabled** **(** **)** Scroll smoothly over the text rather then jumping to the next location. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_scroll_v_scroll_speed: .. rst-class:: classref-property :ref:`float` **scroll_v_scroll_speed** = ``80.0`` .. rst-class:: classref-property-setget - void **set_v_scroll_speed** **(** :ref:`float` value **)** - :ref:`float` **get_v_scroll_speed** **(** **)** Sets the scroll speed with the minimap or when :ref:`scroll_smooth` is enabled. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_scroll_vertical: .. rst-class:: classref-property :ref:`float` **scroll_vertical** = ``0.0`` .. rst-class:: classref-property-setget - void **set_v_scroll** **(** :ref:`float` value **)** - :ref:`float` **get_v_scroll** **(** **)** If there is a vertical scrollbar, this determines the current vertical scroll value in line numbers, starting at 0 for the top line. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_selecting_enabled: .. rst-class:: classref-property :ref:`bool` **selecting_enabled** = ``true`` .. rst-class:: classref-property-setget - void **set_selecting_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_selecting_enabled** **(** **)** If ``true``, text can be selected. If ``false``, text can not be selected by the user or by the :ref:`select` or :ref:`select_all` methods. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_shortcut_keys_enabled: .. rst-class:: classref-property :ref:`bool` **shortcut_keys_enabled** = ``true`` .. rst-class:: classref-property-setget - void **set_shortcut_keys_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_shortcut_keys_enabled** **(** **)** If ``true``, shortcut keys for context menu items are enabled, even if the context menu is disabled. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_structured_text_bidi_override: .. rst-class:: classref-property :ref:`StructuredTextParser` **structured_text_bidi_override** = ``0`` .. rst-class:: classref-property-setget - void **set_structured_text_bidi_override** **(** :ref:`StructuredTextParser` value **)** - :ref:`StructuredTextParser` **get_structured_text_bidi_override** **(** **)** Set BiDi algorithm override for the structured text. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_structured_text_bidi_override_options: .. rst-class:: classref-property :ref:`Array` **structured_text_bidi_override_options** = ``[]`` .. rst-class:: classref-property-setget - void **set_structured_text_bidi_override_options** **(** :ref:`Array` value **)** - :ref:`Array` **get_structured_text_bidi_override_options** **(** **)** Set additional options for BiDi override. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_syntax_highlighter: .. rst-class:: classref-property :ref:`SyntaxHighlighter` **syntax_highlighter** .. rst-class:: classref-property-setget - void **set_syntax_highlighter** **(** :ref:`SyntaxHighlighter` value **)** - :ref:`SyntaxHighlighter` **get_syntax_highlighter** **(** **)** Sets the :ref:`SyntaxHighlighter` to use. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_text: .. rst-class:: classref-property :ref:`String` **text** = ``""`` .. rst-class:: classref-property-setget - void **set_text** **(** :ref:`String` value **)** - :ref:`String` **get_text** **(** **)** String value of the **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_text_direction: .. rst-class:: classref-property :ref:`TextDirection` **text_direction** = ``0`` .. rst-class:: classref-property-setget - void **set_text_direction** **(** :ref:`TextDirection` value **)** - :ref:`TextDirection` **get_text_direction** **(** **)** Base text writing direction. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_virtual_keyboard_enabled: .. rst-class:: classref-property :ref:`bool` **virtual_keyboard_enabled** = ``true`` .. rst-class:: classref-property-setget - void **set_virtual_keyboard_enabled** **(** :ref:`bool` value **)** - :ref:`bool` **is_virtual_keyboard_enabled** **(** **)** If ``true``, the native virtual keyboard is shown when focused on platforms that support it. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_property_wrap_mode: .. rst-class:: classref-property :ref:`LineWrappingMode` **wrap_mode** = ``0`` .. rst-class:: classref-property-setget - void **set_line_wrapping_mode** **(** :ref:`LineWrappingMode` value **)** - :ref:`LineWrappingMode` **get_line_wrapping_mode** **(** **)** Sets the line wrapping mode to use. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_TextEdit_method__backspace: .. rst-class:: classref-method void **_backspace** **(** :ref:`int` caret_index **)** |virtual| Override this method to define what happens when the user presses the backspace key. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method__copy: .. rst-class:: classref-method void **_copy** **(** :ref:`int` caret_index **)** |virtual| Override this method to define what happens when the user performs a copy operation. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method__cut: .. rst-class:: classref-method void **_cut** **(** :ref:`int` caret_index **)** |virtual| Override this method to define what happens when the user performs a cut operation. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method__handle_unicode_input: .. rst-class:: classref-method void **_handle_unicode_input** **(** :ref:`int` unicode_char, :ref:`int` caret_index **)** |virtual| Override this method to define what happens when the user types in the provided key ``unicode_char``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method__paste: .. rst-class:: classref-method void **_paste** **(** :ref:`int` caret_index **)** |virtual| Override this method to define what happens when the user performs a paste operation. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method__paste_primary_clipboard: .. rst-class:: classref-method void **_paste_primary_clipboard** **(** :ref:`int` caret_index **)** |virtual| Override this method to define what happens when the user performs a paste operation with middle mouse button. \ **Note:** This method is only implemented on Linux. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_add_caret: .. rst-class:: classref-method :ref:`int` **add_caret** **(** :ref:`int` line, :ref:`int` col **)** Adds a new caret at the given location. Returns the index of the new caret, or ``-1`` if the location is invalid. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_add_caret_at_carets: .. rst-class:: classref-method void **add_caret_at_carets** **(** :ref:`bool` below **)** Adds an additional caret above or below every caret. If ``below`` is true the new caret will be added below and above otherwise. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_add_gutter: .. rst-class:: classref-method void **add_gutter** **(** :ref:`int` at=-1 **)** Register a new gutter to this **TextEdit**. Use ``at`` to have a specific gutter order. A value of ``-1`` appends the gutter to the right. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_add_selection_for_next_occurrence: .. rst-class:: classref-method void **add_selection_for_next_occurrence** **(** **)** Adds a selection and a caret for the next occurrence of the current selection. If there is no active selection, selects word under caret. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_adjust_carets_after_edit: .. rst-class:: classref-method void **adjust_carets_after_edit** **(** :ref:`int` caret, :ref:`int` from_line, :ref:`int` from_col, :ref:`int` to_line, :ref:`int` to_col **)** Reposition the carets affected by the edit. This assumes edits are applied in edit order, see :ref:`get_caret_index_edit_order`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_adjust_viewport_to_caret: .. rst-class:: classref-method void **adjust_viewport_to_caret** **(** :ref:`int` caret_index=0 **)** Adjust the viewport so the caret is visible. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_backspace: .. rst-class:: classref-method void **backspace** **(** :ref:`int` caret_index=-1 **)** Called when the user presses the backspace key. Can be overridden with :ref:`_backspace`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_begin_complex_operation: .. rst-class:: classref-method void **begin_complex_operation** **(** **)** Starts a multipart edit. All edits will be treated as one action until :ref:`end_complex_operation` is called. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_center_viewport_to_caret: .. rst-class:: classref-method void **center_viewport_to_caret** **(** :ref:`int` caret_index=0 **)** Centers the viewport on the line the editing caret is at. This also resets the :ref:`scroll_horizontal` value to ``0``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_clear: .. rst-class:: classref-method void **clear** **(** **)** Performs a full reset of **TextEdit**, including undo history. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_clear_undo_history: .. rst-class:: classref-method void **clear_undo_history** **(** **)** Clears the undo history. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_copy: .. rst-class:: classref-method void **copy** **(** :ref:`int` caret_index=-1 **)** Copies the current text selection. Can be overridden with :ref:`_copy`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_cut: .. rst-class:: classref-method void **cut** **(** :ref:`int` caret_index=-1 **)** Cut's the current selection. Can be overridden with :ref:`_cut`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_delete_selection: .. rst-class:: classref-method void **delete_selection** **(** :ref:`int` caret_index=-1 **)** Deletes the selected text. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_deselect: .. rst-class:: classref-method void **deselect** **(** :ref:`int` caret_index=-1 **)** Deselects the current selection. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_end_action: .. rst-class:: classref-method void **end_action** **(** **)** Marks the end of steps in the current action started with :ref:`start_action`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_end_complex_operation: .. rst-class:: classref-method void **end_complex_operation** **(** **)** Ends a multipart edit, started with :ref:`begin_complex_operation`. If called outside a complex operation, the current operation is pushed onto the undo/redo stack. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_caret_column: .. rst-class:: classref-method :ref:`int` **get_caret_column** **(** :ref:`int` caret_index=0 **)** |const| Returns the column the editing caret is at. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_caret_count: .. rst-class:: classref-method :ref:`int` **get_caret_count** **(** **)** |const| Returns the number of carets in this **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_caret_draw_pos: .. rst-class:: classref-method :ref:`Vector2` **get_caret_draw_pos** **(** :ref:`int` caret_index=0 **)** |const| Returns the caret pixel draw position. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_caret_index_edit_order: .. rst-class:: classref-method :ref:`PackedInt32Array` **get_caret_index_edit_order** **(** **)** Returns a list of caret indexes in their edit order, this done from bottom to top. Edit order refers to the way actions such as :ref:`insert_text_at_caret` are applied. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_caret_line: .. rst-class:: classref-method :ref:`int` **get_caret_line** **(** :ref:`int` caret_index=0 **)** |const| Returns the line the editing caret is on. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_caret_wrap_index: .. rst-class:: classref-method :ref:`int` **get_caret_wrap_index** **(** :ref:`int` caret_index=0 **)** |const| Returns the wrap index the editing caret is on. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_first_non_whitespace_column: .. rst-class:: classref-method :ref:`int` **get_first_non_whitespace_column** **(** :ref:`int` line **)** |const| Returns the first column containing a non-whitespace character. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_first_visible_line: .. rst-class:: classref-method :ref:`int` **get_first_visible_line** **(** **)** |const| Returns the first visible line. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_gutter_count: .. rst-class:: classref-method :ref:`int` **get_gutter_count** **(** **)** |const| Returns the number of gutters registered. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_gutter_name: .. rst-class:: classref-method :ref:`String` **get_gutter_name** **(** :ref:`int` gutter **)** |const| Returns the name of the gutter at the given index. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_gutter_type: .. rst-class:: classref-method :ref:`GutterType` **get_gutter_type** **(** :ref:`int` gutter **)** |const| Returns the type of the gutter at the given index. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_gutter_width: .. rst-class:: classref-method :ref:`int` **get_gutter_width** **(** :ref:`int` gutter **)** |const| Returns the width of the gutter at the given index. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_h_scroll_bar: .. rst-class:: classref-method :ref:`HScrollBar` **get_h_scroll_bar** **(** **)** |const| Returns the :ref:`HScrollBar` used by **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_indent_level: .. rst-class:: classref-method :ref:`int` **get_indent_level** **(** :ref:`int` line **)** |const| Returns the number of spaces and ``tab * tab_size`` before the first char. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_last_full_visible_line: .. rst-class:: classref-method :ref:`int` **get_last_full_visible_line** **(** **)** |const| Returns the last visible line. Use :ref:`get_last_full_visible_line_wrap_index` for the wrap index. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_last_full_visible_line_wrap_index: .. rst-class:: classref-method :ref:`int` **get_last_full_visible_line_wrap_index** **(** **)** |const| Returns the last visible wrap index of the last visible line. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_last_unhidden_line: .. rst-class:: classref-method :ref:`int` **get_last_unhidden_line** **(** **)** |const| Returns the last unhidden line in the entire **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line: .. rst-class:: classref-method :ref:`String` **get_line** **(** :ref:`int` line **)** |const| Returns the text of a specific line. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_background_color: .. rst-class:: classref-method :ref:`Color` **get_line_background_color** **(** :ref:`int` line **)** |const| Returns the current background color of the line. ``Color(0, 0, 0, 0)`` is returned if no color is set. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_column_at_pos: .. rst-class:: classref-method :ref:`Vector2i` **get_line_column_at_pos** **(** :ref:`Vector2i` position, :ref:`bool` allow_out_of_bounds=true **)** |const| Returns the line and column at the given position. In the returned vector, ``x`` is the column, ``y`` is the line. If ``allow_out_of_bounds`` is ``false`` and the position is not over the text, both vector values will be set to ``-1``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_count: .. rst-class:: classref-method :ref:`int` **get_line_count** **(** **)** |const| Returns the number of lines in the text. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_gutter_icon: .. rst-class:: classref-method :ref:`Texture2D` **get_line_gutter_icon** **(** :ref:`int` line, :ref:`int` gutter **)** |const| Returns the icon currently in ``gutter`` at ``line``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_gutter_item_color: .. rst-class:: classref-method :ref:`Color` **get_line_gutter_item_color** **(** :ref:`int` line, :ref:`int` gutter **)** |const| Returns the color currently in ``gutter`` at ``line``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_gutter_metadata: .. rst-class:: classref-method :ref:`Variant` **get_line_gutter_metadata** **(** :ref:`int` line, :ref:`int` gutter **)** |const| Returns the metadata currently in ``gutter`` at ``line``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_gutter_text: .. rst-class:: classref-method :ref:`String` **get_line_gutter_text** **(** :ref:`int` line, :ref:`int` gutter **)** |const| Returns the text currently in ``gutter`` at ``line``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_height: .. rst-class:: classref-method :ref:`int` **get_line_height** **(** **)** |const| Returns the maximum value of the line height among all lines. \ **Note:** The return value is influenced by :ref:`line_spacing` and :ref:`font_size`. And it will not be less than ``1``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_width: .. rst-class:: classref-method :ref:`int` **get_line_width** **(** :ref:`int` line, :ref:`int` wrap_index=-1 **)** |const| Returns the width in pixels of the ``wrap_index`` on ``line``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_wrap_count: .. rst-class:: classref-method :ref:`int` **get_line_wrap_count** **(** :ref:`int` line **)** |const| Returns the number of times the given line is wrapped. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_wrap_index_at_column: .. rst-class:: classref-method :ref:`int` **get_line_wrap_index_at_column** **(** :ref:`int` line, :ref:`int` column **)** |const| Returns the wrap index of the given line column. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_line_wrapped_text: .. rst-class:: classref-method :ref:`PackedStringArray` **get_line_wrapped_text** **(** :ref:`int` line **)** |const| Returns an array of :ref:`String`\ s representing each wrapped index. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_local_mouse_pos: .. rst-class:: classref-method :ref:`Vector2` **get_local_mouse_pos** **(** **)** |const| Returns the local mouse position adjusted for the text direction. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_menu: .. rst-class:: classref-method :ref:`PopupMenu` **get_menu** **(** **)** |const| Returns the :ref:`PopupMenu` of this **TextEdit**. By default, this menu is displayed when right-clicking on the **TextEdit**. You can add custom menu items or remove standard ones. Make sure your IDs don't conflict with the standard ones (see :ref:`MenuItems`). For example: .. tabs:: .. code-tab:: gdscript func _ready(): var menu = get_menu() # Remove all items after "Redo". menu.item_count = menu.get_item_index(MENU_REDO) + 1 # Add custom items. menu.add_separator() menu.add_item("Insert Date", MENU_MAX + 1) # Connect callback. menu.id_pressed.connect(_on_item_pressed) func _on_item_pressed(id): if id == MENU_MAX + 1: insert_text_at_caret(Time.get_date_string_from_system()) .. code-tab:: csharp public override void _Ready() { var menu = GetMenu(); // Remove all items after "Redo". menu.ItemCount = menu.GetItemIndex(TextEdit.MenuItems.Redo) + 1; // Add custom items. menu.AddSeparator(); menu.AddItem("Insert Date", TextEdit.MenuItems.Max + 1); // Add event handler. menu.IdPressed += OnItemPressed; } public void OnItemPressed(int id) { if (id == TextEdit.MenuItems.Max + 1) { InsertTextAtCaret(Time.GetDateStringFromSystem()); } } \ **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 :ref:`Window.visible` property. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_minimap_line_at_pos: .. rst-class:: classref-method :ref:`int` **get_minimap_line_at_pos** **(** :ref:`Vector2i` position **)** |const| Returns the equivalent minimap line at ``position``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_minimap_visible_lines: .. rst-class:: classref-method :ref:`int` **get_minimap_visible_lines** **(** **)** |const| Returns the number of lines that may be drawn on the minimap. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_next_visible_line_index_offset_from: .. rst-class:: classref-method :ref:`Vector2i` **get_next_visible_line_index_offset_from** **(** :ref:`int` line, :ref:`int` wrap_index, :ref:`int` visible_amount **)** |const| Similar to :ref:`get_next_visible_line_offset_from`, but takes into account the line wrap indexes. In the returned vector, ``x`` is the line, ``y`` is the wrap index. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_next_visible_line_offset_from: .. rst-class:: classref-method :ref:`int` **get_next_visible_line_offset_from** **(** :ref:`int` line, :ref:`int` visible_amount **)** |const| Returns the count to the next visible line from ``line`` to ``line + visible_amount``. Can also count backwards. For example if a **TextEdit** has 5 lines with lines 2 and 3 hidden, calling this with ``line = 1, visible_amount = 1`` would return 3. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_pos_at_line_column: .. rst-class:: classref-method :ref:`Vector2i` **get_pos_at_line_column** **(** :ref:`int` line, :ref:`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 :ref:`get_rect_at_line_column` to get the top side position. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_rect_at_line_column: .. rst-class:: classref-method :ref:`Rect2i` **get_rect_at_line_column** **(** :ref:`int` line, :ref:`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 :ref:`get_pos_at_line_column` which returns the bottom side. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_saved_version: .. rst-class:: classref-method :ref:`int` **get_saved_version** **(** **)** |const| Returns the last tagged saved version from :ref:`tag_saved_version`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_scroll_pos_for_line: .. rst-class:: classref-method :ref:`float` **get_scroll_pos_for_line** **(** :ref:`int` line, :ref:`int` wrap_index=0 **)** |const| Returns the scroll position for ``wrap_index`` of ``line``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_selected_text: .. rst-class:: classref-method :ref:`String` **get_selected_text** **(** :ref:`int` caret_index=-1 **)** Returns the text inside the selection of a caret, or all the carets if ``caret_index`` is its default value ``-1``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_selection_column: .. rst-class:: classref-method :ref:`int` **get_selection_column** **(** :ref:`int` caret_index=0 **)** |const| Returns the original start column of the selection. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_selection_from_column: .. rst-class:: classref-method :ref:`int` **get_selection_from_column** **(** :ref:`int` caret_index=0 **)** |const| Returns the selection begin column. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_selection_from_line: .. rst-class:: classref-method :ref:`int` **get_selection_from_line** **(** :ref:`int` caret_index=0 **)** |const| Returns the selection begin line. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_selection_line: .. rst-class:: classref-method :ref:`int` **get_selection_line** **(** :ref:`int` caret_index=0 **)** |const| Returns the original start line of the selection. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_selection_mode: .. rst-class:: classref-method :ref:`SelectionMode` **get_selection_mode** **(** **)** |const| Returns the current selection mode. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_selection_to_column: .. rst-class:: classref-method :ref:`int` **get_selection_to_column** **(** :ref:`int` caret_index=0 **)** |const| Returns the selection end column. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_selection_to_line: .. rst-class:: classref-method :ref:`int` **get_selection_to_line** **(** :ref:`int` caret_index=0 **)** |const| Returns the selection end line. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_tab_size: .. rst-class:: classref-method :ref:`int` **get_tab_size** **(** **)** |const| Returns the **TextEdit**'s' tab size. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_total_gutter_width: .. rst-class:: classref-method :ref:`int` **get_total_gutter_width** **(** **)** |const| Returns the total width of all gutters and internal padding. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_total_visible_line_count: .. rst-class:: classref-method :ref:`int` **get_total_visible_line_count** **(** **)** |const| Returns the number of lines that may be drawn. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_v_scroll_bar: .. rst-class:: classref-method :ref:`VScrollBar` **get_v_scroll_bar** **(** **)** |const| Returns the :ref:`VScrollBar` of the **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_version: .. rst-class:: classref-method :ref:`int` **get_version** **(** **)** |const| Returns the current version of the **TextEdit**. The version is a count of recorded operations by the undo/redo history. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_visible_line_count: .. rst-class:: classref-method :ref:`int` **get_visible_line_count** **(** **)** |const| Returns the number of visible lines, including wrapped text. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_visible_line_count_in_range: .. rst-class:: classref-method :ref:`int` **get_visible_line_count_in_range** **(** :ref:`int` from_line, :ref:`int` to_line **)** |const| Returns the total number of visible + wrapped lines between the two lines. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_word_at_pos: .. rst-class:: classref-method :ref:`String` **get_word_at_pos** **(** :ref:`Vector2` position **)** |const| Returns the word at ``position``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_get_word_under_caret: .. rst-class:: classref-method :ref:`String` **get_word_under_caret** **(** :ref:`int` caret_index=-1 **)** |const| Returns a :ref:`String` text with the word under the caret's location. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_has_ime_text: .. rst-class:: classref-method :ref:`bool` **has_ime_text** **(** **)** |const| Returns if the user has IME text. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_has_redo: .. rst-class:: classref-method :ref:`bool` **has_redo** **(** **)** |const| Returns ``true`` if a "redo" action is available. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_has_selection: .. rst-class:: classref-method :ref:`bool` **has_selection** **(** :ref:`int` caret_index=-1 **)** |const| Returns ``true`` if the user has selected text. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_has_undo: .. rst-class:: classref-method :ref:`bool` **has_undo** **(** **)** |const| Returns ``true`` if an "undo" action is available. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_insert_line_at: .. rst-class:: classref-method void **insert_line_at** **(** :ref:`int` line, :ref:`String` text **)** Inserts a new line with ``text`` at ``line``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_insert_text_at_caret: .. rst-class:: classref-method void **insert_text_at_caret** **(** :ref:`String` text, :ref:`int` caret_index=-1 **)** Insert the specified text at the caret position. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_caret_visible: .. rst-class:: classref-method :ref:`bool` **is_caret_visible** **(** :ref:`int` caret_index=0 **)** |const| Returns ``true`` if the caret is visible on the screen. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_dragging_cursor: .. rst-class:: classref-method :ref:`bool` **is_dragging_cursor** **(** **)** |const| Returns ``true`` if the user is dragging their mouse for scrolling or selecting. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_gutter_clickable: .. rst-class:: classref-method :ref:`bool` **is_gutter_clickable** **(** :ref:`int` gutter **)** |const| Returns whether the gutter is clickable. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_gutter_drawn: .. rst-class:: classref-method :ref:`bool` **is_gutter_drawn** **(** :ref:`int` gutter **)** |const| Returns whether the gutter is currently drawn. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_gutter_overwritable: .. rst-class:: classref-method :ref:`bool` **is_gutter_overwritable** **(** :ref:`int` gutter **)** |const| Returns whether the gutter is overwritable. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_line_gutter_clickable: .. rst-class:: classref-method :ref:`bool` **is_line_gutter_clickable** **(** :ref:`int` line, :ref:`int` gutter **)** |const| Returns whether the gutter on the given line is clickable. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_line_wrapped: .. rst-class:: classref-method :ref:`bool` **is_line_wrapped** **(** :ref:`int` line **)** |const| Returns if the given line is wrapped. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_menu_visible: .. rst-class:: classref-method :ref:`bool` **is_menu_visible** **(** **)** |const| Returns whether the menu is visible. Use this instead of ``get_menu().visible`` to improve performance (so the creation of the menu is avoided). .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_mouse_over_selection: .. rst-class:: classref-method :ref:`bool` **is_mouse_over_selection** **(** :ref:`bool` edges, :ref:`int` caret_index=-1 **)** |const| Returns whether the mouse is over selection. If ``edges`` is ``true``, the edges are considered part of the selection. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_is_overtype_mode_enabled: .. rst-class:: classref-method :ref:`bool` **is_overtype_mode_enabled** **(** **)** |const| Returns whether the user is in overtype mode. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_menu_option: .. rst-class:: classref-method void **menu_option** **(** :ref:`int` option **)** Executes a given action as defined in the :ref:`MenuItems` enum. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_merge_gutters: .. rst-class:: classref-method void **merge_gutters** **(** :ref:`int` from_line, :ref:`int` to_line **)** Merge the gutters from ``from_line`` into ``to_line``. Only overwritable gutters will be copied. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_merge_overlapping_carets: .. rst-class:: classref-method void **merge_overlapping_carets** **(** **)** Merges any overlapping carets. Will favor the newest caret, or the caret with a selection. \ **Note:** This is not called when a caret changes position but after certain actions, so it is possible to get into a state where carets overlap. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_paste: .. rst-class:: classref-method void **paste** **(** :ref:`int` caret_index=-1 **)** Paste at the current location. Can be overridden with :ref:`_paste`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_paste_primary_clipboard: .. rst-class:: classref-method void **paste_primary_clipboard** **(** :ref:`int` caret_index=-1 **)** Pastes the primary clipboard. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_redo: .. rst-class:: classref-method void **redo** **(** **)** Perform redo operation. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_remove_caret: .. rst-class:: classref-method void **remove_caret** **(** :ref:`int` caret **)** Removes the given caret index. \ **Note:** This can result in adjustment of all other caret indices. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_remove_gutter: .. rst-class:: classref-method void **remove_gutter** **(** :ref:`int` gutter **)** Removes the gutter from this **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_remove_secondary_carets: .. rst-class:: classref-method void **remove_secondary_carets** **(** **)** Removes all additional carets. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_remove_text: .. rst-class:: classref-method void **remove_text** **(** :ref:`int` from_line, :ref:`int` from_column, :ref:`int` to_line, :ref:`int` to_column **)** Removes text between the given positions. \ **Note:** This does not adjust the caret or selection, which as a result it can end up in an invalid position. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_search: .. rst-class:: classref-method :ref:`Vector2i` **search** **(** :ref:`String` text, :ref:`int` flags, :ref:`int` from_line, :ref:`int` from_colum **)** |const| Perform a search inside the text. Search flags can be specified in the :ref:`SearchFlags` enum. In the returned vector, ``x`` is the column, ``y`` is the line. If no results are found, both are equal to ``-1``. .. tabs:: .. code-tab:: gdscript var result = search("print", SEARCH_WHOLE_WORDS, 0, 0) if result.x != -1: # Result found. var line_number = result.y var column_number = result.x .. code-tab:: csharp Vector2I result = Search("print", (uint)TextEdit.SearchFlags.WholeWords, 0, 0); if (result.X != -1) { // Result found. int lineNumber = result.Y; int columnNumber = result.X; } .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_select: .. rst-class:: classref-method void **select** **(** :ref:`int` from_line, :ref:`int` from_column, :ref:`int` to_line, :ref:`int` to_column, :ref:`int` caret_index=0 **)** Perform selection, from line/column to line/column. If :ref:`selecting_enabled` is ``false``, no selection will occur. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_select_all: .. rst-class:: classref-method void **select_all** **(** **)** Select all the text. If :ref:`selecting_enabled` is ``false``, no selection will occur. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_select_word_under_caret: .. rst-class:: classref-method void **select_word_under_caret** **(** :ref:`int` caret_index=-1 **)** Selects the word under the caret. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_caret_column: .. rst-class:: classref-method void **set_caret_column** **(** :ref:`int` column, :ref:`bool` adjust_viewport=true, :ref:`int` caret_index=0 **)** Moves the caret to the specified ``column`` index. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_caret_line: .. rst-class:: classref-method void **set_caret_line** **(** :ref:`int` line, :ref:`bool` adjust_viewport=true, :ref:`bool` can_be_hidden=true, :ref:`int` wrap_index=0, :ref:`int` caret_index=0 **)** Moves the caret to the specified ``line`` index. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs. If ``can_be_hidden`` is ``true``, the specified ``line`` can be hidden. \ **Note:** If supporting multiple carets this will not check for any overlap. See :ref:`merge_overlapping_carets`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_gutter_clickable: .. rst-class:: classref-method void **set_gutter_clickable** **(** :ref:`int` gutter, :ref:`bool` clickable **)** Sets the gutter as clickable. This will change the mouse cursor to a pointing hand when hovering over the gutter. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_gutter_custom_draw: .. rst-class:: classref-method void **set_gutter_custom_draw** **(** :ref:`int` column, :ref:`Callable` draw_callback **)** Set a custom draw method for the gutter. The callback method must take the following args: ``line: int, gutter: int, Area: Rect2``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_gutter_draw: .. rst-class:: classref-method void **set_gutter_draw** **(** :ref:`int` gutter, :ref:`bool` draw **)** Sets whether the gutter should be drawn. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_gutter_name: .. rst-class:: classref-method void **set_gutter_name** **(** :ref:`int` gutter, :ref:`String` name **)** Sets the name of the gutter. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_gutter_overwritable: .. rst-class:: classref-method void **set_gutter_overwritable** **(** :ref:`int` gutter, :ref:`bool` overwritable **)** Sets the gutter to overwritable. See :ref:`merge_gutters`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_gutter_type: .. rst-class:: classref-method void **set_gutter_type** **(** :ref:`int` gutter, :ref:`GutterType` type **)** Sets the type of gutter. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_gutter_width: .. rst-class:: classref-method void **set_gutter_width** **(** :ref:`int` gutter, :ref:`int` width **)** Set the width of the gutter. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line: .. rst-class:: classref-method void **set_line** **(** :ref:`int` line, :ref:`String` new_text **)** Sets the text for a specific line. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_as_center_visible: .. rst-class:: classref-method void **set_line_as_center_visible** **(** :ref:`int` line, :ref:`int` wrap_index=0 **)** Positions the ``wrap_index`` of ``line`` at the center of the viewport. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_as_first_visible: .. rst-class:: classref-method void **set_line_as_first_visible** **(** :ref:`int` line, :ref:`int` wrap_index=0 **)** Positions the ``wrap_index`` of ``line`` at the top of the viewport. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_as_last_visible: .. rst-class:: classref-method void **set_line_as_last_visible** **(** :ref:`int` line, :ref:`int` wrap_index=0 **)** Positions the ``wrap_index`` of ``line`` at the bottom of the viewport. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_background_color: .. rst-class:: classref-method void **set_line_background_color** **(** :ref:`int` line, :ref:`Color` color **)** Sets the current background color of the line. Set to ``Color(0, 0, 0, 0)`` for no color. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_gutter_clickable: .. rst-class:: classref-method void **set_line_gutter_clickable** **(** :ref:`int` line, :ref:`int` gutter, :ref:`bool` clickable **)** If ``clickable`` is ``true``, makes the ``gutter`` on ``line`` clickable. See :ref:`gutter_clicked`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_gutter_icon: .. rst-class:: classref-method void **set_line_gutter_icon** **(** :ref:`int` line, :ref:`int` gutter, :ref:`Texture2D` icon **)** Sets the icon for ``gutter`` on ``line`` to ``icon``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_gutter_item_color: .. rst-class:: classref-method void **set_line_gutter_item_color** **(** :ref:`int` line, :ref:`int` gutter, :ref:`Color` color **)** Sets the color for ``gutter`` on ``line`` to ``color``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_gutter_metadata: .. rst-class:: classref-method void **set_line_gutter_metadata** **(** :ref:`int` line, :ref:`int` gutter, :ref:`Variant` metadata **)** Sets the metadata for ``gutter`` on ``line`` to ``metadata``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_line_gutter_text: .. rst-class:: classref-method void **set_line_gutter_text** **(** :ref:`int` line, :ref:`int` gutter, :ref:`String` text **)** Sets the text for ``gutter`` on ``line`` to ``text``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_overtype_mode_enabled: .. rst-class:: classref-method void **set_overtype_mode_enabled** **(** :ref:`bool` enabled **)** If ``true``, sets the user into overtype mode. When the user types in this mode, it will override existing text. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_search_flags: .. rst-class:: classref-method void **set_search_flags** **(** :ref:`int` flags **)** Sets the search ``flags``. This is used with :ref:`set_search_text` to highlight occurrences of the searched text. Search flags can be specified from the :ref:`SearchFlags` enum. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_search_text: .. rst-class:: classref-method void **set_search_text** **(** :ref:`String` search_text **)** Sets the search text. See :ref:`set_search_flags`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_selection_mode: .. rst-class:: classref-method void **set_selection_mode** **(** :ref:`SelectionMode` mode, :ref:`int` line=-1, :ref:`int` column=-1, :ref:`int` caret_index=0 **)** Sets the current selection mode. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_tab_size: .. rst-class:: classref-method void **set_tab_size** **(** :ref:`int` size **)** Sets the tab size for the **TextEdit** to use. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_set_tooltip_request_func: .. rst-class:: classref-method void **set_tooltip_request_func** **(** :ref:`Callable` callback **)** Provide custom tooltip text. The callback method must take the following args: ``hovered_word: String``. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_start_action: .. rst-class:: classref-method void **start_action** **(** :ref:`EditAction` action **)** Starts an action, will end the current action if ``action`` is different. An action will also end after a call to :ref:`end_action`, after :ref:`ProjectSettings.gui/timers/text_edit_idle_detect_sec` is triggered or a new undoable step outside the :ref:`start_action` and :ref:`end_action` calls. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_swap_lines: .. rst-class:: classref-method void **swap_lines** **(** :ref:`int` from_line, :ref:`int` to_line **)** Swaps the two lines. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_tag_saved_version: .. rst-class:: classref-method void **tag_saved_version** **(** **)** Tag the current version as saved. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_method_undo: .. rst-class:: classref-method void **undo** **(** **)** Perform undo operation. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Theme Property Descriptions --------------------------- .. _class_TextEdit_theme_color_background_color: .. rst-class:: classref-themeproperty :ref:`Color` **background_color** = ``Color(0, 0, 0, 0)`` Sets the background :ref:`Color` of this **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_caret_background_color: .. rst-class:: classref-themeproperty :ref:`Color` **caret_background_color** = ``Color(0, 0, 0, 1)`` :ref:`Color` of the text behind the caret when using a block caret. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_caret_color: .. rst-class:: classref-themeproperty :ref:`Color` **caret_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`Color` of the caret. This can be set to a fully transparent color to hide the caret entirely. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_current_line_color: .. rst-class:: classref-themeproperty :ref:`Color` **current_line_color** = ``Color(0.25, 0.25, 0.26, 0.8)`` Background :ref:`Color` of the line containing the caret. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_font_color: .. rst-class:: classref-themeproperty :ref:`Color` **font_color** = ``Color(0.875, 0.875, 0.875, 1)`` Sets the font :ref:`Color`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_font_outline_color: .. rst-class:: classref-themeproperty :ref:`Color` **font_outline_color** = ``Color(1, 1, 1, 1)`` The tint of text outline of the **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_font_placeholder_color: .. rst-class:: classref-themeproperty :ref:`Color` **font_placeholder_color** = ``Color(0.875, 0.875, 0.875, 0.6)`` Font color for :ref:`placeholder_text`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_font_readonly_color: .. rst-class:: classref-themeproperty :ref:`Color` **font_readonly_color** = ``Color(0.875, 0.875, 0.875, 0.5)`` Sets the font :ref:`Color` when :ref:`editable` is disabled. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_font_selected_color: .. rst-class:: classref-themeproperty :ref:`Color` **font_selected_color** = ``Color(0, 0, 0, 0)`` Sets the :ref:`Color` of the selected text. If equal to ``Color(0, 0, 0, 0)``, it will be ignored. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_search_result_border_color: .. rst-class:: classref-themeproperty :ref:`Color` **search_result_border_color** = ``Color(0.3, 0.3, 0.3, 0.4)`` :ref:`Color` of the border around text that matches the search query. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_search_result_color: .. rst-class:: classref-themeproperty :ref:`Color` **search_result_color** = ``Color(0.3, 0.3, 0.3, 1)`` :ref:`Color` behind the text that matches the search query. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_selection_color: .. rst-class:: classref-themeproperty :ref:`Color` **selection_color** = ``Color(0.5, 0.5, 0.5, 1)`` Sets the highlight :ref:`Color` of text selections. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_color_word_highlighted_color: .. rst-class:: classref-themeproperty :ref:`Color` **word_highlighted_color** = ``Color(0.5, 0.5, 0.5, 0.25)`` Sets the highlight :ref:`Color` of multiple occurrences. :ref:`highlight_all_occurrences` has to be enabled. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_constant_caret_width: .. rst-class:: classref-themeproperty :ref:`int` **caret_width** = ``1`` The caret's width in pixels. Greater values can be used to improve accessibility by ensuring the caret is easily visible, or to ensure consistency with a large font size. If set to ``0`` or lower, the caret width is automatically set to 1 pixel and multiplied by the display scaling factor. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_constant_line_spacing: .. rst-class:: classref-themeproperty :ref:`int` **line_spacing** = ``4`` Sets the spacing between the lines. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_constant_outline_size: .. rst-class:: classref-themeproperty :ref:`int` **outline_size** = ``0`` The size of the text outline. \ **Note:** If using a font with :ref:`FontFile.multichannel_signed_distance_field` enabled, its :ref:`FontFile.msdf_pixel_range` must be set to at least *twice* the value of :ref:`outline_size` for outline rendering to look correct. Otherwise, the outline may appear to be cut off earlier than intended. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_font_font: .. rst-class:: classref-themeproperty :ref:`Font` **font** Sets the default :ref:`Font`. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_font_size_font_size: .. rst-class:: classref-themeproperty :ref:`int` **font_size** Sets default font size. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_icon_space: .. rst-class:: classref-themeproperty :ref:`Texture2D` **space** Sets a custom :ref:`Texture2D` for space text characters. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_icon_tab: .. rst-class:: classref-themeproperty :ref:`Texture2D` **tab** Sets a custom :ref:`Texture2D` for tab text characters. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_style_focus: .. rst-class:: classref-themeproperty :ref:`StyleBox` **focus** Sets the :ref:`StyleBox` when in focus. The ``focus`` :ref:`StyleBox` is displayed *over* the base :ref:`StyleBox`, so a partially transparent :ref:`StyleBox` should be used to ensure the base :ref:`StyleBox` remains visible. A :ref:`StyleBox` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty` resource. Note that disabling the focus visual effect will harm keyboard/controller navigation usability, so this is not recommended for accessibility reasons. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_style_normal: .. rst-class:: classref-themeproperty :ref:`StyleBox` **normal** Sets the :ref:`StyleBox` of this **TextEdit**. .. rst-class:: classref-item-separator ---- .. _class_TextEdit_theme_style_read_only: .. rst-class:: classref-themeproperty :ref:`StyleBox` **read_only** Sets the :ref:`StyleBox` of this **TextEdit** when :ref:`editable` is disabled. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`