class_textedit.rst 158 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextEdit.xml.
  6. .. _class_TextEdit:
  7. TextEdit
  8. ========
  9. **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. **Inherited By:** :ref:`CodeEdit<class_CodeEdit>`
  11. Multiline text editing control.
  12. Description
  13. -----------
  14. TextEdit is meant for editing large, multiline text. It also has facilities for editing code, such as syntax highlighting support and multiple levels of undo/redo.
  15. \ **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.
  16. Properties
  17. ----------
  18. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  19. | :ref:`bool<class_bool>` | :ref:`caret_blink<class_TextEdit_property_caret_blink>` | ``false`` |
  20. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  21. | :ref:`float<class_float>` | :ref:`caret_blink_speed<class_TextEdit_property_caret_blink_speed>` | ``0.65`` |
  22. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  23. | :ref:`bool<class_bool>` | :ref:`caret_mid_grapheme<class_TextEdit_property_caret_mid_grapheme>` | ``true`` |
  24. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  25. | :ref:`bool<class_bool>` | :ref:`caret_move_on_right_click<class_TextEdit_property_caret_move_on_right_click>` | ``true`` |
  26. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  27. | :ref:`CaretType<enum_TextEdit_CaretType>` | :ref:`caret_type<class_TextEdit_property_caret_type>` | ``0`` |
  28. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  29. | :ref:`bool<class_bool>` | :ref:`context_menu_enabled<class_TextEdit_property_context_menu_enabled>` | ``true`` |
  30. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  31. | :ref:`bool<class_bool>` | :ref:`deselect_on_focus_loss_enabled<class_TextEdit_property_deselect_on_focus_loss_enabled>` | ``true`` |
  32. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  33. | :ref:`bool<class_bool>` | :ref:`drag_and_drop_selection_enabled<class_TextEdit_property_drag_and_drop_selection_enabled>` | ``true`` |
  34. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  35. | :ref:`bool<class_bool>` | :ref:`draw_control_chars<class_TextEdit_property_draw_control_chars>` | ``false`` |
  36. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  37. | :ref:`bool<class_bool>` | :ref:`draw_spaces<class_TextEdit_property_draw_spaces>` | ``false`` |
  38. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  39. | :ref:`bool<class_bool>` | :ref:`draw_tabs<class_TextEdit_property_draw_tabs>` | ``false`` |
  40. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  41. | :ref:`bool<class_bool>` | :ref:`editable<class_TextEdit_property_editable>` | ``true`` |
  42. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  43. | :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
  44. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  45. | :ref:`bool<class_bool>` | :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` | ``false`` |
  46. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  47. | :ref:`bool<class_bool>` | :ref:`highlight_current_line<class_TextEdit_property_highlight_current_line>` | ``false`` |
  48. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  49. | :ref:`String<class_String>` | :ref:`language<class_TextEdit_property_language>` | ``""`` |
  50. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  51. | :ref:`bool<class_bool>` | :ref:`middle_mouse_paste_enabled<class_TextEdit_property_middle_mouse_paste_enabled>` | ``true`` |
  52. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  53. | :ref:`bool<class_bool>` | :ref:`minimap_draw<class_TextEdit_property_minimap_draw>` | ``false`` |
  54. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  55. | :ref:`int<class_int>` | :ref:`minimap_width<class_TextEdit_property_minimap_width>` | ``80`` |
  56. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  57. | :ref:`CursorShape<enum_Control_CursorShape>` | mouse_default_cursor_shape | ``1`` (overrides :ref:`Control<class_Control_property_mouse_default_cursor_shape>`) |
  58. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  59. | :ref:`bool<class_bool>` | :ref:`override_selected_font_color<class_TextEdit_property_override_selected_font_color>` | ``false`` |
  60. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  61. | :ref:`String<class_String>` | :ref:`placeholder_text<class_TextEdit_property_placeholder_text>` | ``""`` |
  62. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  63. | :ref:`bool<class_bool>` | :ref:`scroll_fit_content_height<class_TextEdit_property_scroll_fit_content_height>` | ``false`` |
  64. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  65. | :ref:`int<class_int>` | :ref:`scroll_horizontal<class_TextEdit_property_scroll_horizontal>` | ``0`` |
  66. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  67. | :ref:`bool<class_bool>` | :ref:`scroll_past_end_of_file<class_TextEdit_property_scroll_past_end_of_file>` | ``false`` |
  68. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  69. | :ref:`bool<class_bool>` | :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` | ``false`` |
  70. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  71. | :ref:`float<class_float>` | :ref:`scroll_v_scroll_speed<class_TextEdit_property_scroll_v_scroll_speed>` | ``80.0`` |
  72. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  73. | :ref:`float<class_float>` | :ref:`scroll_vertical<class_TextEdit_property_scroll_vertical>` | ``0.0`` |
  74. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  75. | :ref:`bool<class_bool>` | :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` | ``true`` |
  76. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  77. | :ref:`bool<class_bool>` | :ref:`shortcut_keys_enabled<class_TextEdit_property_shortcut_keys_enabled>` | ``true`` |
  78. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  79. | :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` | :ref:`structured_text_bidi_override<class_TextEdit_property_structured_text_bidi_override>` | ``0`` |
  80. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  81. | :ref:`Array<class_Array>` | :ref:`structured_text_bidi_override_options<class_TextEdit_property_structured_text_bidi_override_options>` | ``[]`` |
  82. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  83. | :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` | :ref:`syntax_highlighter<class_TextEdit_property_syntax_highlighter>` | |
  84. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  85. | :ref:`String<class_String>` | :ref:`text<class_TextEdit_property_text>` | ``""`` |
  86. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  87. | :ref:`TextDirection<enum_Control_TextDirection>` | :ref:`text_direction<class_TextEdit_property_text_direction>` | ``0`` |
  88. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  89. | :ref:`bool<class_bool>` | :ref:`virtual_keyboard_enabled<class_TextEdit_property_virtual_keyboard_enabled>` | ``true`` |
  90. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  91. | :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` | :ref:`wrap_mode<class_TextEdit_property_wrap_mode>` | ``0`` |
  92. +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+
  93. Methods
  94. -------
  95. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  96. | void | :ref:`_backspace<class_TextEdit_method__backspace>` **(** **)** |virtual| |
  97. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  98. | void | :ref:`_copy<class_TextEdit_method__copy>` **(** **)** |virtual| |
  99. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  100. | void | :ref:`_cut<class_TextEdit_method__cut>` **(** **)** |virtual| |
  101. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  102. | void | :ref:`_handle_unicode_input<class_TextEdit_method__handle_unicode_input>` **(** :ref:`int<class_int>` unicode_char **)** |virtual| |
  103. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  104. | void | :ref:`_paste<class_TextEdit_method__paste>` **(** **)** |virtual| |
  105. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  106. | void | :ref:`_paste_primary_clipboard<class_TextEdit_method__paste_primary_clipboard>` **(** **)** |virtual| |
  107. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  108. | void | :ref:`add_gutter<class_TextEdit_method_add_gutter>` **(** :ref:`int<class_int>` at=-1 **)** |
  109. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  110. | void | :ref:`adjust_viewport_to_caret<class_TextEdit_method_adjust_viewport_to_caret>` **(** **)** |
  111. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | void | :ref:`backspace<class_TextEdit_method_backspace>` **(** **)** |
  113. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | void | :ref:`begin_complex_operation<class_TextEdit_method_begin_complex_operation>` **(** **)** |
  115. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | void | :ref:`center_viewport_to_caret<class_TextEdit_method_center_viewport_to_caret>` **(** **)** |
  117. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | void | :ref:`clear<class_TextEdit_method_clear>` **(** **)** |
  119. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. | void | :ref:`clear_undo_history<class_TextEdit_method_clear_undo_history>` **(** **)** |
  121. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  122. | void | :ref:`copy<class_TextEdit_method_copy>` **(** **)** |
  123. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  124. | void | :ref:`cut<class_TextEdit_method_cut>` **(** **)** |
  125. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. | void | :ref:`delete_selection<class_TextEdit_method_delete_selection>` **(** **)** |
  127. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  128. | void | :ref:`deselect<class_TextEdit_method_deselect>` **(** **)** |
  129. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  130. | void | :ref:`end_complex_operation<class_TextEdit_method_end_complex_operation>` **(** **)** |
  131. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  132. | :ref:`int<class_int>` | :ref:`get_caret_column<class_TextEdit_method_get_caret_column>` **(** **)** |const| |
  133. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | :ref:`Vector2<class_Vector2>` | :ref:`get_caret_draw_pos<class_TextEdit_method_get_caret_draw_pos>` **(** **)** |const| |
  135. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | :ref:`int<class_int>` | :ref:`get_caret_line<class_TextEdit_method_get_caret_line>` **(** **)** |const| |
  137. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | :ref:`int<class_int>` | :ref:`get_caret_wrap_index<class_TextEdit_method_get_caret_wrap_index>` **(** **)** |const| |
  139. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | :ref:`int<class_int>` | :ref:`get_first_non_whitespace_column<class_TextEdit_method_get_first_non_whitespace_column>` **(** :ref:`int<class_int>` line **)** |const| |
  141. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | :ref:`int<class_int>` | :ref:`get_first_visible_line<class_TextEdit_method_get_first_visible_line>` **(** **)** |const| |
  143. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | :ref:`int<class_int>` | :ref:`get_gutter_count<class_TextEdit_method_get_gutter_count>` **(** **)** |const| |
  145. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | :ref:`String<class_String>` | :ref:`get_gutter_name<class_TextEdit_method_get_gutter_name>` **(** :ref:`int<class_int>` gutter **)** |const| |
  147. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | :ref:`GutterType<enum_TextEdit_GutterType>` | :ref:`get_gutter_type<class_TextEdit_method_get_gutter_type>` **(** :ref:`int<class_int>` gutter **)** |const| |
  149. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | :ref:`int<class_int>` | :ref:`get_gutter_width<class_TextEdit_method_get_gutter_width>` **(** :ref:`int<class_int>` gutter **)** |const| |
  151. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | :ref:`int<class_int>` | :ref:`get_indent_level<class_TextEdit_method_get_indent_level>` **(** :ref:`int<class_int>` line **)** |const| |
  153. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | :ref:`int<class_int>` | :ref:`get_last_full_visible_line<class_TextEdit_method_get_last_full_visible_line>` **(** **)** |const| |
  155. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | :ref:`int<class_int>` | :ref:`get_last_full_visible_line_wrap_index<class_TextEdit_method_get_last_full_visible_line_wrap_index>` **(** **)** |const| |
  157. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | :ref:`int<class_int>` | :ref:`get_last_unhidden_line<class_TextEdit_method_get_last_unhidden_line>` **(** **)** |const| |
  159. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | :ref:`String<class_String>` | :ref:`get_line<class_TextEdit_method_get_line>` **(** :ref:`int<class_int>` line **)** |const| |
  161. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | :ref:`Color<class_Color>` | :ref:`get_line_background_color<class_TextEdit_method_get_line_background_color>` **(** :ref:`int<class_int>` line **)** |const| |
  163. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | :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| |
  165. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | :ref:`int<class_int>` | :ref:`get_line_count<class_TextEdit_method_get_line_count>` **(** **)** |const| |
  167. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | :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| |
  169. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | :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| |
  171. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | :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| |
  173. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | :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| |
  175. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | :ref:`int<class_int>` | :ref:`get_line_height<class_TextEdit_method_get_line_height>` **(** **)** |const| |
  177. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | :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| |
  179. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | :ref:`int<class_int>` | :ref:`get_line_wrap_count<class_TextEdit_method_get_line_wrap_count>` **(** :ref:`int<class_int>` line **)** |const| |
  181. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | :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| |
  183. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_line_wrapped_text<class_TextEdit_method_get_line_wrapped_text>` **(** :ref:`int<class_int>` line **)** |const| |
  185. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | :ref:`Vector2<class_Vector2>` | :ref:`get_local_mouse_pos<class_TextEdit_method_get_local_mouse_pos>` **(** **)** |const| |
  187. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | :ref:`PopupMenu<class_PopupMenu>` | :ref:`get_menu<class_TextEdit_method_get_menu>` **(** **)** |const| |
  189. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | :ref:`int<class_int>` | :ref:`get_minimap_line_at_pos<class_TextEdit_method_get_minimap_line_at_pos>` **(** :ref:`Vector2i<class_Vector2i>` position **)** |const| |
  191. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | :ref:`int<class_int>` | :ref:`get_minimap_visible_lines<class_TextEdit_method_get_minimap_visible_lines>` **(** **)** |const| |
  193. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | :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| |
  195. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | :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| |
  197. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | :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| |
  199. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | :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| |
  201. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | :ref:`int<class_int>` | :ref:`get_saved_version<class_TextEdit_method_get_saved_version>` **(** **)** |const| |
  203. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | :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| |
  205. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | :ref:`String<class_String>` | :ref:`get_selected_text<class_TextEdit_method_get_selected_text>` **(** **)** |const| |
  207. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | :ref:`int<class_int>` | :ref:`get_selection_column<class_TextEdit_method_get_selection_column>` **(** **)** |const| |
  209. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | :ref:`int<class_int>` | :ref:`get_selection_from_column<class_TextEdit_method_get_selection_from_column>` **(** **)** |const| |
  211. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | :ref:`int<class_int>` | :ref:`get_selection_from_line<class_TextEdit_method_get_selection_from_line>` **(** **)** |const| |
  213. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | :ref:`int<class_int>` | :ref:`get_selection_line<class_TextEdit_method_get_selection_line>` **(** **)** |const| |
  215. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | :ref:`SelectionMode<enum_TextEdit_SelectionMode>` | :ref:`get_selection_mode<class_TextEdit_method_get_selection_mode>` **(** **)** |const| |
  217. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | :ref:`int<class_int>` | :ref:`get_selection_to_column<class_TextEdit_method_get_selection_to_column>` **(** **)** |const| |
  219. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | :ref:`int<class_int>` | :ref:`get_selection_to_line<class_TextEdit_method_get_selection_to_line>` **(** **)** |const| |
  221. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | :ref:`int<class_int>` | :ref:`get_tab_size<class_TextEdit_method_get_tab_size>` **(** **)** |const| |
  223. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`int<class_int>` | :ref:`get_total_gutter_width<class_TextEdit_method_get_total_gutter_width>` **(** **)** |const| |
  225. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | :ref:`int<class_int>` | :ref:`get_total_visible_line_count<class_TextEdit_method_get_total_visible_line_count>` **(** **)** |const| |
  227. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | :ref:`int<class_int>` | :ref:`get_version<class_TextEdit_method_get_version>` **(** **)** |const| |
  229. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | :ref:`int<class_int>` | :ref:`get_visible_line_count<class_TextEdit_method_get_visible_line_count>` **(** **)** |const| |
  231. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :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| |
  233. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | :ref:`String<class_String>` | :ref:`get_word_at_pos<class_TextEdit_method_get_word_at_pos>` **(** :ref:`Vector2<class_Vector2>` position **)** |const| |
  235. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | :ref:`String<class_String>` | :ref:`get_word_under_caret<class_TextEdit_method_get_word_under_caret>` **(** **)** |const| |
  237. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | :ref:`bool<class_bool>` | :ref:`has_ime_text<class_TextEdit_method_has_ime_text>` **(** **)** |const| |
  239. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | :ref:`bool<class_bool>` | :ref:`has_redo<class_TextEdit_method_has_redo>` **(** **)** |const| |
  241. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | :ref:`bool<class_bool>` | :ref:`has_selection<class_TextEdit_method_has_selection>` **(** **)** |const| |
  243. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | :ref:`bool<class_bool>` | :ref:`has_undo<class_TextEdit_method_has_undo>` **(** **)** |const| |
  245. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | void | :ref:`insert_line_at<class_TextEdit_method_insert_line_at>` **(** :ref:`int<class_int>` line, :ref:`String<class_String>` text **)** |
  247. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | void | :ref:`insert_text_at_caret<class_TextEdit_method_insert_text_at_caret>` **(** :ref:`String<class_String>` text **)** |
  249. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | :ref:`bool<class_bool>` | :ref:`is_caret_visible<class_TextEdit_method_is_caret_visible>` **(** **)** |const| |
  251. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | :ref:`bool<class_bool>` | :ref:`is_dragging_cursor<class_TextEdit_method_is_dragging_cursor>` **(** **)** |const| |
  253. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | :ref:`bool<class_bool>` | :ref:`is_gutter_clickable<class_TextEdit_method_is_gutter_clickable>` **(** :ref:`int<class_int>` gutter **)** |const| |
  255. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | :ref:`bool<class_bool>` | :ref:`is_gutter_drawn<class_TextEdit_method_is_gutter_drawn>` **(** :ref:`int<class_int>` gutter **)** |const| |
  257. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`bool<class_bool>` | :ref:`is_gutter_overwritable<class_TextEdit_method_is_gutter_overwritable>` **(** :ref:`int<class_int>` gutter **)** |const| |
  259. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | :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| |
  261. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | :ref:`bool<class_bool>` | :ref:`is_line_wrapped<class_TextEdit_method_is_line_wrapped>` **(** :ref:`int<class_int>` line **)** |const| |
  263. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :ref:`bool<class_bool>` | :ref:`is_menu_visible<class_TextEdit_method_is_menu_visible>` **(** **)** |const| |
  265. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | :ref:`bool<class_bool>` | :ref:`is_mouse_over_selection<class_TextEdit_method_is_mouse_over_selection>` **(** :ref:`bool<class_bool>` edges **)** |const| |
  267. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | :ref:`bool<class_bool>` | :ref:`is_overtype_mode_enabled<class_TextEdit_method_is_overtype_mode_enabled>` **(** **)** |const| |
  269. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | void | :ref:`menu_option<class_TextEdit_method_menu_option>` **(** :ref:`int<class_int>` option **)** |
  271. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | void | :ref:`merge_gutters<class_TextEdit_method_merge_gutters>` **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)** |
  273. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | void | :ref:`paste<class_TextEdit_method_paste>` **(** **)** |
  275. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | void | :ref:`redo<class_TextEdit_method_redo>` **(** **)** |
  277. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | void | :ref:`remove_gutter<class_TextEdit_method_remove_gutter>` **(** :ref:`int<class_int>` gutter **)** |
  279. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | 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 **)** |
  281. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | :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| |
  283. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | 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 **)** |
  285. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | void | :ref:`select_all<class_TextEdit_method_select_all>` **(** **)** |
  287. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | void | :ref:`select_word_under_caret<class_TextEdit_method_select_word_under_caret>` **(** **)** |
  289. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. | void | :ref:`set_caret_column<class_TextEdit_method_set_caret_column>` **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` adjust_viewport=true **)** |
  291. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  292. | 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 **)** |
  293. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  294. | void | :ref:`set_gutter_clickable<class_TextEdit_method_set_gutter_clickable>` **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` clickable **)** |
  295. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  296. | void | :ref:`set_gutter_custom_draw<class_TextEdit_method_set_gutter_custom_draw>` **(** :ref:`int<class_int>` column, :ref:`Callable<class_Callable>` draw_callback **)** |
  297. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  298. | void | :ref:`set_gutter_draw<class_TextEdit_method_set_gutter_draw>` **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` draw **)** |
  299. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  300. | void | :ref:`set_gutter_name<class_TextEdit_method_set_gutter_name>` **(** :ref:`int<class_int>` gutter, :ref:`String<class_String>` name **)** |
  301. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  302. | void | :ref:`set_gutter_overwritable<class_TextEdit_method_set_gutter_overwritable>` **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` overwritable **)** |
  303. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  304. | void | :ref:`set_gutter_type<class_TextEdit_method_set_gutter_type>` **(** :ref:`int<class_int>` gutter, :ref:`GutterType<enum_TextEdit_GutterType>` type **)** |
  305. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  306. | void | :ref:`set_gutter_width<class_TextEdit_method_set_gutter_width>` **(** :ref:`int<class_int>` gutter, :ref:`int<class_int>` width **)** |
  307. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  308. | void | :ref:`set_line<class_TextEdit_method_set_line>` **(** :ref:`int<class_int>` line, :ref:`String<class_String>` new_text **)** |
  309. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  310. | 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 **)** |
  311. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  312. | 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 **)** |
  313. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  314. | 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 **)** |
  315. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  316. | void | :ref:`set_line_background_color<class_TextEdit_method_set_line_background_color>` **(** :ref:`int<class_int>` line, :ref:`Color<class_Color>` color **)** |
  317. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  318. | 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 **)** |
  319. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  320. | 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 **)** |
  321. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  322. | 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 **)** |
  323. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  324. | 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 **)** |
  325. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  326. | 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 **)** |
  327. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  328. | void | :ref:`set_overtype_mode_enabled<class_TextEdit_method_set_overtype_mode_enabled>` **(** :ref:`bool<class_bool>` enabled **)** |
  329. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  330. | void | :ref:`set_search_flags<class_TextEdit_method_set_search_flags>` **(** :ref:`int<class_int>` flags **)** |
  331. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  332. | void | :ref:`set_search_text<class_TextEdit_method_set_search_text>` **(** :ref:`String<class_String>` search_text **)** |
  333. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  334. | 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 **)** |
  335. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  336. | void | :ref:`set_tab_size<class_TextEdit_method_set_tab_size>` **(** :ref:`int<class_int>` size **)** |
  337. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  338. | void | :ref:`set_tooltip_request_func<class_TextEdit_method_set_tooltip_request_func>` **(** :ref:`Callable<class_Callable>` callback **)** |
  339. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  340. | void | :ref:`swap_lines<class_TextEdit_method_swap_lines>` **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)** |
  341. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  342. | void | :ref:`tag_saved_version<class_TextEdit_method_tag_saved_version>` **(** **)** |
  343. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  344. | void | :ref:`undo<class_TextEdit_method_undo>` **(** **)** |
  345. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  346. Theme Properties
  347. ----------------
  348. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  349. | :ref:`Color<class_Color>` | :ref:`background_color<class_TextEdit_theme_color_background_color>` | ``Color(0, 0, 0, 0)`` |
  350. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  351. | :ref:`Color<class_Color>` | :ref:`caret_background_color<class_TextEdit_theme_color_caret_background_color>` | ``Color(0, 0, 0, 1)`` |
  352. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  353. | :ref:`Color<class_Color>` | :ref:`caret_color<class_TextEdit_theme_color_caret_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  354. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  355. | :ref:`Color<class_Color>` | :ref:`current_line_color<class_TextEdit_theme_color_current_line_color>` | ``Color(0.25, 0.25, 0.26, 0.8)`` |
  356. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  357. | :ref:`Color<class_Color>` | :ref:`font_color<class_TextEdit_theme_color_font_color>` | ``Color(0.875, 0.875, 0.875, 1)`` |
  358. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  359. | :ref:`Color<class_Color>` | :ref:`font_outline_color<class_TextEdit_theme_color_font_outline_color>` | ``Color(1, 1, 1, 1)`` |
  360. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  361. | :ref:`Color<class_Color>` | :ref:`font_placeholder_color<class_TextEdit_theme_color_font_placeholder_color>` | ``Color(0.875, 0.875, 0.875, 0.6)`` |
  362. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  363. | :ref:`Color<class_Color>` | :ref:`font_readonly_color<class_TextEdit_theme_color_font_readonly_color>` | ``Color(0.875, 0.875, 0.875, 0.5)`` |
  364. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  365. | :ref:`Color<class_Color>` | :ref:`font_selected_color<class_TextEdit_theme_color_font_selected_color>` | ``Color(1, 1, 1, 1)`` |
  366. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  367. | :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)`` |
  368. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  369. | :ref:`Color<class_Color>` | :ref:`search_result_color<class_TextEdit_theme_color_search_result_color>` | ``Color(0.3, 0.3, 0.3, 1)`` |
  370. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  371. | :ref:`Color<class_Color>` | :ref:`selection_color<class_TextEdit_theme_color_selection_color>` | ``Color(0.5, 0.5, 0.5, 1)`` |
  372. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  373. | :ref:`Color<class_Color>` | :ref:`word_highlighted_color<class_TextEdit_theme_color_word_highlighted_color>` | ``Color(0.5, 0.5, 0.5, 0.25)`` |
  374. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  375. | :ref:`int<class_int>` | :ref:`caret_width<class_TextEdit_theme_constant_caret_width>` | ``1`` |
  376. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  377. | :ref:`int<class_int>` | :ref:`line_spacing<class_TextEdit_theme_constant_line_spacing>` | ``4`` |
  378. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  379. | :ref:`int<class_int>` | :ref:`outline_size<class_TextEdit_theme_constant_outline_size>` | ``0`` |
  380. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  381. | :ref:`Font<class_Font>` | :ref:`font<class_TextEdit_theme_font_font>` | |
  382. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  383. | :ref:`int<class_int>` | :ref:`font_size<class_TextEdit_theme_font_size_font_size>` | |
  384. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  385. | :ref:`Texture2D<class_Texture2D>` | :ref:`space<class_TextEdit_theme_icon_space>` | |
  386. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  387. | :ref:`Texture2D<class_Texture2D>` | :ref:`tab<class_TextEdit_theme_icon_tab>` | |
  388. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  389. | :ref:`StyleBox<class_StyleBox>` | :ref:`focus<class_TextEdit_theme_style_focus>` | |
  390. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  391. | :ref:`StyleBox<class_StyleBox>` | :ref:`normal<class_TextEdit_theme_style_normal>` | |
  392. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  393. | :ref:`StyleBox<class_StyleBox>` | :ref:`read_only<class_TextEdit_theme_style_read_only>` | |
  394. +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+
  395. Signals
  396. -------
  397. .. _class_TextEdit_signal_caret_changed:
  398. - **caret_changed** **(** **)**
  399. Emitted when the caret changes position.
  400. ----
  401. .. _class_TextEdit_signal_gutter_added:
  402. - **gutter_added** **(** **)**
  403. Emitted when a gutter is added.
  404. ----
  405. .. _class_TextEdit_signal_gutter_clicked:
  406. - **gutter_clicked** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)**
  407. Emitted when a gutter is clicked.
  408. ----
  409. .. _class_TextEdit_signal_gutter_removed:
  410. - **gutter_removed** **(** **)**
  411. Emitted when a gutter is removed.
  412. ----
  413. .. _class_TextEdit_signal_lines_edited_from:
  414. - **lines_edited_from** **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)**
  415. Emitted immediately when the text changes.
  416. When text is added ``from_line`` will be less then ``to_line``. On a remove ``to_line`` will be less then ``from_line``.
  417. ----
  418. .. _class_TextEdit_signal_text_changed:
  419. - **text_changed** **(** **)**
  420. Emitted when the text changes.
  421. ----
  422. .. _class_TextEdit_signal_text_set:
  423. - **text_set** **(** **)**
  424. Emitted when :ref:`clear<class_TextEdit_method_clear>` is called or :ref:`text<class_TextEdit_property_text>` is set.
  425. Enumerations
  426. ------------
  427. .. _enum_TextEdit_MenuItems:
  428. .. _class_TextEdit_constant_MENU_CUT:
  429. .. _class_TextEdit_constant_MENU_COPY:
  430. .. _class_TextEdit_constant_MENU_PASTE:
  431. .. _class_TextEdit_constant_MENU_CLEAR:
  432. .. _class_TextEdit_constant_MENU_SELECT_ALL:
  433. .. _class_TextEdit_constant_MENU_UNDO:
  434. .. _class_TextEdit_constant_MENU_REDO:
  435. .. _class_TextEdit_constant_MENU_DIR_INHERITED:
  436. .. _class_TextEdit_constant_MENU_DIR_AUTO:
  437. .. _class_TextEdit_constant_MENU_DIR_LTR:
  438. .. _class_TextEdit_constant_MENU_DIR_RTL:
  439. .. _class_TextEdit_constant_MENU_DISPLAY_UCC:
  440. .. _class_TextEdit_constant_MENU_INSERT_LRM:
  441. .. _class_TextEdit_constant_MENU_INSERT_RLM:
  442. .. _class_TextEdit_constant_MENU_INSERT_LRE:
  443. .. _class_TextEdit_constant_MENU_INSERT_RLE:
  444. .. _class_TextEdit_constant_MENU_INSERT_LRO:
  445. .. _class_TextEdit_constant_MENU_INSERT_RLO:
  446. .. _class_TextEdit_constant_MENU_INSERT_PDF:
  447. .. _class_TextEdit_constant_MENU_INSERT_ALM:
  448. .. _class_TextEdit_constant_MENU_INSERT_LRI:
  449. .. _class_TextEdit_constant_MENU_INSERT_RLI:
  450. .. _class_TextEdit_constant_MENU_INSERT_FSI:
  451. .. _class_TextEdit_constant_MENU_INSERT_PDI:
  452. .. _class_TextEdit_constant_MENU_INSERT_ZWJ:
  453. .. _class_TextEdit_constant_MENU_INSERT_ZWNJ:
  454. .. _class_TextEdit_constant_MENU_INSERT_WJ:
  455. .. _class_TextEdit_constant_MENU_INSERT_SHY:
  456. .. _class_TextEdit_constant_MENU_MAX:
  457. enum **MenuItems**:
  458. - **MENU_CUT** = **0** --- Cuts (copies and clears) the selected text.
  459. - **MENU_COPY** = **1** --- Copies the selected text.
  460. - **MENU_PASTE** = **2** --- Pastes the clipboard text over the selected text (or at the cursor's position).
  461. - **MENU_CLEAR** = **3** --- Erases the whole ``TextEdit`` text.
  462. - **MENU_SELECT_ALL** = **4** --- Selects the whole ``TextEdit`` text.
  463. - **MENU_UNDO** = **5** --- Undoes the previous action.
  464. - **MENU_REDO** = **6** --- Redoes the previous action.
  465. - **MENU_DIR_INHERITED** = **7** --- Sets text direction to inherited.
  466. - **MENU_DIR_AUTO** = **8** --- Sets text direction to automatic.
  467. - **MENU_DIR_LTR** = **9** --- Sets text direction to left-to-right.
  468. - **MENU_DIR_RTL** = **10** --- Sets text direction to right-to-left.
  469. - **MENU_DISPLAY_UCC** = **11** --- Toggles control character display.
  470. - **MENU_INSERT_LRM** = **12** --- Inserts left-to-right mark (LRM) character.
  471. - **MENU_INSERT_RLM** = **13** --- Inserts right-to-left mark (RLM) character.
  472. - **MENU_INSERT_LRE** = **14** --- Inserts start of left-to-right embedding (LRE) character.
  473. - **MENU_INSERT_RLE** = **15** --- Inserts start of right-to-left embedding (RLE) character.
  474. - **MENU_INSERT_LRO** = **16** --- Inserts start of left-to-right override (LRO) character.
  475. - **MENU_INSERT_RLO** = **17** --- Inserts start of right-to-left override (RLO) character.
  476. - **MENU_INSERT_PDF** = **18** --- Inserts pop direction formatting (PDF) character.
  477. - **MENU_INSERT_ALM** = **19** --- Inserts Arabic letter mark (ALM) character.
  478. - **MENU_INSERT_LRI** = **20** --- Inserts left-to-right isolate (LRI) character.
  479. - **MENU_INSERT_RLI** = **21** --- Inserts right-to-left isolate (RLI) character.
  480. - **MENU_INSERT_FSI** = **22** --- Inserts first strong isolate (FSI) character.
  481. - **MENU_INSERT_PDI** = **23** --- Inserts pop direction isolate (PDI) character.
  482. - **MENU_INSERT_ZWJ** = **24** --- Inserts zero width joiner (ZWJ) character.
  483. - **MENU_INSERT_ZWNJ** = **25** --- Inserts zero width non-joiner (ZWNJ) character.
  484. - **MENU_INSERT_WJ** = **26** --- Inserts word joiner (WJ) character.
  485. - **MENU_INSERT_SHY** = **27** --- Inserts soft hyphen (SHY) character.
  486. - **MENU_MAX** = **28** --- Represents the size of the :ref:`MenuItems<enum_TextEdit_MenuItems>` enum.
  487. ----
  488. .. _enum_TextEdit_SearchFlags:
  489. .. _class_TextEdit_constant_SEARCH_MATCH_CASE:
  490. .. _class_TextEdit_constant_SEARCH_WHOLE_WORDS:
  491. .. _class_TextEdit_constant_SEARCH_BACKWARDS:
  492. enum **SearchFlags**:
  493. - **SEARCH_MATCH_CASE** = **1** --- Match case when searching.
  494. - **SEARCH_WHOLE_WORDS** = **2** --- Match whole words when searching.
  495. - **SEARCH_BACKWARDS** = **4** --- Search from end to beginning.
  496. ----
  497. .. _enum_TextEdit_CaretType:
  498. .. _class_TextEdit_constant_CARET_TYPE_LINE:
  499. .. _class_TextEdit_constant_CARET_TYPE_BLOCK:
  500. enum **CaretType**:
  501. - **CARET_TYPE_LINE** = **0** --- Vertical line caret.
  502. - **CARET_TYPE_BLOCK** = **1** --- Block caret.
  503. ----
  504. .. _enum_TextEdit_SelectionMode:
  505. .. _class_TextEdit_constant_SELECTION_MODE_NONE:
  506. .. _class_TextEdit_constant_SELECTION_MODE_SHIFT:
  507. .. _class_TextEdit_constant_SELECTION_MODE_POINTER:
  508. .. _class_TextEdit_constant_SELECTION_MODE_WORD:
  509. .. _class_TextEdit_constant_SELECTION_MODE_LINE:
  510. enum **SelectionMode**:
  511. - **SELECTION_MODE_NONE** = **0** --- Not selecting.
  512. - **SELECTION_MODE_SHIFT** = **1** --- Select as if ``shift`` is pressed.
  513. - **SELECTION_MODE_POINTER** = **2** --- Select single characters as if the user single clicked.
  514. - **SELECTION_MODE_WORD** = **3** --- Select whole words as if the user double clicked.
  515. - **SELECTION_MODE_LINE** = **4** --- Select whole lines as if the user tripped clicked.
  516. ----
  517. .. _enum_TextEdit_LineWrappingMode:
  518. .. _class_TextEdit_constant_LINE_WRAPPING_NONE:
  519. .. _class_TextEdit_constant_LINE_WRAPPING_BOUNDARY:
  520. enum **LineWrappingMode**:
  521. - **LINE_WRAPPING_NONE** = **0** --- Line wrapping is disabled.
  522. - **LINE_WRAPPING_BOUNDARY** = **1** --- Line wrapping occurs at the control boundary, beyond what would normally be visible.
  523. ----
  524. .. _enum_TextEdit_GutterType:
  525. .. _class_TextEdit_constant_GUTTER_TYPE_STRING:
  526. .. _class_TextEdit_constant_GUTTER_TYPE_ICON:
  527. .. _class_TextEdit_constant_GUTTER_TYPE_CUSTOM:
  528. enum **GutterType**:
  529. - **GUTTER_TYPE_STRING** = **0** --- Draw a string.
  530. - **GUTTER_TYPE_ICON** = **1** --- Draw an icon.
  531. - **GUTTER_TYPE_CUSTOM** = **2** --- Custom draw.
  532. Property Descriptions
  533. ---------------------
  534. .. _class_TextEdit_property_caret_blink:
  535. - :ref:`bool<class_bool>` **caret_blink**
  536. +-----------+--------------------------------+
  537. | *Default* | ``false`` |
  538. +-----------+--------------------------------+
  539. | *Setter* | set_caret_blink_enabled(value) |
  540. +-----------+--------------------------------+
  541. | *Getter* | is_caret_blink_enabled() |
  542. +-----------+--------------------------------+
  543. Sets if the caret should blink.
  544. ----
  545. .. _class_TextEdit_property_caret_blink_speed:
  546. - :ref:`float<class_float>` **caret_blink_speed**
  547. +-----------+------------------------------+
  548. | *Default* | ``0.65`` |
  549. +-----------+------------------------------+
  550. | *Setter* | set_caret_blink_speed(value) |
  551. +-----------+------------------------------+
  552. | *Getter* | get_caret_blink_speed() |
  553. +-----------+------------------------------+
  554. Duration (in seconds) of a caret's blinking cycle.
  555. ----
  556. .. _class_TextEdit_property_caret_mid_grapheme:
  557. - :ref:`bool<class_bool>` **caret_mid_grapheme**
  558. +-----------+---------------------------------------+
  559. | *Default* | ``true`` |
  560. +-----------+---------------------------------------+
  561. | *Setter* | set_caret_mid_grapheme_enabled(value) |
  562. +-----------+---------------------------------------+
  563. | *Getter* | is_caret_mid_grapheme_enabled() |
  564. +-----------+---------------------------------------+
  565. Allow moving caret, selecting and removing the individual composite character components.
  566. \ **Note:** :kbd:`Backspace` is always removing individual composite character components.
  567. ----
  568. .. _class_TextEdit_property_caret_move_on_right_click:
  569. - :ref:`bool<class_bool>` **caret_move_on_right_click**
  570. +-----------+----------------------------------------------+
  571. | *Default* | ``true`` |
  572. +-----------+----------------------------------------------+
  573. | *Setter* | set_move_caret_on_right_click_enabled(value) |
  574. +-----------+----------------------------------------------+
  575. | *Getter* | is_move_caret_on_right_click_enabled() |
  576. +-----------+----------------------------------------------+
  577. If ``true``, a right-click moves the caret at the mouse position before displaying the context menu.
  578. If ``false``, the context menu disregards mouse location.
  579. ----
  580. .. _class_TextEdit_property_caret_type:
  581. - :ref:`CaretType<enum_TextEdit_CaretType>` **caret_type**
  582. +-----------+-----------------------+
  583. | *Default* | ``0`` |
  584. +-----------+-----------------------+
  585. | *Setter* | set_caret_type(value) |
  586. +-----------+-----------------------+
  587. | *Getter* | get_caret_type() |
  588. +-----------+-----------------------+
  589. Set the type of caret to draw.
  590. ----
  591. .. _class_TextEdit_property_context_menu_enabled:
  592. - :ref:`bool<class_bool>` **context_menu_enabled**
  593. +-----------+---------------------------------+
  594. | *Default* | ``true`` |
  595. +-----------+---------------------------------+
  596. | *Setter* | set_context_menu_enabled(value) |
  597. +-----------+---------------------------------+
  598. | *Getter* | is_context_menu_enabled() |
  599. +-----------+---------------------------------+
  600. If ``true``, a right-click displays the context menu.
  601. ----
  602. .. _class_TextEdit_property_deselect_on_focus_loss_enabled:
  603. - :ref:`bool<class_bool>` **deselect_on_focus_loss_enabled**
  604. +-----------+-------------------------------------------+
  605. | *Default* | ``true`` |
  606. +-----------+-------------------------------------------+
  607. | *Setter* | set_deselect_on_focus_loss_enabled(value) |
  608. +-----------+-------------------------------------------+
  609. | *Getter* | is_deselect_on_focus_loss_enabled() |
  610. +-----------+-------------------------------------------+
  611. If ``true``, the selected text will be deselected when focus is lost.
  612. ----
  613. .. _class_TextEdit_property_drag_and_drop_selection_enabled:
  614. - :ref:`bool<class_bool>` **drag_and_drop_selection_enabled**
  615. +-----------+--------------------------------------------+
  616. | *Default* | ``true`` |
  617. +-----------+--------------------------------------------+
  618. | *Setter* | set_drag_and_drop_selection_enabled(value) |
  619. +-----------+--------------------------------------------+
  620. | *Getter* | is_drag_and_drop_selection_enabled() |
  621. +-----------+--------------------------------------------+
  622. If ``true``, allow drag and drop of selected text.
  623. ----
  624. .. _class_TextEdit_property_draw_control_chars:
  625. - :ref:`bool<class_bool>` **draw_control_chars**
  626. +-----------+-------------------------------+
  627. | *Default* | ``false`` |
  628. +-----------+-------------------------------+
  629. | *Setter* | set_draw_control_chars(value) |
  630. +-----------+-------------------------------+
  631. | *Getter* | get_draw_control_chars() |
  632. +-----------+-------------------------------+
  633. If ``true``, control characters are displayed.
  634. ----
  635. .. _class_TextEdit_property_draw_spaces:
  636. - :ref:`bool<class_bool>` **draw_spaces**
  637. +-----------+------------------------+
  638. | *Default* | ``false`` |
  639. +-----------+------------------------+
  640. | *Setter* | set_draw_spaces(value) |
  641. +-----------+------------------------+
  642. | *Getter* | is_drawing_spaces() |
  643. +-----------+------------------------+
  644. If ``true``, the "space" character will have a visible representation.
  645. ----
  646. .. _class_TextEdit_property_draw_tabs:
  647. - :ref:`bool<class_bool>` **draw_tabs**
  648. +-----------+----------------------+
  649. | *Default* | ``false`` |
  650. +-----------+----------------------+
  651. | *Setter* | set_draw_tabs(value) |
  652. +-----------+----------------------+
  653. | *Getter* | is_drawing_tabs() |
  654. +-----------+----------------------+
  655. If ``true``, the "tab" character will have a visible representation.
  656. ----
  657. .. _class_TextEdit_property_editable:
  658. - :ref:`bool<class_bool>` **editable**
  659. +-----------+---------------------+
  660. | *Default* | ``true`` |
  661. +-----------+---------------------+
  662. | *Setter* | set_editable(value) |
  663. +-----------+---------------------+
  664. | *Getter* | is_editable() |
  665. +-----------+---------------------+
  666. If ``false``, existing text cannot be modified and new text cannot be added.
  667. ----
  668. .. _class_TextEdit_property_highlight_all_occurrences:
  669. - :ref:`bool<class_bool>` **highlight_all_occurrences**
  670. +-----------+----------------------------------------+
  671. | *Default* | ``false`` |
  672. +-----------+----------------------------------------+
  673. | *Setter* | set_highlight_all_occurrences(value) |
  674. +-----------+----------------------------------------+
  675. | *Getter* | is_highlight_all_occurrences_enabled() |
  676. +-----------+----------------------------------------+
  677. If ``true``, all occurrences of the selected text will be highlighted.
  678. ----
  679. .. _class_TextEdit_property_highlight_current_line:
  680. - :ref:`bool<class_bool>` **highlight_current_line**
  681. +-----------+-------------------------------------+
  682. | *Default* | ``false`` |
  683. +-----------+-------------------------------------+
  684. | *Setter* | set_highlight_current_line(value) |
  685. +-----------+-------------------------------------+
  686. | *Getter* | is_highlight_current_line_enabled() |
  687. +-----------+-------------------------------------+
  688. If ``true``, the line containing the cursor is highlighted.
  689. ----
  690. .. _class_TextEdit_property_language:
  691. - :ref:`String<class_String>` **language**
  692. +-----------+---------------------+
  693. | *Default* | ``""`` |
  694. +-----------+---------------------+
  695. | *Setter* | set_language(value) |
  696. +-----------+---------------------+
  697. | *Getter* | get_language() |
  698. +-----------+---------------------+
  699. Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
  700. ----
  701. .. _class_TextEdit_property_middle_mouse_paste_enabled:
  702. - :ref:`bool<class_bool>` **middle_mouse_paste_enabled**
  703. +-----------+---------------------------------------+
  704. | *Default* | ``true`` |
  705. +-----------+---------------------------------------+
  706. | *Setter* | set_middle_mouse_paste_enabled(value) |
  707. +-----------+---------------------------------------+
  708. | *Getter* | is_middle_mouse_paste_enabled() |
  709. +-----------+---------------------------------------+
  710. If ``false``, using middle mouse button to paste clipboard will be disabled.
  711. \ **Note:** This method is only implemented on Linux.
  712. ----
  713. .. _class_TextEdit_property_minimap_draw:
  714. - :ref:`bool<class_bool>` **minimap_draw**
  715. +-----------+-------------------------+
  716. | *Default* | ``false`` |
  717. +-----------+-------------------------+
  718. | *Setter* | set_draw_minimap(value) |
  719. +-----------+-------------------------+
  720. | *Getter* | is_drawing_minimap() |
  721. +-----------+-------------------------+
  722. If ``true``, a minimap is shown, providing an outline of your source code.
  723. ----
  724. .. _class_TextEdit_property_minimap_width:
  725. - :ref:`int<class_int>` **minimap_width**
  726. +-----------+--------------------------+
  727. | *Default* | ``80`` |
  728. +-----------+--------------------------+
  729. | *Setter* | set_minimap_width(value) |
  730. +-----------+--------------------------+
  731. | *Getter* | get_minimap_width() |
  732. +-----------+--------------------------+
  733. The width, in pixels, of the minimap.
  734. ----
  735. .. _class_TextEdit_property_override_selected_font_color:
  736. - :ref:`bool<class_bool>` **override_selected_font_color**
  737. +-----------+-----------------------------------------+
  738. | *Default* | ``false`` |
  739. +-----------+-----------------------------------------+
  740. | *Setter* | set_override_selected_font_color(value) |
  741. +-----------+-----------------------------------------+
  742. | *Getter* | is_overriding_selected_font_color() |
  743. +-----------+-----------------------------------------+
  744. If ``true``, custom ``font_selected_color`` will be used for selected text.
  745. ----
  746. .. _class_TextEdit_property_placeholder_text:
  747. - :ref:`String<class_String>` **placeholder_text**
  748. +-----------+------------------------+
  749. | *Default* | ``""`` |
  750. +-----------+------------------------+
  751. | *Setter* | set_placeholder(value) |
  752. +-----------+------------------------+
  753. | *Getter* | get_placeholder() |
  754. +-----------+------------------------+
  755. Text shown when the ``TextEdit`` is empty. It is **not** the ``TextEdit``'s default value (see :ref:`text<class_TextEdit_property_text>`).
  756. ----
  757. .. _class_TextEdit_property_scroll_fit_content_height:
  758. - :ref:`bool<class_bool>` **scroll_fit_content_height**
  759. +-----------+---------------------------------------+
  760. | *Default* | ``false`` |
  761. +-----------+---------------------------------------+
  762. | *Setter* | set_fit_content_height_enabled(value) |
  763. +-----------+---------------------------------------+
  764. | *Getter* | is_fit_content_height_enabled() |
  765. +-----------+---------------------------------------+
  766. If ``true``, ``TextEdit`` will disable vertical scroll and fit minimum height to the number of visible lines.
  767. ----
  768. .. _class_TextEdit_property_scroll_horizontal:
  769. - :ref:`int<class_int>` **scroll_horizontal**
  770. +-----------+---------------------+
  771. | *Default* | ``0`` |
  772. +-----------+---------------------+
  773. | *Setter* | set_h_scroll(value) |
  774. +-----------+---------------------+
  775. | *Getter* | get_h_scroll() |
  776. +-----------+---------------------+
  777. If there is a horizontal scrollbar, this determines the current horizontal scroll value in pixels.
  778. ----
  779. .. _class_TextEdit_property_scroll_past_end_of_file:
  780. - :ref:`bool<class_bool>` **scroll_past_end_of_file**
  781. +-----------+--------------------------------------------+
  782. | *Default* | ``false`` |
  783. +-----------+--------------------------------------------+
  784. | *Setter* | set_scroll_past_end_of_file_enabled(value) |
  785. +-----------+--------------------------------------------+
  786. | *Getter* | is_scroll_past_end_of_file_enabled() |
  787. +-----------+--------------------------------------------+
  788. Allow scrolling past the last line into "virtual" space.
  789. ----
  790. .. _class_TextEdit_property_scroll_smooth:
  791. - :ref:`bool<class_bool>` **scroll_smooth**
  792. +-----------+----------------------------------+
  793. | *Default* | ``false`` |
  794. +-----------+----------------------------------+
  795. | *Setter* | set_smooth_scroll_enabled(value) |
  796. +-----------+----------------------------------+
  797. | *Getter* | is_smooth_scroll_enabled() |
  798. +-----------+----------------------------------+
  799. Scroll smoothly over the text rather then jumping to the next location.
  800. ----
  801. .. _class_TextEdit_property_scroll_v_scroll_speed:
  802. - :ref:`float<class_float>` **scroll_v_scroll_speed**
  803. +-----------+---------------------------+
  804. | *Default* | ``80.0`` |
  805. +-----------+---------------------------+
  806. | *Setter* | set_v_scroll_speed(value) |
  807. +-----------+---------------------------+
  808. | *Getter* | get_v_scroll_speed() |
  809. +-----------+---------------------------+
  810. Sets the scroll speed with the minimap or when :ref:`scroll_smooth<class_TextEdit_property_scroll_smooth>` is enabled.
  811. ----
  812. .. _class_TextEdit_property_scroll_vertical:
  813. - :ref:`float<class_float>` **scroll_vertical**
  814. +-----------+---------------------+
  815. | *Default* | ``0.0`` |
  816. +-----------+---------------------+
  817. | *Setter* | set_v_scroll(value) |
  818. +-----------+---------------------+
  819. | *Getter* | get_v_scroll() |
  820. +-----------+---------------------+
  821. If there is a vertical scrollbar, this determines the current vertical scroll value in line numbers, starting at 0 for the top line.
  822. ----
  823. .. _class_TextEdit_property_selecting_enabled:
  824. - :ref:`bool<class_bool>` **selecting_enabled**
  825. +-----------+------------------------------+
  826. | *Default* | ``true`` |
  827. +-----------+------------------------------+
  828. | *Setter* | set_selecting_enabled(value) |
  829. +-----------+------------------------------+
  830. | *Getter* | is_selecting_enabled() |
  831. +-----------+------------------------------+
  832. If ``true``, text can be selected.
  833. 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.
  834. ----
  835. .. _class_TextEdit_property_shortcut_keys_enabled:
  836. - :ref:`bool<class_bool>` **shortcut_keys_enabled**
  837. +-----------+----------------------------------+
  838. | *Default* | ``true`` |
  839. +-----------+----------------------------------+
  840. | *Setter* | set_shortcut_keys_enabled(value) |
  841. +-----------+----------------------------------+
  842. | *Getter* | is_shortcut_keys_enabled() |
  843. +-----------+----------------------------------+
  844. If ``true``, shortcut keys for context menu items are enabled, even if the context menu is disabled.
  845. ----
  846. .. _class_TextEdit_property_structured_text_bidi_override:
  847. - :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **structured_text_bidi_override**
  848. +-----------+------------------------------------------+
  849. | *Default* | ``0`` |
  850. +-----------+------------------------------------------+
  851. | *Setter* | set_structured_text_bidi_override(value) |
  852. +-----------+------------------------------------------+
  853. | *Getter* | get_structured_text_bidi_override() |
  854. +-----------+------------------------------------------+
  855. Set BiDi algorithm override for the structured text.
  856. ----
  857. .. _class_TextEdit_property_structured_text_bidi_override_options:
  858. - :ref:`Array<class_Array>` **structured_text_bidi_override_options**
  859. +-----------+--------------------------------------------------+
  860. | *Default* | ``[]`` |
  861. +-----------+--------------------------------------------------+
  862. | *Setter* | set_structured_text_bidi_override_options(value) |
  863. +-----------+--------------------------------------------------+
  864. | *Getter* | get_structured_text_bidi_override_options() |
  865. +-----------+--------------------------------------------------+
  866. Set additional options for BiDi override.
  867. ----
  868. .. _class_TextEdit_property_syntax_highlighter:
  869. - :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` **syntax_highlighter**
  870. +----------+-------------------------------+
  871. | *Setter* | set_syntax_highlighter(value) |
  872. +----------+-------------------------------+
  873. | *Getter* | get_syntax_highlighter() |
  874. +----------+-------------------------------+
  875. Sets the :ref:`SyntaxHighlighter<class_SyntaxHighlighter>` to use.
  876. ----
  877. .. _class_TextEdit_property_text:
  878. - :ref:`String<class_String>` **text**
  879. +-----------+-----------------+
  880. | *Default* | ``""`` |
  881. +-----------+-----------------+
  882. | *Setter* | set_text(value) |
  883. +-----------+-----------------+
  884. | *Getter* | get_text() |
  885. +-----------+-----------------+
  886. String value of the ``TextEdit``.
  887. ----
  888. .. _class_TextEdit_property_text_direction:
  889. - :ref:`TextDirection<enum_Control_TextDirection>` **text_direction**
  890. +-----------+---------------------------+
  891. | *Default* | ``0`` |
  892. +-----------+---------------------------+
  893. | *Setter* | set_text_direction(value) |
  894. +-----------+---------------------------+
  895. | *Getter* | get_text_direction() |
  896. +-----------+---------------------------+
  897. Base text writing direction.
  898. ----
  899. .. _class_TextEdit_property_virtual_keyboard_enabled:
  900. - :ref:`bool<class_bool>` **virtual_keyboard_enabled**
  901. +-----------+-------------------------------------+
  902. | *Default* | ``true`` |
  903. +-----------+-------------------------------------+
  904. | *Setter* | set_virtual_keyboard_enabled(value) |
  905. +-----------+-------------------------------------+
  906. | *Getter* | is_virtual_keyboard_enabled() |
  907. +-----------+-------------------------------------+
  908. If ``true``, the native virtual keyboard is shown when focused on platforms that support it.
  909. ----
  910. .. _class_TextEdit_property_wrap_mode:
  911. - :ref:`LineWrappingMode<enum_TextEdit_LineWrappingMode>` **wrap_mode**
  912. +-----------+-------------------------------+
  913. | *Default* | ``0`` |
  914. +-----------+-------------------------------+
  915. | *Setter* | set_line_wrapping_mode(value) |
  916. +-----------+-------------------------------+
  917. | *Getter* | get_line_wrapping_mode() |
  918. +-----------+-------------------------------+
  919. Sets the line wrapping mode to use.
  920. Method Descriptions
  921. -------------------
  922. .. _class_TextEdit_method__backspace:
  923. - void **_backspace** **(** **)** |virtual|
  924. Override this method to define what happens when the user presses the backspace key.
  925. ----
  926. .. _class_TextEdit_method__copy:
  927. - void **_copy** **(** **)** |virtual|
  928. Override this method to define what happens when the user performs a copy operation.
  929. ----
  930. .. _class_TextEdit_method__cut:
  931. - void **_cut** **(** **)** |virtual|
  932. Override this method to define what happens when the user performs a cut operation.
  933. ----
  934. .. _class_TextEdit_method__handle_unicode_input:
  935. - void **_handle_unicode_input** **(** :ref:`int<class_int>` unicode_char **)** |virtual|
  936. Override this method to define what happens when the types in the provided key ``unicode``.
  937. ----
  938. .. _class_TextEdit_method__paste:
  939. - void **_paste** **(** **)** |virtual|
  940. Override this method to define what happens when the user performs a paste operation.
  941. ----
  942. .. _class_TextEdit_method__paste_primary_clipboard:
  943. - void **_paste_primary_clipboard** **(** **)** |virtual|
  944. Override this method to define what happens when the user performs a paste operation with middle mouse button.
  945. \ **Note:** This method is only implemented on Linux.
  946. ----
  947. .. _class_TextEdit_method_add_gutter:
  948. - void **add_gutter** **(** :ref:`int<class_int>` at=-1 **)**
  949. 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.
  950. ----
  951. .. _class_TextEdit_method_adjust_viewport_to_caret:
  952. - void **adjust_viewport_to_caret** **(** **)**
  953. Adjust the viewport so the caret is visible.
  954. ----
  955. .. _class_TextEdit_method_backspace:
  956. - void **backspace** **(** **)**
  957. Called when the user presses the backspace key. Can be overridden with :ref:`_backspace<class_TextEdit_method__backspace>`.
  958. ----
  959. .. _class_TextEdit_method_begin_complex_operation:
  960. - void **begin_complex_operation** **(** **)**
  961. 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.
  962. ----
  963. .. _class_TextEdit_method_center_viewport_to_caret:
  964. - void **center_viewport_to_caret** **(** **)**
  965. 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``.
  966. ----
  967. .. _class_TextEdit_method_clear:
  968. - void **clear** **(** **)**
  969. Performs a full reset of ``TextEdit``, including undo history.
  970. ----
  971. .. _class_TextEdit_method_clear_undo_history:
  972. - void **clear_undo_history** **(** **)**
  973. Clears the undo history.
  974. ----
  975. .. _class_TextEdit_method_copy:
  976. - void **copy** **(** **)**
  977. Copies the current text selection. Can be overridden with :ref:`_copy<class_TextEdit_method__copy>`.
  978. ----
  979. .. _class_TextEdit_method_cut:
  980. - void **cut** **(** **)**
  981. Cut's the current selection. Can be overridden with :ref:`_cut<class_TextEdit_method__cut>`.
  982. ----
  983. .. _class_TextEdit_method_delete_selection:
  984. - void **delete_selection** **(** **)**
  985. Deletes the selected text.
  986. ----
  987. .. _class_TextEdit_method_deselect:
  988. - void **deselect** **(** **)**
  989. Deselects the current selection.
  990. ----
  991. .. _class_TextEdit_method_end_complex_operation:
  992. - void **end_complex_operation** **(** **)**
  993. 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.
  994. ----
  995. .. _class_TextEdit_method_get_caret_column:
  996. - :ref:`int<class_int>` **get_caret_column** **(** **)** |const|
  997. Returns the column the editing caret is at.
  998. ----
  999. .. _class_TextEdit_method_get_caret_draw_pos:
  1000. - :ref:`Vector2<class_Vector2>` **get_caret_draw_pos** **(** **)** |const|
  1001. Returns the caret pixel draw position.
  1002. ----
  1003. .. _class_TextEdit_method_get_caret_line:
  1004. - :ref:`int<class_int>` **get_caret_line** **(** **)** |const|
  1005. Returns the line the editing caret is on.
  1006. ----
  1007. .. _class_TextEdit_method_get_caret_wrap_index:
  1008. - :ref:`int<class_int>` **get_caret_wrap_index** **(** **)** |const|
  1009. Returns the wrap index the editing caret is on.
  1010. ----
  1011. .. _class_TextEdit_method_get_first_non_whitespace_column:
  1012. - :ref:`int<class_int>` **get_first_non_whitespace_column** **(** :ref:`int<class_int>` line **)** |const|
  1013. Returns the first column containing a non-whitespace character.
  1014. ----
  1015. .. _class_TextEdit_method_get_first_visible_line:
  1016. - :ref:`int<class_int>` **get_first_visible_line** **(** **)** |const|
  1017. Returns the first visible line.
  1018. ----
  1019. .. _class_TextEdit_method_get_gutter_count:
  1020. - :ref:`int<class_int>` **get_gutter_count** **(** **)** |const|
  1021. Returns the total amount of gutters registered.
  1022. ----
  1023. .. _class_TextEdit_method_get_gutter_name:
  1024. - :ref:`String<class_String>` **get_gutter_name** **(** :ref:`int<class_int>` gutter **)** |const|
  1025. Returns the name of the gutter at the given index.
  1026. ----
  1027. .. _class_TextEdit_method_get_gutter_type:
  1028. - :ref:`GutterType<enum_TextEdit_GutterType>` **get_gutter_type** **(** :ref:`int<class_int>` gutter **)** |const|
  1029. Returns the type of the gutter at the given index.
  1030. ----
  1031. .. _class_TextEdit_method_get_gutter_width:
  1032. - :ref:`int<class_int>` **get_gutter_width** **(** :ref:`int<class_int>` gutter **)** |const|
  1033. Returns the width of the gutter at the given index.
  1034. ----
  1035. .. _class_TextEdit_method_get_indent_level:
  1036. - :ref:`int<class_int>` **get_indent_level** **(** :ref:`int<class_int>` line **)** |const|
  1037. Returns the amount of spaces and ``tab * tab_size`` before the first char.
  1038. ----
  1039. .. _class_TextEdit_method_get_last_full_visible_line:
  1040. - :ref:`int<class_int>` **get_last_full_visible_line** **(** **)** |const|
  1041. 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.
  1042. ----
  1043. .. _class_TextEdit_method_get_last_full_visible_line_wrap_index:
  1044. - :ref:`int<class_int>` **get_last_full_visible_line_wrap_index** **(** **)** |const|
  1045. Returns the last visible wrap index of the last visible line.
  1046. ----
  1047. .. _class_TextEdit_method_get_last_unhidden_line:
  1048. - :ref:`int<class_int>` **get_last_unhidden_line** **(** **)** |const|
  1049. Returns the last unhidden line in the entire ``TextEdit``.
  1050. ----
  1051. .. _class_TextEdit_method_get_line:
  1052. - :ref:`String<class_String>` **get_line** **(** :ref:`int<class_int>` line **)** |const|
  1053. Returns the text of a specific line.
  1054. ----
  1055. .. _class_TextEdit_method_get_line_background_color:
  1056. - :ref:`Color<class_Color>` **get_line_background_color** **(** :ref:`int<class_int>` line **)** |const|
  1057. Returns the current background color of the line. ``Color(0, 0, 0, 0)`` is returned if no color is set.
  1058. ----
  1059. .. _class_TextEdit_method_get_line_column_at_pos:
  1060. - :ref:`Vector2i<class_Vector2i>` **get_line_column_at_pos** **(** :ref:`Vector2i<class_Vector2i>` position, :ref:`bool<class_bool>` allow_out_of_bounds=true **)** |const|
  1061. 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``.
  1062. ----
  1063. .. _class_TextEdit_method_get_line_count:
  1064. - :ref:`int<class_int>` **get_line_count** **(** **)** |const|
  1065. Returns the amount of total lines in the text.
  1066. ----
  1067. .. _class_TextEdit_method_get_line_gutter_icon:
  1068. - :ref:`Texture2D<class_Texture2D>` **get_line_gutter_icon** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const|
  1069. Returns the icon currently in ``gutter`` at ``line``.
  1070. ----
  1071. .. _class_TextEdit_method_get_line_gutter_item_color:
  1072. - :ref:`Color<class_Color>` **get_line_gutter_item_color** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const|
  1073. Returns the color currently in ``gutter`` at ``line``.
  1074. ----
  1075. .. _class_TextEdit_method_get_line_gutter_metadata:
  1076. - :ref:`Variant<class_Variant>` **get_line_gutter_metadata** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const|
  1077. Returns the metadata currently in ``gutter`` at ``line``.
  1078. ----
  1079. .. _class_TextEdit_method_get_line_gutter_text:
  1080. - :ref:`String<class_String>` **get_line_gutter_text** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const|
  1081. Returns the text currently in ``gutter`` at ``line``.
  1082. ----
  1083. .. _class_TextEdit_method_get_line_height:
  1084. - :ref:`int<class_int>` **get_line_height** **(** **)** |const|
  1085. Returns the height of a largest line.
  1086. ----
  1087. .. _class_TextEdit_method_get_line_width:
  1088. - :ref:`int<class_int>` **get_line_width** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=-1 **)** |const|
  1089. Returns the width in pixels of the ``wrap_index`` on ``line``.
  1090. ----
  1091. .. _class_TextEdit_method_get_line_wrap_count:
  1092. - :ref:`int<class_int>` **get_line_wrap_count** **(** :ref:`int<class_int>` line **)** |const|
  1093. Returns the number of times the given line is wrapped.
  1094. ----
  1095. .. _class_TextEdit_method_get_line_wrap_index_at_column:
  1096. - :ref:`int<class_int>` **get_line_wrap_index_at_column** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column **)** |const|
  1097. Returns the wrap index of the given line column.
  1098. ----
  1099. .. _class_TextEdit_method_get_line_wrapped_text:
  1100. - :ref:`PackedStringArray<class_PackedStringArray>` **get_line_wrapped_text** **(** :ref:`int<class_int>` line **)** |const|
  1101. Returns an array of :ref:`String<class_String>`\ s representing each wrapped index.
  1102. ----
  1103. .. _class_TextEdit_method_get_local_mouse_pos:
  1104. - :ref:`Vector2<class_Vector2>` **get_local_mouse_pos** **(** **)** |const|
  1105. Returns the local mouse position adjusted for the text direction.
  1106. ----
  1107. .. _class_TextEdit_method_get_menu:
  1108. - :ref:`PopupMenu<class_PopupMenu>` **get_menu** **(** **)** |const|
  1109. Returns the :ref:`PopupMenu<class_PopupMenu>` of this ``TextEdit``. By default, this menu is displayed when right-clicking on the ``TextEdit``.
  1110. \ **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.
  1111. ----
  1112. .. _class_TextEdit_method_get_minimap_line_at_pos:
  1113. - :ref:`int<class_int>` **get_minimap_line_at_pos** **(** :ref:`Vector2i<class_Vector2i>` position **)** |const|
  1114. Returns the equivalent minimap line at ``position``
  1115. ----
  1116. .. _class_TextEdit_method_get_minimap_visible_lines:
  1117. - :ref:`int<class_int>` **get_minimap_visible_lines** **(** **)** |const|
  1118. Returns the total amount of lines that can be draw on the minimap.
  1119. ----
  1120. .. _class_TextEdit_method_get_next_visible_line_index_offset_from:
  1121. - :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|
  1122. 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.
  1123. ----
  1124. .. _class_TextEdit_method_get_next_visible_line_offset_from:
  1125. - :ref:`int<class_int>` **get_next_visible_line_offset_from** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` visible_amount **)** |const|
  1126. 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.
  1127. ----
  1128. .. _class_TextEdit_method_get_pos_at_line_column:
  1129. - :ref:`Vector2i<class_Vector2i>` **get_pos_at_line_column** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column **)** |const|
  1130. 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.
  1131. \ **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.
  1132. ----
  1133. .. _class_TextEdit_method_get_rect_at_line_column:
  1134. - :ref:`Rect2i<class_Rect2i>` **get_rect_at_line_column** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` column **)** |const|
  1135. 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.
  1136. \ **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.
  1137. ----
  1138. .. _class_TextEdit_method_get_saved_version:
  1139. - :ref:`int<class_int>` **get_saved_version** **(** **)** |const|
  1140. Returns the last tagged saved version from :ref:`tag_saved_version<class_TextEdit_method_tag_saved_version>`
  1141. ----
  1142. .. _class_TextEdit_method_get_scroll_pos_for_line:
  1143. - :ref:`float<class_float>` **get_scroll_pos_for_line** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=0 **)** |const|
  1144. Returns the scroll position for ``wrap_index`` of ``line``.
  1145. ----
  1146. .. _class_TextEdit_method_get_selected_text:
  1147. - :ref:`String<class_String>` **get_selected_text** **(** **)** |const|
  1148. Returns the text inside the selection.
  1149. ----
  1150. .. _class_TextEdit_method_get_selection_column:
  1151. - :ref:`int<class_int>` **get_selection_column** **(** **)** |const|
  1152. Returns the original start column of the selection.
  1153. ----
  1154. .. _class_TextEdit_method_get_selection_from_column:
  1155. - :ref:`int<class_int>` **get_selection_from_column** **(** **)** |const|
  1156. Returns the selection begin column.
  1157. ----
  1158. .. _class_TextEdit_method_get_selection_from_line:
  1159. - :ref:`int<class_int>` **get_selection_from_line** **(** **)** |const|
  1160. Returns the selection begin line.
  1161. ----
  1162. .. _class_TextEdit_method_get_selection_line:
  1163. - :ref:`int<class_int>` **get_selection_line** **(** **)** |const|
  1164. Returns the original start line of the selection.
  1165. ----
  1166. .. _class_TextEdit_method_get_selection_mode:
  1167. - :ref:`SelectionMode<enum_TextEdit_SelectionMode>` **get_selection_mode** **(** **)** |const|
  1168. Returns the current selection mode.
  1169. ----
  1170. .. _class_TextEdit_method_get_selection_to_column:
  1171. - :ref:`int<class_int>` **get_selection_to_column** **(** **)** |const|
  1172. Returns the selection end column.
  1173. ----
  1174. .. _class_TextEdit_method_get_selection_to_line:
  1175. - :ref:`int<class_int>` **get_selection_to_line** **(** **)** |const|
  1176. Returns the selection end line.
  1177. ----
  1178. .. _class_TextEdit_method_get_tab_size:
  1179. - :ref:`int<class_int>` **get_tab_size** **(** **)** |const|
  1180. Returns the ``TextEdit``'s' tab size.
  1181. ----
  1182. .. _class_TextEdit_method_get_total_gutter_width:
  1183. - :ref:`int<class_int>` **get_total_gutter_width** **(** **)** |const|
  1184. Returns the total width of all gutters and internal padding.
  1185. ----
  1186. .. _class_TextEdit_method_get_total_visible_line_count:
  1187. - :ref:`int<class_int>` **get_total_visible_line_count** **(** **)** |const|
  1188. Returns the total amount of lines that could be draw.
  1189. ----
  1190. .. _class_TextEdit_method_get_version:
  1191. - :ref:`int<class_int>` **get_version** **(** **)** |const|
  1192. Returns the current version of the ``TextEdit``. The version is a count of recorded operations by the undo/redo history.
  1193. ----
  1194. .. _class_TextEdit_method_get_visible_line_count:
  1195. - :ref:`int<class_int>` **get_visible_line_count** **(** **)** |const|
  1196. Returns the number of visible lines, including wrapped text.
  1197. ----
  1198. .. _class_TextEdit_method_get_visible_line_count_in_range:
  1199. - :ref:`int<class_int>` **get_visible_line_count_in_range** **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)** |const|
  1200. Returns the total number of visible + wrapped lines between the two lines.
  1201. ----
  1202. .. _class_TextEdit_method_get_word_at_pos:
  1203. - :ref:`String<class_String>` **get_word_at_pos** **(** :ref:`Vector2<class_Vector2>` position **)** |const|
  1204. Returns the word at ``position``.
  1205. ----
  1206. .. _class_TextEdit_method_get_word_under_caret:
  1207. - :ref:`String<class_String>` **get_word_under_caret** **(** **)** |const|
  1208. Returns a :ref:`String<class_String>` text with the word under the caret's location.
  1209. ----
  1210. .. _class_TextEdit_method_has_ime_text:
  1211. - :ref:`bool<class_bool>` **has_ime_text** **(** **)** |const|
  1212. Returns if the user has IME text.
  1213. ----
  1214. .. _class_TextEdit_method_has_redo:
  1215. - :ref:`bool<class_bool>` **has_redo** **(** **)** |const|
  1216. Returns ``true`` if a "redo" action is available.
  1217. ----
  1218. .. _class_TextEdit_method_has_selection:
  1219. - :ref:`bool<class_bool>` **has_selection** **(** **)** |const|
  1220. Returns ``true`` if the user has selected text.
  1221. ----
  1222. .. _class_TextEdit_method_has_undo:
  1223. - :ref:`bool<class_bool>` **has_undo** **(** **)** |const|
  1224. Returns ``true`` if an "undo" action is available.
  1225. ----
  1226. .. _class_TextEdit_method_insert_line_at:
  1227. - void **insert_line_at** **(** :ref:`int<class_int>` line, :ref:`String<class_String>` text **)**
  1228. Inserts a new line with ``text`` at ``line``.
  1229. ----
  1230. .. _class_TextEdit_method_insert_text_at_caret:
  1231. - void **insert_text_at_caret** **(** :ref:`String<class_String>` text **)**
  1232. Insert the specified text at the caret position.
  1233. ----
  1234. .. _class_TextEdit_method_is_caret_visible:
  1235. - :ref:`bool<class_bool>` **is_caret_visible** **(** **)** |const|
  1236. Returns ``true`` if the caret is visible on the screen.
  1237. ----
  1238. .. _class_TextEdit_method_is_dragging_cursor:
  1239. - :ref:`bool<class_bool>` **is_dragging_cursor** **(** **)** |const|
  1240. Returns ``true`` if the user is dragging their mouse for scrolling or selecting.
  1241. ----
  1242. .. _class_TextEdit_method_is_gutter_clickable:
  1243. - :ref:`bool<class_bool>` **is_gutter_clickable** **(** :ref:`int<class_int>` gutter **)** |const|
  1244. Returns whether the gutter is clickable.
  1245. ----
  1246. .. _class_TextEdit_method_is_gutter_drawn:
  1247. - :ref:`bool<class_bool>` **is_gutter_drawn** **(** :ref:`int<class_int>` gutter **)** |const|
  1248. Returns whether the gutter is currently drawn.
  1249. ----
  1250. .. _class_TextEdit_method_is_gutter_overwritable:
  1251. - :ref:`bool<class_bool>` **is_gutter_overwritable** **(** :ref:`int<class_int>` gutter **)** |const|
  1252. Returns whether the gutter is overwritable.
  1253. ----
  1254. .. _class_TextEdit_method_is_line_gutter_clickable:
  1255. - :ref:`bool<class_bool>` **is_line_gutter_clickable** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter **)** |const|
  1256. Returns whether the gutter on the given line is clickable.
  1257. ----
  1258. .. _class_TextEdit_method_is_line_wrapped:
  1259. - :ref:`bool<class_bool>` **is_line_wrapped** **(** :ref:`int<class_int>` line **)** |const|
  1260. Returns if the given line is wrapped.
  1261. ----
  1262. .. _class_TextEdit_method_is_menu_visible:
  1263. - :ref:`bool<class_bool>` **is_menu_visible** **(** **)** |const|
  1264. Returns whether the menu is visible. Use this instead of ``get_menu().visible`` to improve performance (so the creation of the menu is avoided).
  1265. ----
  1266. .. _class_TextEdit_method_is_mouse_over_selection:
  1267. - :ref:`bool<class_bool>` **is_mouse_over_selection** **(** :ref:`bool<class_bool>` edges **)** |const|
  1268. Returns whether the mouse is over selection. If ``edges`` is ``true``, the edges are considered part of the selection.
  1269. ----
  1270. .. _class_TextEdit_method_is_overtype_mode_enabled:
  1271. - :ref:`bool<class_bool>` **is_overtype_mode_enabled** **(** **)** |const|
  1272. Returns whether the user is in overtype mode.
  1273. ----
  1274. .. _class_TextEdit_method_menu_option:
  1275. - void **menu_option** **(** :ref:`int<class_int>` option **)**
  1276. Triggers a right-click menu action by the specified index. See :ref:`MenuItems<enum_TextEdit_MenuItems>` for a list of available indexes.
  1277. ----
  1278. .. _class_TextEdit_method_merge_gutters:
  1279. - void **merge_gutters** **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)**
  1280. Merge the gutters from ``from_line`` into ``to_line``. Only overwritable gutters will be copied.
  1281. ----
  1282. .. _class_TextEdit_method_paste:
  1283. - void **paste** **(** **)**
  1284. Paste at the current location. Can be overridden with :ref:`_paste<class_TextEdit_method__paste>`.
  1285. ----
  1286. .. _class_TextEdit_method_redo:
  1287. - void **redo** **(** **)**
  1288. Perform redo operation.
  1289. ----
  1290. .. _class_TextEdit_method_remove_gutter:
  1291. - void **remove_gutter** **(** :ref:`int<class_int>` gutter **)**
  1292. Removes the gutter from this ``TextEdit``.
  1293. ----
  1294. .. _class_TextEdit_method_remove_text:
  1295. - 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 **)**
  1296. Removes text between the given positions.
  1297. \ **Note:** This does not adjust the caret or selection, which as a result it can end up in an invalid position.
  1298. ----
  1299. .. _class_TextEdit_method_search:
  1300. - :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|
  1301. Perform a search inside the text. Search flags can be specified in the :ref:`SearchFlags<enum_TextEdit_SearchFlags>` enum.
  1302. In the returned vector, ``x`` is the column, ``y`` is the line. If no results are found, both are equal to ``-1``.
  1303. .. tabs::
  1304. .. code-tab:: gdscript
  1305. var result = search("print", SEARCH_WHOLE_WORDS, 0, 0)
  1306. if result.x != -1:
  1307. # Result found.
  1308. var line_number = result.y
  1309. var column_number = result.x
  1310. .. code-tab:: csharp
  1311. Vector2i result = Search("print", (uint)TextEdit.SearchFlags.WholeWords, 0, 0);
  1312. if (result.Length > 0)
  1313. {
  1314. // Result found.
  1315. int lineNumber = result.y;
  1316. int columnNumber = result.x;
  1317. }
  1318. ----
  1319. .. _class_TextEdit_method_select:
  1320. - 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 **)**
  1321. Perform selection, from line/column to line/column.
  1322. If :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` is ``false``, no selection will occur.
  1323. ----
  1324. .. _class_TextEdit_method_select_all:
  1325. - void **select_all** **(** **)**
  1326. Select all the text.
  1327. If :ref:`selecting_enabled<class_TextEdit_property_selecting_enabled>` is ``false``, no selection will occur.
  1328. ----
  1329. .. _class_TextEdit_method_select_word_under_caret:
  1330. - void **select_word_under_caret** **(** **)**
  1331. Selects the word under the caret.
  1332. ----
  1333. .. _class_TextEdit_method_set_caret_column:
  1334. - void **set_caret_column** **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` adjust_viewport=true **)**
  1335. Moves the caret to the specified ``column`` index.
  1336. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs.
  1337. ----
  1338. .. _class_TextEdit_method_set_caret_line:
  1339. - 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 **)**
  1340. Moves the caret to the specified ``line`` index.
  1341. If ``adjust_viewport`` is ``true``, the viewport will center at the caret position after the move occurs.
  1342. If ``can_be_hidden`` is ``true``, the specified ``line`` can be hidden.
  1343. ----
  1344. .. _class_TextEdit_method_set_gutter_clickable:
  1345. - void **set_gutter_clickable** **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` clickable **)**
  1346. Sets the gutter as clickable. This will change the mouse cursor to a pointing hand when hovering over the gutter.
  1347. ----
  1348. .. _class_TextEdit_method_set_gutter_custom_draw:
  1349. - void **set_gutter_custom_draw** **(** :ref:`int<class_int>` column, :ref:`Callable<class_Callable>` draw_callback **)**
  1350. Set a custom draw method for the gutter. The callback method must take the following args: ``line: int, gutter: int, Area: Rect2``.
  1351. ----
  1352. .. _class_TextEdit_method_set_gutter_draw:
  1353. - void **set_gutter_draw** **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` draw **)**
  1354. Sets whether the gutter should be drawn.
  1355. ----
  1356. .. _class_TextEdit_method_set_gutter_name:
  1357. - void **set_gutter_name** **(** :ref:`int<class_int>` gutter, :ref:`String<class_String>` name **)**
  1358. Sets the name of the gutter.
  1359. ----
  1360. .. _class_TextEdit_method_set_gutter_overwritable:
  1361. - void **set_gutter_overwritable** **(** :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` overwritable **)**
  1362. Sets the gutter to overwritable. See :ref:`merge_gutters<class_TextEdit_method_merge_gutters>`.
  1363. ----
  1364. .. _class_TextEdit_method_set_gutter_type:
  1365. - void **set_gutter_type** **(** :ref:`int<class_int>` gutter, :ref:`GutterType<enum_TextEdit_GutterType>` type **)**
  1366. Sets the type of gutter.
  1367. ----
  1368. .. _class_TextEdit_method_set_gutter_width:
  1369. - void **set_gutter_width** **(** :ref:`int<class_int>` gutter, :ref:`int<class_int>` width **)**
  1370. Set the width of the gutter.
  1371. ----
  1372. .. _class_TextEdit_method_set_line:
  1373. - void **set_line** **(** :ref:`int<class_int>` line, :ref:`String<class_String>` new_text **)**
  1374. Sets the text for a specific line.
  1375. ----
  1376. .. _class_TextEdit_method_set_line_as_center_visible:
  1377. - void **set_line_as_center_visible** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=0 **)**
  1378. Positions the ``wrap_index`` of ``line`` at the center of the viewport.
  1379. ----
  1380. .. _class_TextEdit_method_set_line_as_first_visible:
  1381. - void **set_line_as_first_visible** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=0 **)**
  1382. Positions the ``wrap_index`` of ``line`` at the top of the viewport.
  1383. ----
  1384. .. _class_TextEdit_method_set_line_as_last_visible:
  1385. - void **set_line_as_last_visible** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` wrap_index=0 **)**
  1386. Positions the ``wrap_index`` of ``line`` at the bottom of the viewport.
  1387. ----
  1388. .. _class_TextEdit_method_set_line_background_color:
  1389. - void **set_line_background_color** **(** :ref:`int<class_int>` line, :ref:`Color<class_Color>` color **)**
  1390. Sets the current background color of the line. Set to ``Color(0, 0, 0, 0)`` for no color.
  1391. ----
  1392. .. _class_TextEdit_method_set_line_gutter_clickable:
  1393. - void **set_line_gutter_clickable** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`bool<class_bool>` clickable **)**
  1394. Sets the ``gutter`` on ``line`` as clickable.
  1395. ----
  1396. .. _class_TextEdit_method_set_line_gutter_icon:
  1397. - void **set_line_gutter_icon** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Texture2D<class_Texture2D>` icon **)**
  1398. Sets the icon for ``gutter`` on ``line``.
  1399. ----
  1400. .. _class_TextEdit_method_set_line_gutter_item_color:
  1401. - void **set_line_gutter_item_color** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Color<class_Color>` color **)**
  1402. Sets the color for ``gutter`` on ``line``.
  1403. ----
  1404. .. _class_TextEdit_method_set_line_gutter_metadata:
  1405. - void **set_line_gutter_metadata** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`Variant<class_Variant>` metadata **)**
  1406. Sets the metadata for ``gutter`` on ``line``.
  1407. ----
  1408. .. _class_TextEdit_method_set_line_gutter_text:
  1409. - void **set_line_gutter_text** **(** :ref:`int<class_int>` line, :ref:`int<class_int>` gutter, :ref:`String<class_String>` text **)**
  1410. Sets the text for ``gutter`` on ``line``.
  1411. ----
  1412. .. _class_TextEdit_method_set_overtype_mode_enabled:
  1413. - void **set_overtype_mode_enabled** **(** :ref:`bool<class_bool>` enabled **)**
  1414. If ``true``, sets the user into overtype mode. When the user types in this mode, it will override existing text.
  1415. ----
  1416. .. _class_TextEdit_method_set_search_flags:
  1417. - void **set_search_flags** **(** :ref:`int<class_int>` flags **)**
  1418. 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.
  1419. ----
  1420. .. _class_TextEdit_method_set_search_text:
  1421. - void **set_search_text** **(** :ref:`String<class_String>` search_text **)**
  1422. Sets the search text. See :ref:`set_search_flags<class_TextEdit_method_set_search_flags>`.
  1423. ----
  1424. .. _class_TextEdit_method_set_selection_mode:
  1425. - void **set_selection_mode** **(** :ref:`SelectionMode<enum_TextEdit_SelectionMode>` mode, :ref:`int<class_int>` line=-1, :ref:`int<class_int>` column=-1 **)**
  1426. Sets the current selection mode.
  1427. ----
  1428. .. _class_TextEdit_method_set_tab_size:
  1429. - void **set_tab_size** **(** :ref:`int<class_int>` size **)**
  1430. Sets the tab size for the ``TextEdit`` to use.
  1431. ----
  1432. .. _class_TextEdit_method_set_tooltip_request_func:
  1433. - void **set_tooltip_request_func** **(** :ref:`Callable<class_Callable>` callback **)**
  1434. Provide custom tooltip text. The callback method must take the following args: ``hovered_word: String``
  1435. ----
  1436. .. _class_TextEdit_method_swap_lines:
  1437. - void **swap_lines** **(** :ref:`int<class_int>` from_line, :ref:`int<class_int>` to_line **)**
  1438. Swaps the two lines.
  1439. ----
  1440. .. _class_TextEdit_method_tag_saved_version:
  1441. - void **tag_saved_version** **(** **)**
  1442. Tag the current version as saved.
  1443. ----
  1444. .. _class_TextEdit_method_undo:
  1445. - void **undo** **(** **)**
  1446. Perform undo operation.
  1447. Theme Property Descriptions
  1448. ---------------------------
  1449. .. _class_TextEdit_theme_color_background_color:
  1450. - :ref:`Color<class_Color>` **background_color**
  1451. +-----------+-----------------------+
  1452. | *Default* | ``Color(0, 0, 0, 0)`` |
  1453. +-----------+-----------------------+
  1454. Sets the background :ref:`Color<class_Color>` of this ``TextEdit``.
  1455. ----
  1456. .. _class_TextEdit_theme_color_caret_background_color:
  1457. - :ref:`Color<class_Color>` **caret_background_color**
  1458. +-----------+-----------------------+
  1459. | *Default* | ``Color(0, 0, 0, 1)`` |
  1460. +-----------+-----------------------+
  1461. :ref:`Color<class_Color>` of the text behind the caret when using a block caret.
  1462. ----
  1463. .. _class_TextEdit_theme_color_caret_color:
  1464. - :ref:`Color<class_Color>` **caret_color**
  1465. +-----------+-----------------------------------+
  1466. | *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
  1467. +-----------+-----------------------------------+
  1468. :ref:`Color<class_Color>` of the caret. This can be set to a fully transparent color to hide the caret entirely.
  1469. ----
  1470. .. _class_TextEdit_theme_color_current_line_color:
  1471. - :ref:`Color<class_Color>` **current_line_color**
  1472. +-----------+----------------------------------+
  1473. | *Default* | ``Color(0.25, 0.25, 0.26, 0.8)`` |
  1474. +-----------+----------------------------------+
  1475. Background :ref:`Color<class_Color>` of the line containing the caret.
  1476. ----
  1477. .. _class_TextEdit_theme_color_font_color:
  1478. - :ref:`Color<class_Color>` **font_color**
  1479. +-----------+-----------------------------------+
  1480. | *Default* | ``Color(0.875, 0.875, 0.875, 1)`` |
  1481. +-----------+-----------------------------------+
  1482. Sets the font :ref:`Color<class_Color>`.
  1483. ----
  1484. .. _class_TextEdit_theme_color_font_outline_color:
  1485. - :ref:`Color<class_Color>` **font_outline_color**
  1486. +-----------+-----------------------+
  1487. | *Default* | ``Color(1, 1, 1, 1)`` |
  1488. +-----------+-----------------------+
  1489. The tint of text outline of the ``TextEdit``.
  1490. ----
  1491. .. _class_TextEdit_theme_color_font_placeholder_color:
  1492. - :ref:`Color<class_Color>` **font_placeholder_color**
  1493. +-----------+-------------------------------------+
  1494. | *Default* | ``Color(0.875, 0.875, 0.875, 0.6)`` |
  1495. +-----------+-------------------------------------+
  1496. Font color for :ref:`placeholder_text<class_TextEdit_property_placeholder_text>`.
  1497. ----
  1498. .. _class_TextEdit_theme_color_font_readonly_color:
  1499. - :ref:`Color<class_Color>` **font_readonly_color**
  1500. +-----------+-------------------------------------+
  1501. | *Default* | ``Color(0.875, 0.875, 0.875, 0.5)`` |
  1502. +-----------+-------------------------------------+
  1503. Sets the font :ref:`Color<class_Color>` when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  1504. ----
  1505. .. _class_TextEdit_theme_color_font_selected_color:
  1506. - :ref:`Color<class_Color>` **font_selected_color**
  1507. +-----------+-----------------------+
  1508. | *Default* | ``Color(1, 1, 1, 1)`` |
  1509. +-----------+-----------------------+
  1510. Sets the :ref:`Color<class_Color>` of the selected text. :ref:`override_selected_font_color<class_TextEdit_property_override_selected_font_color>` has to be enabled.
  1511. ----
  1512. .. _class_TextEdit_theme_color_search_result_border_color:
  1513. - :ref:`Color<class_Color>` **search_result_border_color**
  1514. +-----------+-------------------------------+
  1515. | *Default* | ``Color(0.3, 0.3, 0.3, 0.4)`` |
  1516. +-----------+-------------------------------+
  1517. :ref:`Color<class_Color>` of the border around text that matches the search query.
  1518. ----
  1519. .. _class_TextEdit_theme_color_search_result_color:
  1520. - :ref:`Color<class_Color>` **search_result_color**
  1521. +-----------+-----------------------------+
  1522. | *Default* | ``Color(0.3, 0.3, 0.3, 1)`` |
  1523. +-----------+-----------------------------+
  1524. :ref:`Color<class_Color>` behind the text that matches the search query.
  1525. ----
  1526. .. _class_TextEdit_theme_color_selection_color:
  1527. - :ref:`Color<class_Color>` **selection_color**
  1528. +-----------+-----------------------------+
  1529. | *Default* | ``Color(0.5, 0.5, 0.5, 1)`` |
  1530. +-----------+-----------------------------+
  1531. Sets the highlight :ref:`Color<class_Color>` of text selections.
  1532. ----
  1533. .. _class_TextEdit_theme_color_word_highlighted_color:
  1534. - :ref:`Color<class_Color>` **word_highlighted_color**
  1535. +-----------+--------------------------------+
  1536. | *Default* | ``Color(0.5, 0.5, 0.5, 0.25)`` |
  1537. +-----------+--------------------------------+
  1538. Sets the highlight :ref:`Color<class_Color>` of multiple occurrences. :ref:`highlight_all_occurrences<class_TextEdit_property_highlight_all_occurrences>` has to be enabled.
  1539. ----
  1540. .. _class_TextEdit_theme_constant_caret_width:
  1541. - :ref:`int<class_int>` **caret_width**
  1542. +-----------+-------+
  1543. | *Default* | ``1`` |
  1544. +-----------+-------+
  1545. 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.
  1546. ----
  1547. .. _class_TextEdit_theme_constant_line_spacing:
  1548. - :ref:`int<class_int>` **line_spacing**
  1549. +-----------+-------+
  1550. | *Default* | ``4`` |
  1551. +-----------+-------+
  1552. Sets the spacing between the lines.
  1553. ----
  1554. .. _class_TextEdit_theme_constant_outline_size:
  1555. - :ref:`int<class_int>` **outline_size**
  1556. +-----------+-------+
  1557. | *Default* | ``0`` |
  1558. +-----------+-------+
  1559. The size of the text outline.
  1560. ----
  1561. .. _class_TextEdit_theme_font_font:
  1562. - :ref:`Font<class_Font>` **font**
  1563. Sets the default :ref:`Font<class_Font>`.
  1564. ----
  1565. .. _class_TextEdit_theme_font_size_font_size:
  1566. - :ref:`int<class_int>` **font_size**
  1567. Sets default font size.
  1568. ----
  1569. .. _class_TextEdit_theme_icon_space:
  1570. - :ref:`Texture2D<class_Texture2D>` **space**
  1571. Sets a custom :ref:`Texture2D<class_Texture2D>` for space text characters.
  1572. ----
  1573. .. _class_TextEdit_theme_icon_tab:
  1574. - :ref:`Texture2D<class_Texture2D>` **tab**
  1575. Sets a custom :ref:`Texture2D<class_Texture2D>` for tab text characters.
  1576. ----
  1577. .. _class_TextEdit_theme_style_focus:
  1578. - :ref:`StyleBox<class_StyleBox>` **focus**
  1579. 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.
  1580. ----
  1581. .. _class_TextEdit_theme_style_normal:
  1582. - :ref:`StyleBox<class_StyleBox>` **normal**
  1583. Sets the :ref:`StyleBox<class_StyleBox>` of this ``TextEdit``.
  1584. ----
  1585. .. _class_TextEdit_theme_style_read_only:
  1586. - :ref:`StyleBox<class_StyleBox>` **read_only**
  1587. Sets the :ref:`StyleBox<class_StyleBox>` of this ``TextEdit`` when :ref:`editable<class_TextEdit_property_editable>` is disabled.
  1588. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  1589. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  1590. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  1591. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  1592. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  1593. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`