Files
godot-docs/classes/class_textedit.rst
2023-07-24 10:19:37 +00:00

3696 lines
198 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/4.0/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/TextEdit.xml.
.. _class_TextEdit:
TextEdit
========
**Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
**Inherited By:** :ref:`CodeEdit<class_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<class_CodeEdit>`.
\ **Note:** Most viewport, caret and edit methods contain a ``caret_index`` argument for :ref:`caret_multiple<class_TextEdit_property_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:`bool<class_bool>` | :ref:`caret_blink<class_TextEdit_property_caret_blink>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`caret_blink_interval<class_TextEdit_property_caret_blink_interval>` | ``0.65`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`caret_mid_grapheme<class_TextEdit_property_caret_mid_grapheme>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`caret_move_on_right_click<class_TextEdit_property_caret_move_on_right_click>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`caret_multiple<class_TextEdit_property_caret_multiple>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`CaretType<enum_TextEdit_CaretType>` | :ref:`caret_type<class_TextEdit_property_caret_type>` | ``0`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`context_menu_enabled<class_TextEdit_property_context_menu_enabled>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`deselect_on_focus_loss_enabled<class_TextEdit_property_deselect_on_focus_loss_enabled>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`drag_and_drop_selection_enabled<class_TextEdit_property_drag_and_drop_selection_enabled>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`draw_control_chars<class_TextEdit_property_draw_control_chars>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`draw_spaces<class_TextEdit_property_draw_spaces>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`draw_tabs<class_TextEdit_property_draw_tabs>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`editable<class_TextEdit_property_editable>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`highlight_current_line<class_TextEdit_property_highlight_current_line>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`language<class_TextEdit_property_language>` | ``""`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`middle_mouse_paste_enabled<class_TextEdit_property_middle_mouse_paste_enabled>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`minimap_draw<class_TextEdit_property_minimap_draw>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`minimap_width<class_TextEdit_property_minimap_width>` | ``80`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`CursorShape<enum_Control_CursorShape>` | mouse_default_cursor_shape | ``1`` (overrides :ref:`Control<class_Control_property_mouse_default_cursor_shape>`) |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`placeholder_text<class_TextEdit_property_placeholder_text>` | ``""`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`scroll_horizontal<class_TextEdit_property_scroll_horizontal>` | ``0`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`scroll_past_end_of_file<class_TextEdit_property_scroll_past_end_of_file>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` | ``false`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`scroll_v_scroll_speed<class_TextEdit_property_scroll_v_scroll_speed>` | ``80.0`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`scroll_vertical<class_TextEdit_property_scroll_vertical>` | ``0.0`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`shortcut_keys_enabled<class_TextEdit_property_shortcut_keys_enabled>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` | :ref:`structured_text_bidi_override<class_TextEdit_property_structured_text_bidi_override>` | ``0`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`structured_text_bidi_override_options<class_TextEdit_property_structured_text_bidi_override_options>` | ``[]`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` | :ref:`syntax_highlighter<class_TextEdit_property_syntax_highlighter>` | |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`text<class_TextEdit_property_text>` | ``""`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`text_direction<class_TextEdit_property_text_direction>` | ``0`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`virtual_keyboard_enabled<class_TextEdit_property_virtual_keyboard_enabled>` | ``true`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
| :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` | :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` | ``0`` |
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Methods
-------
.. table::
:widths: auto
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_backspace<class_TextEdit_method__backspace>` **(** :ref:`int<class_int>` caret_index **)** |virtual| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_copy<class_TextEdit_method__copy>` **(** :ref:`int<class_int>` caret_index **)** |virtual| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_cut<class_TextEdit_method__cut>` **(** :ref:`int<class_int>` caret_index **)** |virtual| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_handle_unicode_input<class_TextEdit_method__handle_unicode_input>` **(** :ref:`int<class_int>` unicode_char, :ref:`int<class_int>` caret_index **)** |virtual| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_paste<class_TextEdit_method__paste>` **(** :ref:`int<class_int>` caret_index **)** |virtual| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`_paste_primary_clipboard<class_TextEdit_method__paste_primary_clipboard>` **(** :ref:`int<class_int>` caret_index **)** |virtual| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`add_caret<class_TextEdit_method_add_caret>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` col **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_caret_at_carets<class_TextEdit_method_add_caret_at_carets>` **(** :ref:`bool<class_bool>` below **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_gutter<class_TextEdit_method_add_gutter>` **(** :ref:`int<class_int>` at=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_selection_for_next_occurrence<class_TextEdit_method_add_selection_for_next_occurrence>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`adjust_carets_after_edit<class_TextEdit_method_adjust_carets_after_edit>` **(** :ref:`int<class_int>` caret, :ref:`int<class_int>` from_line, :ref:`int<class_int>` from_col, :ref:`int<class_int>` to_line, :ref:`int<class_int>` to_col **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`adjust_viewport_to_caret<class_TextEdit_method_adjust_viewport_to_caret>` **(** :ref:`int<class_int>` caret_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`backspace<class_TextEdit_method_backspace>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`begin_complex_operation<class_TextEdit_method_begin_complex_operation>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`center_viewport_to_caret<class_TextEdit_method_center_viewport_to_caret>` **(** :ref:`int<class_int>` caret_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear<class_TextEdit_method_clear>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_undo_history<class_TextEdit_method_clear_undo_history>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`copy<class_TextEdit_method_copy>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`cut<class_TextEdit_method_cut>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`delete_selection<class_TextEdit_method_delete_selection>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`deselect<class_TextEdit_method_deselect>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`end_action<class_TextEdit_method_end_action>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`end_complex_operation<class_TextEdit_method_end_complex_operation>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_caret_column<class_TextEdit_method_get_caret_column>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_caret_count<class_TextEdit_method_get_caret_count>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_caret_draw_pos<class_TextEdit_method_get_caret_draw_pos>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_caret_index_edit_order<class_TextEdit_method_get_caret_index_edit_order>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_caret_line<class_TextEdit_method_get_caret_line>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_caret_wrap_index<class_TextEdit_method_get_caret_wrap_index>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_first_non_whitespace_column<class_TextEdit_method_get_first_non_whitespace_column>` **(** :ref:`int<class_int>` line **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_first_visible_line<class_TextEdit_method_get_first_visible_line>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_gutter_count<class_TextEdit_method_get_gutter_count>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_gutter_name<class_TextEdit_method_get_gutter_name>` **(** :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`GutterType<enum_TextEdit_GutterType>` | :ref:`get_gutter_type<class_TextEdit_method_get_gutter_type>` **(** :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_gutter_width<class_TextEdit_method_get_gutter_width>` **(** :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`HScrollBar<class_HScrollBar>` | :ref:`get_h_scroll_bar<class_TextEdit_method_get_h_scroll_bar>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_indent_level<class_TextEdit_method_get_indent_level>` **(** :ref:`int<class_int>` line **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_last_full_visible_line<class_TextEdit_method_get_last_full_visible_line>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_last_full_visible_line_wrap_index<class_TextEdit_method_get_last_full_visible_line_wrap_index>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_last_unhidden_line<class_TextEdit_method_get_last_unhidden_line>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_line<class_TextEdit_method_get_line>` **(** :ref:`int<class_int>` line **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`get_line_background_color<class_TextEdit_method_get_line_background_color>` **(** :ref:`int<class_int>` line **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_line_column_at_pos<class_TextEdit_method_get_line_column_at_pos>` **(** :ref:`Vector2i<class_Vector2i>` position, :ref:`bool<class_bool>` allow_out_of_bounds=true **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_line_count<class_TextEdit_method_get_line_count>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`get_line_gutter_icon<class_TextEdit_method_get_line_gutter_icon>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Color<class_Color>` | :ref:`get_line_gutter_item_color<class_TextEdit_method_get_line_gutter_item_color>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`get_line_gutter_metadata<class_TextEdit_method_get_line_gutter_metadata>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_line_gutter_text<class_TextEdit_method_get_line_gutter_text>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_line_height<class_TextEdit_method_get_line_height>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_line_width<class_TextEdit_method_get_line_width>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=-1 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_line_wrap_count<class_TextEdit_method_get_line_wrap_count>` **(** :ref:`int<class_int>` line **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_line_wrap_index_at_column<class_TextEdit_method_get_line_wrap_index_at_column>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_line_wrapped_text<class_TextEdit_method_get_line_wrapped_text>` **(** :ref:`int<class_int>` line **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_local_mouse_pos<class_TextEdit_method_get_local_mouse_pos>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PopupMenu<class_PopupMenu>` | :ref:`get_menu<class_TextEdit_method_get_menu>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_minimap_line_at_pos<class_TextEdit_method_get_minimap_line_at_pos>` **(** :ref:`Vector2i<class_Vector2i>` position **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_minimap_visible_lines<class_TextEdit_method_get_minimap_visible_lines>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_next_visible_line_index_offset_from<class_TextEdit_method_get_next_visible_line_index_offset_from>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index, :ref:`int<class_int>` visible_amount **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_next_visible_line_offset_from<class_TextEdit_method_get_next_visible_line_offset_from>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` visible_amount **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`get_pos_at_line_column<class_TextEdit_method_get_pos_at_line_column>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Rect2i<class_Rect2i>` | :ref:`get_rect_at_line_column<class_TextEdit_method_get_rect_at_line_column>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_saved_version<class_TextEdit_method_get_saved_version>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_scroll_pos_for_line<class_TextEdit_method_get_scroll_pos_for_line>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_selected_text<class_TextEdit_method_get_selected_text>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_selection_column<class_TextEdit_method_get_selection_column>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_selection_from_column<class_TextEdit_method_get_selection_from_column>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_selection_from_line<class_TextEdit_method_get_selection_from_line>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_selection_line<class_TextEdit_method_get_selection_line>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`SelectionMode<enum_TextEdit_SelectionMode>` | :ref:`get_selection_mode<class_TextEdit_method_get_selection_mode>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_selection_to_column<class_TextEdit_method_get_selection_to_column>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_selection_to_line<class_TextEdit_method_get_selection_to_line>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_tab_size<class_TextEdit_method_get_tab_size>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_total_gutter_width<class_TextEdit_method_get_total_gutter_width>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_total_visible_line_count<class_TextEdit_method_get_total_visible_line_count>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`VScrollBar<class_VScrollBar>` | :ref:`get_v_scroll_bar<class_TextEdit_method_get_v_scroll_bar>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_version<class_TextEdit_method_get_version>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_visible_line_count<class_TextEdit_method_get_visible_line_count>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_visible_line_count_in_range<class_TextEdit_method_get_visible_line_count_in_range>` **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_word_at_pos<class_TextEdit_method_get_word_at_pos>` **(** :ref:`Vector2<class_Vector2>` position **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_word_under_caret<class_TextEdit_method_get_word_under_caret>` **(** :ref:`int<class_int>` caret_index=-1 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_ime_text<class_TextEdit_method_has_ime_text>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_redo<class_TextEdit_method_has_redo>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_selection<class_TextEdit_method_has_selection>` **(** :ref:`int<class_int>` caret_index=-1 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_undo<class_TextEdit_method_has_undo>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`insert_line_at<class_TextEdit_method_insert_line_at>` **(** :ref:`int<class_int>` line, :ref:`String<class_String>` text **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`insert_text_at_caret<class_TextEdit_method_insert_text_at_caret>` **(** :ref:`String<class_String>` text, :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_caret_visible<class_TextEdit_method_is_caret_visible>` **(** :ref:`int<class_int>` caret_index=0 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_dragging_cursor<class_TextEdit_method_is_dragging_cursor>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_gutter_clickable<class_TextEdit_method_is_gutter_clickable>` **(** :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_gutter_drawn<class_TextEdit_method_is_gutter_drawn>` **(** :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_gutter_overwritable<class_TextEdit_method_is_gutter_overwritable>` **(** :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_line_gutter_clickable<class_TextEdit_method_is_line_gutter_clickable>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_line_wrapped<class_TextEdit_method_is_line_wrapped>` **(** :ref:`int<class_int>` line **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_menu_visible<class_TextEdit_method_is_menu_visible>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_mouse_over_selection<class_TextEdit_method_is_mouse_over_selection>` **(** :ref:`bool<class_bool>` edges, :ref:`int<class_int>` caret_index=-1 **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_overtype_mode_enabled<class_TextEdit_method_is_overtype_mode_enabled>` **(** **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`menu_option<class_TextEdit_method_menu_option>` **(** :ref:`int<class_int>` option **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`merge_gutters<class_TextEdit_method_merge_gutters>` **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`merge_overlapping_carets<class_TextEdit_method_merge_overlapping_carets>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`paste<class_TextEdit_method_paste>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`paste_primary_clipboard<class_TextEdit_method_paste_primary_clipboard>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`redo<class_TextEdit_method_redo>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_caret<class_TextEdit_method_remove_caret>` **(** :ref:`int<class_int>` caret **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_gutter<class_TextEdit_method_remove_gutter>` **(** :ref:`int<class_int>` gutter **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_secondary_carets<class_TextEdit_method_remove_secondary_carets>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_text<class_TextEdit_method_remove_text>` **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` from_column, :ref:`int<class_int>` to_line, :ref:`int<class_int>` to_column **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`search<class_TextEdit_method_search>` **(** :ref:`String<class_String>` text, :ref:`int<class_int>` flags, :ref:`int<class_int>` from_line, :ref:`int<class_int>` from_colum **)** |const| |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`select<class_TextEdit_method_select>` **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` from_column, :ref:`int<class_int>` to_line, :ref:`int<class_int>` to_column, :ref:`int<class_int>` caret_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`select_all<class_TextEdit_method_select_all>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`select_word_under_caret<class_TextEdit_method_select_word_under_caret>` **(** :ref:`int<class_int>` caret_index=-1 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_caret_column<class_TextEdit_method_set_caret_column>` **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` adjust_viewport=true, :ref:`int<class_int>` caret_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_caret_line<class_TextEdit_method_set_caret_line>` **(** :ref:`int<class_int>` line, :ref:`bool<class_bool>` adjust_viewport=true, :ref:`bool<class_bool>` can_be_hidden=true, :ref:`int<class_int>` wrap_index=0, :ref:`int<class_int>` caret_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_gutter_clickable<class_TextEdit_method_set_gutter_clickable>` **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` clickable **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_gutter_custom_draw<class_TextEdit_method_set_gutter_custom_draw>` **(** :ref:`int<class_int>` column, :ref:`Callable<class_Callable>` draw_callback **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_gutter_draw<class_TextEdit_method_set_gutter_draw>` **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` draw **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_gutter_name<class_TextEdit_method_set_gutter_name>` **(** :ref:`int<class_int>` gutter, :ref:`String<class_String>` name **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_gutter_overwritable<class_TextEdit_method_set_gutter_overwritable>` **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` overwritable **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>` **(** :ref:`int<class_int>` gutter, :ref:`GutterType<enum_TextEdit_GutterType>` type **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_gutter_width<class_TextEdit_method_set_gutter_width>` **(** :ref:`int<class_int>` gutter, :ref:`int<class_int>` width **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line<class_TextEdit_method_set_line>` **(** :ref:`int<class_int>` line, :ref:`String<class_String>` new_text **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_as_center_visible<class_TextEdit_method_set_line_as_center_visible>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_as_first_visible<class_TextEdit_method_set_line_as_first_visible>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_as_last_visible<class_TextEdit_method_set_line_as_last_visible>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_background_color<class_TextEdit_method_set_line_background_color>` **(** :ref:`int<class_int>` line, :ref:`Color<class_Color>` color **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_gutter_clickable<class_TextEdit_method_set_line_gutter_clickable>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` clickable **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_gutter_icon<class_TextEdit_method_set_line_gutter_icon>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Texture2D<class_Texture2D>` icon **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_gutter_item_color<class_TextEdit_method_set_line_gutter_item_color>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Color<class_Color>` color **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_gutter_metadata<class_TextEdit_method_set_line_gutter_metadata>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Variant<class_Variant>` metadata **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_line_gutter_text<class_TextEdit_method_set_line_gutter_text>` **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`String<class_String>` text **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_overtype_mode_enabled<class_TextEdit_method_set_overtype_mode_enabled>` **(** :ref:`bool<class_bool>` enabled **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_search_flags<class_TextEdit_method_set_search_flags>` **(** :ref:`int<class_int>` flags **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_search_text<class_TextEdit_method_set_search_text>` **(** :ref:`String<class_String>` search_text **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_selection_mode<class_TextEdit_method_set_selection_mode>` **(** :ref:`SelectionMode<enum_TextEdit_SelectionMode>` mode, :ref:`int<class_int>` line=-1, :ref:`int<class_int>` column=-1, :ref:`int<class_int>` caret_index=0 **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_tab_size<class_TextEdit_method_set_tab_size>` **(** :ref:`int<class_int>` size **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_tooltip_request_func<class_TextEdit_method_set_tooltip_request_func>` **(** :ref:`Callable<class_Callable>` callback **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`start_action<class_TextEdit_method_start_action>` **(** :ref:`EditAction<enum_TextEdit_EditAction>` action **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`swap_lines<class_TextEdit_method_swap_lines>` **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`tag_saved_version<class_TextEdit_method_tag_saved_version>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`undo<class_TextEdit_method_undo>` **(** **)** |
+---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Theme Properties
----------------
.. table::
:widths: auto
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`background_color<class_TextEdit_theme_color_background_color>` | ``Color(0, 0, 0, 0)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`caret_background_color<class_TextEdit_theme_color_caret_background_color>` | ``Color(0, 0, 0, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`caret_color<class_TextEdit_theme_color_caret_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`current_line_color<class_TextEdit_theme_color_current_line_color>` | ``Color(0.25, 0.25, 0.26, 0.8)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_color<class_TextEdit_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_outline_color<class_TextEdit_theme_color_font_outline_color>` | ``Color(1, 1, 1, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_placeholder_color<class_TextEdit_theme_color_font_placeholder_color>` | ``Color(0.875, 0.875, 0.875, 0.6)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_readonly_color<class_TextEdit_theme_color_font_readonly_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`font_selected_color<class_TextEdit_theme_color_font_selected_color>` | ``Color(0, 0, 0, 0)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`search_result_border_color<class_TextEdit_theme_color_search_result_border_color>` | ``Color(0.3, 0.3, 0.3, 0.4)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`search_result_color<class_TextEdit_theme_color_search_result_color>` | ``Color(0.3, 0.3, 0.3, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`selection_color<class_TextEdit_theme_color_selection_color>` | ``Color(0.5, 0.5, 0.5, 1)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Color<class_Color>` | :ref:`word_highlighted_color<class_TextEdit_theme_color_word_highlighted_color>` | ``Color(0.5, 0.5, 0.5, 0.25)`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`caret_width<class_TextEdit_theme_constant_caret_width>` | ``1`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`line_spacing<class_TextEdit_theme_constant_line_spacing>` | ``4`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`outline_size<class_TextEdit_theme_constant_outline_size>` | ``0`` |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Font<class_Font>` | :ref:`font<class_TextEdit_theme_font_font>` | |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`int<class_int>` | :ref:`font_size<class_TextEdit_theme_font_size_font_size>` | |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`space<class_TextEdit_theme_icon_space>` | |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`Texture2D<class_Texture2D>` | :ref:`tab<class_TextEdit_theme_icon_tab>` | |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_TextEdit_theme_style_focus>` | |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_TextEdit_theme_style_normal>` | |
+-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
| :ref:`StyleBox<class_StyleBox>` | :ref:`read_only<class_TextEdit_theme_style_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<class_int>` line, :ref:`int<class_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<class_int>` from_line, :ref:`int<class_int>` to_line **)**
Emitted immediately when the text changes.
When text is added ``from_line`` will be less then ``to_line``. On a remove ``to_line`` will be less then ``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<class_TextEdit_method_clear>` is called or :ref:`text<class_TextEdit_property_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<enum_TextEdit_MenuItems>` **MENU_CUT** = ``0``
Cuts (copies and clears) the selected text.
.. _class_TextEdit_constant_MENU_COPY:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_COPY** = ``1``
Copies the selected text.
.. _class_TextEdit_constant_MENU_PASTE:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_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<enum_TextEdit_MenuItems>` **MENU_CLEAR** = ``3``
Erases the whole **TextEdit** text.
.. _class_TextEdit_constant_MENU_SELECT_ALL:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_SELECT_ALL** = ``4``
Selects the whole **TextEdit** text.
.. _class_TextEdit_constant_MENU_UNDO:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_UNDO** = ``5``
Undoes the previous action.
.. _class_TextEdit_constant_MENU_REDO:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_REDO** = ``6``
Redoes the previous action.
.. _class_TextEdit_constant_MENU_SUBMENU_TEXT_DIR:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_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<enum_TextEdit_MenuItems>` **MENU_DIR_INHERITED** = ``8``
Sets text direction to inherited.
.. _class_TextEdit_constant_MENU_DIR_AUTO:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_DIR_AUTO** = ``9``
Sets text direction to automatic.
.. _class_TextEdit_constant_MENU_DIR_LTR:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_MenuItems>` **MENU_DISPLAY_UCC** = ``12``
Toggles control character display.
.. _class_TextEdit_constant_MENU_SUBMENU_INSERT_UCC:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_MenuItems>` **MENU_INSERT_PDF** = ``20``
Inserts pop direction formatting (PDF) character.
.. _class_TextEdit_constant_MENU_INSERT_ALM:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ALM** = ``21``
Inserts Arabic letter mark (ALM) character.
.. _class_TextEdit_constant_MENU_INSERT_LRI:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_MenuItems>` **MENU_INSERT_FSI** = ``24``
Inserts first strong isolate (FSI) character.
.. _class_TextEdit_constant_MENU_INSERT_PDI:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_PDI** = ``25``
Inserts pop direction isolate (PDI) character.
.. _class_TextEdit_constant_MENU_INSERT_ZWJ:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_ZWJ** = ``26``
Inserts zero width joiner (ZWJ) character.
.. _class_TextEdit_constant_MENU_INSERT_ZWNJ:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_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<enum_TextEdit_MenuItems>` **MENU_INSERT_WJ** = ``28``
Inserts word joiner (WJ) character.
.. _class_TextEdit_constant_MENU_INSERT_SHY:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_INSERT_SHY** = ``29``
Inserts soft hyphen (SHY) character.
.. _class_TextEdit_constant_MENU_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`MenuItems<enum_TextEdit_MenuItems>` **MENU_MAX** = ``30``
Represents the size of the :ref:`MenuItems<enum_TextEdit_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<enum_TextEdit_EditAction>` **ACTION_NONE** = ``0``
No current action.
.. _class_TextEdit_constant_ACTION_TYPING:
.. rst-class:: classref-enumeration-constant
:ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_TYPING** = ``1``
A typing action.
.. _class_TextEdit_constant_ACTION_BACKSPACE:
.. rst-class:: classref-enumeration-constant
:ref:`EditAction<enum_TextEdit_EditAction>` **ACTION_BACKSPACE** = ``2``
A backwards delete action.
.. _class_TextEdit_constant_ACTION_DELETE:
.. rst-class:: classref-enumeration-constant
:ref:`EditAction<enum_TextEdit_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<enum_TextEdit_SearchFlags>` **SEARCH_MATCH_CASE** = ``1``
Match case when searching.
.. _class_TextEdit_constant_SEARCH_WHOLE_WORDS:
.. rst-class:: classref-enumeration-constant
:ref:`SearchFlags<enum_TextEdit_SearchFlags>` **SEARCH_WHOLE_WORDS** = ``2``
Match whole words when searching.
.. _class_TextEdit_constant_SEARCH_BACKWARDS:
.. rst-class:: classref-enumeration-constant
:ref:`SearchFlags<enum_TextEdit_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<enum_TextEdit_CaretType>` **CARET_TYPE_LINE** = ``0``
Vertical line caret.
.. _class_TextEdit_constant_CARET_TYPE_BLOCK:
.. rst-class:: classref-enumeration-constant
:ref:`CaretType<enum_TextEdit_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<enum_TextEdit_SelectionMode>` **SELECTION_MODE_NONE** = ``0``
Not selecting.
.. _class_TextEdit_constant_SELECTION_MODE_SHIFT:
.. rst-class:: classref-enumeration-constant
:ref:`SelectionMode<enum_TextEdit_SelectionMode>` **SELECTION_MODE_SHIFT** = ``1``
Select as if ``shift`` is pressed.
.. _class_TextEdit_constant_SELECTION_MODE_POINTER:
.. rst-class:: classref-enumeration-constant
:ref:`SelectionMode<enum_TextEdit_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<enum_TextEdit_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<enum_TextEdit_SelectionMode>` **SELECTION_MODE_LINE** = ``4``
Select whole lines as if the user tripped 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<enum_TextEdit_LineWrappingMode>` **LINE_WRAPPING_NONE** = ``0``
Line wrapping is disabled.
.. _class_TextEdit_constant_LINE_WRAPPING_BOUNDARY:
.. rst-class:: classref-enumeration-constant
:ref:`LineWrappingMode<enum_TextEdit_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<enum_TextEdit_GutterType>` **GUTTER_TYPE_STRING** = ``0``
Draw a string.
.. _class_TextEdit_constant_GUTTER_TYPE_ICON:
.. rst-class:: classref-enumeration-constant
:ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_ICON** = ``1``
Draw an icon.
.. _class_TextEdit_constant_GUTTER_TYPE_CUSTOM:
.. rst-class:: classref-enumeration-constant
:ref:`GutterType<enum_TextEdit_GutterType>` **GUTTER_TYPE_CUSTOM** = ``2``
Custom draw.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Property Descriptions
---------------------
.. _class_TextEdit_property_caret_blink:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **caret_blink** = ``false``
.. rst-class:: classref-property-setget
- void **set_caret_blink_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_bool>` **is_caret_blink_enabled** **(** **)**
Sets if the caret should blink.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_property_caret_blink_interval:
.. rst-class:: classref-property
:ref:`float<class_float>` **caret_blink_interval** = ``0.65``
.. rst-class:: classref-property-setget
- void **set_caret_blink_interval** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_float>` **get_caret_blink_interval** **(** **)**
Duration (in seconds) of a caret's blinking cycle.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_property_caret_mid_grapheme:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **caret_mid_grapheme** = ``true``
.. rst-class:: classref-property-setget
- void **set_caret_mid_grapheme_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **caret_move_on_right_click** = ``true``
.. rst-class:: classref-property-setget
- void **set_move_caret_on_right_click_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **caret_multiple** = ``true``
.. rst-class:: classref-property-setget
- void **set_multiple_carets_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<enum_TextEdit_CaretType>` **caret_type** = ``0``
.. rst-class:: classref-property-setget
- void **set_caret_type** **(** :ref:`CaretType<enum_TextEdit_CaretType>` value **)**
- :ref:`CaretType<enum_TextEdit_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<class_bool>` **context_menu_enabled** = ``true``
.. rst-class:: classref-property-setget
- void **set_context_menu_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **deselect_on_focus_loss_enabled** = ``true``
.. rst-class:: classref-property-setget
- void **set_deselect_on_focus_loss_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **drag_and_drop_selection_enabled** = ``true``
.. rst-class:: classref-property-setget
- void **set_drag_and_drop_selection_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **draw_control_chars** = ``false``
.. rst-class:: classref-property-setget
- void **set_draw_control_chars** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **draw_spaces** = ``false``
.. rst-class:: classref-property-setget
- void **set_draw_spaces** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **draw_tabs** = ``false``
.. rst-class:: classref-property-setget
- void **set_draw_tabs** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **editable** = ``true``
.. rst-class:: classref-property-setget
- void **set_editable** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **highlight_all_occurrences** = ``false``
.. rst-class:: classref-property-setget
- void **set_highlight_all_occurrences** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **highlight_current_line** = ``false``
.. rst-class:: classref-property-setget
- void **set_highlight_current_line** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_String>` **language** = ``""``
.. rst-class:: classref-property-setget
- void **set_language** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_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<class_bool>` **middle_mouse_paste_enabled** = ``true``
.. rst-class:: classref-property-setget
- void **set_middle_mouse_paste_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **minimap_draw** = ``false``
.. rst-class:: classref-property-setget
- void **set_draw_minimap** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_int>` **minimap_width** = ``80``
.. rst-class:: classref-property-setget
- void **set_minimap_width** **(** :ref:`int<class_int>` value **)**
- :ref:`int<class_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<class_String>` **placeholder_text** = ``""``
.. rst-class:: classref-property-setget
- void **set_placeholder** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_String>` **get_placeholder** **(** **)**
Text shown when the **TextEdit** is empty. It is **not** the **TextEdit**'s default value (see :ref:`text<class_TextEdit_property_text>`).
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_property_scroll_fit_content_height:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **scroll_fit_content_height** = ``false``
.. rst-class:: classref-property-setget
- void **set_fit_content_height_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_int>` **scroll_horizontal** = ``0``
.. rst-class:: classref-property-setget
- void **set_h_scroll** **(** :ref:`int<class_int>` value **)**
- :ref:`int<class_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<class_bool>` **scroll_past_end_of_file** = ``false``
.. rst-class:: classref-property-setget
- void **set_scroll_past_end_of_file_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_bool>` **scroll_smooth** = ``false``
.. rst-class:: classref-property-setget
- void **set_smooth_scroll_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_float>` **scroll_v_scroll_speed** = ``80.0``
.. rst-class:: classref-property-setget
- void **set_v_scroll_speed** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_float>` **get_v_scroll_speed** **(** **)**
Sets the scroll speed with the minimap or when :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` is enabled.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_property_scroll_vertical:
.. rst-class:: classref-property
:ref:`float<class_float>` **scroll_vertical** = ``0.0``
.. rst-class:: classref-property-setget
- void **set_v_scroll** **(** :ref:`float<class_float>` value **)**
- :ref:`float<class_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<class_bool>` **selecting_enabled** = ``true``
.. rst-class:: classref-property-setget
- void **set_selecting_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<class_TextEdit_method_select>` or :ref:`select_all<class_TextEdit_method_select_all>` methods.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_property_shortcut_keys_enabled:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **shortcut_keys_enabled** = ``true``
.. rst-class:: classref-property-setget
- void **set_shortcut_keys_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<enum_TextServer_StructuredTextParser>` **structured_text_bidi_override** = ``0``
.. rst-class:: classref-property-setget
- void **set_structured_text_bidi_override** **(** :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` value **)**
- :ref:`StructuredTextParser<enum_TextServer_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<class_Array>` **structured_text_bidi_override_options** = ``[]``
.. rst-class:: classref-property-setget
- void **set_structured_text_bidi_override_options** **(** :ref:`Array<class_Array>` value **)**
- :ref:`Array<class_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<class_SyntaxHighlighter>` **syntax_highlighter**
.. rst-class:: classref-property-setget
- void **set_syntax_highlighter** **(** :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` value **)**
- :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` **get_syntax_highlighter** **(** **)**
Sets the :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` to use.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_property_text:
.. rst-class:: classref-property
:ref:`String<class_String>` **text** = ``""``
.. rst-class:: classref-property-setget
- void **set_text** **(** :ref:`String<class_String>` value **)**
- :ref:`String<class_String>` **get_text** **(** **)**
String value of the **TextEdit**.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_property_text_direction:
.. rst-class:: classref-property
:ref:`TextDirection<enum_Control_TextDirection>` **text_direction** = ``0``
.. rst-class:: classref-property-setget
- void **set_text_direction** **(** :ref:`TextDirection<enum_Control_TextDirection>` value **)**
- :ref:`TextDirection<enum_Control_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<class_bool>` **virtual_keyboard_enabled** = ``true``
.. rst-class:: classref-property-setget
- void **set_virtual_keyboard_enabled** **(** :ref:`bool<class_bool>` value **)**
- :ref:`bool<class_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<enum_TextEdit_LineWrappingMode>` **wrap_mode** = ``0``
.. rst-class:: classref-property-setget
- void **set_line_wrapping_mode** **(** :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` value **)**
- :ref:`LineWrappingMode<enum_TextEdit_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<class_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<class_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<class_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<class_int>` unicode_char, :ref:`int<class_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<class_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<class_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<class_int>` **add_caret** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_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<class_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<class_int>` caret, :ref:`int<class_int>` from_line, :ref:`int<class_int>` from_col, :ref:`int<class_int>` to_line, :ref:`int<class_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<class_TextEdit_method_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<class_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<class_int>` caret_index=-1 **)**
Called when the user presses the backspace key. Can be overridden with :ref:`_backspace<class_TextEdit_method__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<class_TextEdit_method_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<class_int>` caret_index=0 **)**
Centers the viewport on the line the editing caret is at. This also resets the :ref:`scroll_horizontal<class_TextEdit_property_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<class_int>` caret_index=-1 **)**
Copies the current text selection. Can be overridden with :ref:`_copy<class_TextEdit_method__copy>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_cut:
.. rst-class:: classref-method
void **cut** **(** :ref:`int<class_int>` caret_index=-1 **)**
Cut's the current selection. Can be overridden with :ref:`_cut<class_TextEdit_method__cut>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_delete_selection:
.. rst-class:: classref-method
void **delete_selection** **(** :ref:`int<class_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<class_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<class_TextEdit_method_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<class_TextEdit_method_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<class_int>` **get_caret_column** **(** :ref:`int<class_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<class_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<class_Vector2>` **get_caret_draw_pos** **(** :ref:`int<class_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<class_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<class_TextEdit_method_insert_text_at_caret>` are applied.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_get_caret_line:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_caret_line** **(** :ref:`int<class_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<class_int>` **get_caret_wrap_index** **(** :ref:`int<class_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<class_int>` **get_first_non_whitespace_column** **(** :ref:`int<class_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<class_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<class_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<class_String>` **get_gutter_name** **(** :ref:`int<class_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<enum_TextEdit_GutterType>` **get_gutter_type** **(** :ref:`int<class_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<class_int>` **get_gutter_width** **(** :ref:`int<class_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<class_HScrollBar>` **get_h_scroll_bar** **(** **)** |const|
Returns the :ref:`HScrollBar<class_HScrollBar>` used by **TextEdit**.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_get_indent_level:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_indent_level** **(** :ref:`int<class_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<class_int>` **get_last_full_visible_line** **(** **)** |const|
Returns the last visible line. Use :ref:`get_last_full_visible_line_wrap_index<class_TextEdit_method_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<class_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<class_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<class_String>` **get_line** **(** :ref:`int<class_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<class_Color>` **get_line_background_color** **(** :ref:`int<class_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<class_Vector2i>` **get_line_column_at_pos** **(** :ref:`Vector2i<class_Vector2i>` position, :ref:`bool<class_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<class_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<class_Texture2D>` **get_line_gutter_icon** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_Color>` **get_line_gutter_item_color** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_Variant>` **get_line_gutter_metadata** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_String>` **get_line_gutter_text** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_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<class_TextEdit_theme_constant_line_spacing>` and :ref:`font_size<class_TextEdit_theme_font_size_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<class_int>` **get_line_width** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_int>` **get_line_wrap_count** **(** :ref:`int<class_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<class_int>` **get_line_wrap_index_at_column** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_PackedStringArray>` **get_line_wrapped_text** **(** :ref:`int<class_int>` line **)** |const|
Returns an array of :ref:`String<class_String>`\ s representing each wrapped index.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_get_local_mouse_pos:
.. rst-class:: classref-method
:ref:`Vector2<class_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<class_PopupMenu>` **get_menu** **(** **)** |const|
Returns the :ref:`PopupMenu<class_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<enum_TextEdit_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<class_Window_property_visible>` property.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_get_minimap_line_at_pos:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_minimap_line_at_pos** **(** :ref:`Vector2i<class_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<class_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<class_Vector2i>` **get_next_visible_line_index_offset_from** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index, :ref:`int<class_int>` visible_amount **)** |const|
Similar to :ref:`get_next_visible_line_offset_from<class_TextEdit_method_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<class_int>` **get_next_visible_line_offset_from** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_Vector2i>` **get_pos_at_line_column** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_TextEdit_method_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<class_Rect2i>` **get_rect_at_line_column** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_TextEdit_method_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<class_int>` **get_saved_version** **(** **)** |const|
Returns the last tagged saved version from :ref:`tag_saved_version<class_TextEdit_method_tag_saved_version>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_get_scroll_pos_for_line:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_scroll_pos_for_line** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_String>` **get_selected_text** **(** :ref:`int<class_int>` caret_index=-1 **)**
Returns the text inside the selection.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_get_selection_column:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_selection_column** **(** :ref:`int<class_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<class_int>` **get_selection_from_column** **(** :ref:`int<class_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<class_int>` **get_selection_from_line** **(** :ref:`int<class_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<class_int>` **get_selection_line** **(** :ref:`int<class_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<enum_TextEdit_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<class_int>` **get_selection_to_column** **(** :ref:`int<class_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<class_int>` **get_selection_to_line** **(** :ref:`int<class_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<class_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<class_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<class_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<class_VScrollBar>` **get_v_scroll_bar** **(** **)** |const|
Returns the :ref:`VScrollBar<class_VScrollBar>` of the **TextEdit**.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_get_version:
.. rst-class:: classref-method
:ref:`int<class_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<class_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<class_int>` **get_visible_line_count_in_range** **(** :ref:`int<class_int>` from_line, :ref:`int<class_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<class_String>` **get_word_at_pos** **(** :ref:`Vector2<class_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<class_String>` **get_word_under_caret** **(** :ref:`int<class_int>` caret_index=-1 **)** |const|
Returns a :ref:`String<class_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<class_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<class_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<class_bool>` **has_selection** **(** :ref:`int<class_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<class_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<class_int>` line, :ref:`String<class_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<class_String>` text, :ref:`int<class_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<class_bool>` **is_caret_visible** **(** :ref:`int<class_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<class_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<class_bool>` **is_gutter_clickable** **(** :ref:`int<class_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<class_bool>` **is_gutter_drawn** **(** :ref:`int<class_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<class_bool>` **is_gutter_overwritable** **(** :ref:`int<class_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<class_bool>` **is_line_gutter_clickable** **(** :ref:`int<class_int>` line, :ref:`int<class_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<class_bool>` **is_line_wrapped** **(** :ref:`int<class_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<class_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<class_bool>` **is_mouse_over_selection** **(** :ref:`bool<class_bool>` edges, :ref:`int<class_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<class_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<class_int>` option **)**
Executes a given action as defined in the :ref:`MenuItems<enum_TextEdit_MenuItems>` enum.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_merge_gutters:
.. rst-class:: classref-method
void **merge_gutters** **(** :ref:`int<class_int>` from_line, :ref:`int<class_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<class_int>` caret_index=-1 **)**
Paste at the current location. Can be overridden with :ref:`_paste<class_TextEdit_method__paste>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_paste_primary_clipboard:
.. rst-class:: classref-method
void **paste_primary_clipboard** **(** :ref:`int<class_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<class_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<class_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<class_int>` from_line, :ref:`int<class_int>` from_column, :ref:`int<class_int>` to_line, :ref:`int<class_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<class_Vector2i>` **search** **(** :ref:`String<class_String>` text, :ref:`int<class_int>` flags, :ref:`int<class_int>` from_line, :ref:`int<class_int>` from_colum **)** |const|
Perform a search inside the text. Search flags can be specified in the :ref:`SearchFlags<enum_TextEdit_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<class_int>` from_line, :ref:`int<class_int>` from_column, :ref:`int<class_int>` to_line, :ref:`int<class_int>` to_column, :ref:`int<class_int>` caret_index=0 **)**
Perform selection, from line/column to line/column.
If :ref:`selecting_enabled<class_TextEdit_property_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<class_TextEdit_property_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<class_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<class_int>` column, :ref:`bool<class_bool>` adjust_viewport=true, :ref:`int<class_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<class_TextEdit_method_merge_overlapping_carets>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_set_caret_line:
.. rst-class:: classref-method
void **set_caret_line** **(** :ref:`int<class_int>` line, :ref:`bool<class_bool>` adjust_viewport=true, :ref:`bool<class_bool>` can_be_hidden=true, :ref:`int<class_int>` wrap_index=0, :ref:`int<class_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<class_TextEdit_method_merge_overlapping_carets>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_set_gutter_clickable:
.. rst-class:: classref-method
void **set_gutter_clickable** **(** :ref:`int<class_int>` gutter, :ref:`bool<class_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<class_int>` column, :ref:`Callable<class_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<class_int>` gutter, :ref:`bool<class_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<class_int>` gutter, :ref:`String<class_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<class_int>` gutter, :ref:`bool<class_bool>` overwritable **)**
Sets the gutter to overwritable. See :ref:`merge_gutters<class_TextEdit_method_merge_gutters>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_set_gutter_type:
.. rst-class:: classref-method
void **set_gutter_type** **(** :ref:`int<class_int>` gutter, :ref:`GutterType<enum_TextEdit_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<class_int>` gutter, :ref:`int<class_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<class_int>` line, :ref:`String<class_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<class_int>` line, :ref:`int<class_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<class_int>` line, :ref:`int<class_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<class_int>` line, :ref:`int<class_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<class_int>` line, :ref:`Color<class_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<class_int>` line, :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` clickable **)**
If ``clickable`` is ``true``, makes the ``gutter`` on ``line`` clickable. See :ref:`gutter_clicked<class_TextEdit_signal_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<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Texture2D<class_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<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Color<class_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<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Variant<class_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<class_int>` line, :ref:`int<class_int>` gutter, :ref:`String<class_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<class_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<class_int>` flags **)**
Sets the search ``flags``. This is used with :ref:`set_search_text<class_TextEdit_method_set_search_text>` to highlight occurrences of the searched text. Search flags can be specified from the :ref:`SearchFlags<enum_TextEdit_SearchFlags>` enum.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_set_search_text:
.. rst-class:: classref-method
void **set_search_text** **(** :ref:`String<class_String>` search_text **)**
Sets the search text. See :ref:`set_search_flags<class_TextEdit_method_set_search_flags>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_set_selection_mode:
.. rst-class:: classref-method
void **set_selection_mode** **(** :ref:`SelectionMode<enum_TextEdit_SelectionMode>` mode, :ref:`int<class_int>` line=-1, :ref:`int<class_int>` column=-1, :ref:`int<class_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<class_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<class_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<enum_TextEdit_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<class_TextEdit_method_end_action>`, after :ref:`ProjectSettings.gui/timers/text_edit_idle_detect_sec<class_ProjectSettings_property_gui/timers/text_edit_idle_detect_sec>` is triggered or a new undoable step outside the :ref:`start_action<class_TextEdit_method_start_action>` and :ref:`end_action<class_TextEdit_method_end_action>` calls.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_method_swap_lines:
.. rst-class:: classref-method
void **swap_lines** **(** :ref:`int<class_int>` from_line, :ref:`int<class_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<class_Color>` **background_color** = ``Color(0, 0, 0, 0)``
Sets the background :ref:`Color<class_Color>` of this **TextEdit**.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_color_caret_background_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **caret_background_color** = ``Color(0, 0, 0, 1)``
:ref:`Color<class_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<class_Color>` **caret_color** = ``Color(0.875, 0.875, 0.875, 1)``
:ref:`Color<class_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<class_Color>` **current_line_color** = ``Color(0.25, 0.25, 0.26, 0.8)``
Background :ref:`Color<class_Color>` of the line containing the caret.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_color_font_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_color** = ``Color(0.875, 0.875, 0.875, 1)``
Sets the font :ref:`Color<class_Color>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_color_font_outline_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_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<class_Color>` **font_placeholder_color** = ``Color(0.875, 0.875, 0.875, 0.6)``
Font color for :ref:`placeholder_text<class_TextEdit_property_placeholder_text>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_color_font_readonly_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_readonly_color** = ``Color(0.875, 0.875, 0.875, 0.5)``
Sets the font :ref:`Color<class_Color>` when :ref:`editable<class_TextEdit_property_editable>` is disabled.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_color_font_selected_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **font_selected_color** = ``Color(0, 0, 0, 0)``
Sets the :ref:`Color<class_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<class_Color>` **search_result_border_color** = ``Color(0.3, 0.3, 0.3, 0.4)``
:ref:`Color<class_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<class_Color>` **search_result_color** = ``Color(0.3, 0.3, 0.3, 1)``
:ref:`Color<class_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<class_Color>` **selection_color** = ``Color(0.5, 0.5, 0.5, 1)``
Sets the highlight :ref:`Color<class_Color>` of text selections.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_color_word_highlighted_color:
.. rst-class:: classref-themeproperty
:ref:`Color<class_Color>` **word_highlighted_color** = ``Color(0.5, 0.5, 0.5, 0.25)``
Sets the highlight :ref:`Color<class_Color>` of multiple occurrences. :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` has to be enabled.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_constant_caret_width:
.. rst-class:: classref-themeproperty
:ref:`int<class_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<class_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<class_int>` **outline_size** = ``0``
The size of the text outline.
\ **Note:** If using a font with :ref:`FontFile.multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` enabled, its :ref:`FontFile.msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the value of :ref:`outline_size<class_TextEdit_theme_constant_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<class_Font>` **font**
Sets the default :ref:`Font<class_Font>`.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_font_size_font_size:
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` **font_size**
Sets default font size.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_icon_space:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **space**
Sets a custom :ref:`Texture2D<class_Texture2D>` for space text characters.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_icon_tab:
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` **tab**
Sets a custom :ref:`Texture2D<class_Texture2D>` for tab text characters.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_style_focus:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **focus**
Sets the :ref:`StyleBox<class_StyleBox>` when in focus. The ``focus`` :ref:`StyleBox<class_StyleBox>` is displayed *over* the base :ref:`StyleBox<class_StyleBox>`, so a partially transparent :ref:`StyleBox<class_StyleBox>` should be used to ensure the base :ref:`StyleBox<class_StyleBox>` remains visible. A :ref:`StyleBox<class_StyleBox>` that represents an outline or an underline works well for this purpose. To disable the focus visual effect, assign a :ref:`StyleBoxEmpty<class_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<class_StyleBox>` **normal**
Sets the :ref:`StyleBox<class_StyleBox>` of this **TextEdit**.
.. rst-class:: classref-item-separator
----
.. _class_TextEdit_theme_style_read_only:
.. rst-class:: classref-themeproperty
:ref:`StyleBox<class_StyleBox>` **read_only**
Sets the :ref:`StyleBox<class_StyleBox>` of this **TextEdit** when :ref:`editable<class_TextEdit_property_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.)`