class_textedit.rst 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
  3. .. _class_TextEdit:
  4. TextEdit
  5. ========
  6. **Inherits:** :ref:`Control<class_control>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
  7. **Category:** Core
  8. Brief Description
  9. -----------------
  10. Multiline text editing control.
  11. Member Functions
  12. ----------------
  13. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  14. | void | :ref:`set_text<class_TextEdit_set_text>` **(** :ref:`String<class_string>` text **)** |
  15. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  16. | void | :ref:`insert_text_at_cursor<class_TextEdit_insert_text_at_cursor>` **(** :ref:`String<class_string>` text **)** |
  17. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  18. | :ref:`int<class_int>` | :ref:`get_line_count<class_TextEdit_get_line_count>` **(** **)** const |
  19. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  20. | :ref:`String<class_string>` | :ref:`get_text<class_TextEdit_get_text>` **(** **)** |
  21. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | :ref:`String<class_string>` | :ref:`get_line<class_TextEdit_get_line>` **(** :ref:`int<class_int>` line **)** const |
  23. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | void | :ref:`cursor_set_column<class_TextEdit_cursor_set_column>` **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` adjust_viewport=false **)** |
  25. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | void | :ref:`cursor_set_line<class_TextEdit_cursor_set_line>` **(** :ref:`int<class_int>` line, :ref:`bool<class_bool>` adjust_viewport=false **)** |
  27. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | :ref:`int<class_int>` | :ref:`cursor_get_column<class_TextEdit_cursor_get_column>` **(** **)** const |
  29. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | :ref:`int<class_int>` | :ref:`cursor_get_line<class_TextEdit_cursor_get_line>` **(** **)** const |
  31. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | void | :ref:`cursor_set_blink_enabled<class_TextEdit_cursor_set_blink_enabled>` **(** :ref:`bool<class_bool>` enable **)** |
  33. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | :ref:`bool<class_bool>` | :ref:`cursor_get_blink_enabled<class_TextEdit_cursor_get_blink_enabled>` **(** **)** const |
  35. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | void | :ref:`cursor_set_blink_speed<class_TextEdit_cursor_set_blink_speed>` **(** :ref:`float<class_float>` blink_speed **)** |
  37. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | :ref:`float<class_float>` | :ref:`cursor_get_blink_speed<class_TextEdit_cursor_get_blink_speed>` **(** **)** const |
  39. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | void | :ref:`set_readonly<class_TextEdit_set_readonly>` **(** :ref:`bool<class_bool>` enable **)** |
  41. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | void | :ref:`set_wrap<class_TextEdit_set_wrap>` **(** :ref:`bool<class_bool>` enable **)** |
  43. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | void | :ref:`set_max_chars<class_TextEdit_set_max_chars>` **(** :ref:`int<class_int>` amount **)** |
  45. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | void | :ref:`cut<class_TextEdit_cut>` **(** **)** |
  47. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | void | :ref:`copy<class_TextEdit_copy>` **(** **)** |
  49. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | void | :ref:`paste<class_TextEdit_paste>` **(** **)** |
  51. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | void | :ref:`select_all<class_TextEdit_select_all>` **(** **)** |
  53. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | void | :ref:`select<class_TextEdit_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 **)** |
  55. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | :ref:`bool<class_bool>` | :ref:`is_selection_active<class_TextEdit_is_selection_active>` **(** **)** const |
  57. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`int<class_int>` | :ref:`get_selection_from_line<class_TextEdit_get_selection_from_line>` **(** **)** const |
  59. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | :ref:`int<class_int>` | :ref:`get_selection_from_column<class_TextEdit_get_selection_from_column>` **(** **)** const |
  61. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`int<class_int>` | :ref:`get_selection_to_line<class_TextEdit_get_selection_to_line>` **(** **)** const |
  63. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | :ref:`int<class_int>` | :ref:`get_selection_to_column<class_TextEdit_get_selection_to_column>` **(** **)** const |
  65. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | :ref:`String<class_string>` | :ref:`get_selection_text<class_TextEdit_get_selection_text>` **(** **)** const |
  67. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | :ref:`String<class_string>` | :ref:`get_word_under_cursor<class_TextEdit_get_word_under_cursor>` **(** **)** const |
  69. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | :ref:`IntArray<class_intarray>` | :ref:`search<class_TextEdit_search>` **(** :ref:`String<class_string>` flags, :ref:`int<class_int>` from_line, :ref:`int<class_int>` from_column, :ref:`int<class_int>` to_line **)** const |
  71. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | void | :ref:`undo<class_TextEdit_undo>` **(** **)** |
  73. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | void | :ref:`redo<class_TextEdit_redo>` **(** **)** |
  75. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | void | :ref:`clear_undo_history<class_TextEdit_clear_undo_history>` **(** **)** |
  77. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | void | :ref:`set_syntax_coloring<class_TextEdit_set_syntax_coloring>` **(** :ref:`bool<class_bool>` enable **)** |
  79. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | :ref:`bool<class_bool>` | :ref:`is_syntax_coloring_enabled<class_TextEdit_is_syntax_coloring_enabled>` **(** **)** const |
  81. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. | void | :ref:`add_keyword_color<class_TextEdit_add_keyword_color>` **(** :ref:`String<class_string>` keyword, :ref:`Color<class_color>` color **)** |
  83. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  84. | void | :ref:`add_color_region<class_TextEdit_add_color_region>` **(** :ref:`String<class_string>` begin_key, :ref:`String<class_string>` end_key, :ref:`Color<class_color>` color, :ref:`bool<class_bool>` line_only=false **)** |
  85. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  86. | void | :ref:`set_symbol_color<class_TextEdit_set_symbol_color>` **(** :ref:`Color<class_color>` color **)** |
  87. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  88. | void | :ref:`set_custom_bg_color<class_TextEdit_set_custom_bg_color>` **(** :ref:`Color<class_color>` color **)** |
  89. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  90. | void | :ref:`clear_colors<class_TextEdit_clear_colors>` **(** **)** |
  91. +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  92. Signals
  93. -------
  94. - **text_changed** **(** **)**
  95. - **cursor_changed** **(** **)**
  96. - **request_completion** **(** **)**
  97. Numeric Constants
  98. -----------------
  99. - **SEARCH_MATCH_CASE** = **1** --- Match case when searching.
  100. - **SEARCH_WHOLE_WORDS** = **2** --- Match whole words when searching.
  101. - **SEARCH_BACKWARDS** = **4** --- Search from end to beginning.
  102. Description
  103. -----------
  104. 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.
  105. Member Function Description
  106. ---------------------------
  107. .. _class_TextEdit_set_text:
  108. - void **set_text** **(** :ref:`String<class_string>` text **)**
  109. Set the entire text.
  110. .. _class_TextEdit_insert_text_at_cursor:
  111. - void **insert_text_at_cursor** **(** :ref:`String<class_string>` text **)**
  112. Insert a given text at the cursor position.
  113. .. _class_TextEdit_get_line_count:
  114. - :ref:`int<class_int>` **get_line_count** **(** **)** const
  115. Return the amount of total lines in the text.
  116. .. _class_TextEdit_get_text:
  117. - :ref:`String<class_string>` **get_text** **(** **)**
  118. Return the whole text.
  119. .. _class_TextEdit_get_line:
  120. - :ref:`String<class_string>` **get_line** **(** :ref:`int<class_int>` line **)** const
  121. Return the text of a specific line.
  122. .. _class_TextEdit_cursor_set_column:
  123. - void **cursor_set_column** **(** :ref:`int<class_int>` column, :ref:`bool<class_bool>` adjust_viewport=false **)**
  124. .. _class_TextEdit_cursor_set_line:
  125. - void **cursor_set_line** **(** :ref:`int<class_int>` line, :ref:`bool<class_bool>` adjust_viewport=false **)**
  126. .. _class_TextEdit_cursor_get_column:
  127. - :ref:`int<class_int>` **cursor_get_column** **(** **)** const
  128. Return the column the editing cursor is at.
  129. .. _class_TextEdit_cursor_get_line:
  130. - :ref:`int<class_int>` **cursor_get_line** **(** **)** const
  131. Return the line the editing cursor is at.
  132. .. _class_TextEdit_cursor_set_blink_enabled:
  133. - void **cursor_set_blink_enabled** **(** :ref:`bool<class_bool>` enable **)**
  134. Set the text editor caret to blink.
  135. .. _class_TextEdit_cursor_get_blink_enabled:
  136. - :ref:`bool<class_bool>` **cursor_get_blink_enabled** **(** **)** const
  137. Gets whether the text editor caret is blinking.
  138. .. _class_TextEdit_cursor_set_blink_speed:
  139. - void **cursor_set_blink_speed** **(** :ref:`float<class_float>` blink_speed **)**
  140. Set the text editor caret blink speed. Cannot be less then or equal to 0.
  141. .. _class_TextEdit_cursor_get_blink_speed:
  142. - :ref:`float<class_float>` **cursor_get_blink_speed** **(** **)** const
  143. Gets the text editor caret blink speed.
  144. .. _class_TextEdit_set_readonly:
  145. - void **set_readonly** **(** :ref:`bool<class_bool>` enable **)**
  146. Set the text editor as read-only. Text can be displayed but not edited.
  147. .. _class_TextEdit_set_wrap:
  148. - void **set_wrap** **(** :ref:`bool<class_bool>` enable **)**
  149. Enable text wrapping when it goes beyond he edge of what is visible.
  150. .. _class_TextEdit_set_max_chars:
  151. - void **set_max_chars** **(** :ref:`int<class_int>` amount **)**
  152. Set the maximum amount of characters editable.
  153. .. _class_TextEdit_cut:
  154. - void **cut** **(** **)**
  155. Cut the current selection.
  156. .. _class_TextEdit_copy:
  157. - void **copy** **(** **)**
  158. Copy the current selection.
  159. .. _class_TextEdit_paste:
  160. - void **paste** **(** **)**
  161. Paste the current selection.
  162. .. _class_TextEdit_select_all:
  163. - void **select_all** **(** **)**
  164. Select all the text.
  165. .. _class_TextEdit_select:
  166. - 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 **)**
  167. Perform selection, from line/column to line/column.
  168. .. _class_TextEdit_is_selection_active:
  169. - :ref:`bool<class_bool>` **is_selection_active** **(** **)** const
  170. Return true if the selection is active.
  171. .. _class_TextEdit_get_selection_from_line:
  172. - :ref:`int<class_int>` **get_selection_from_line** **(** **)** const
  173. Return the selection begin line.
  174. .. _class_TextEdit_get_selection_from_column:
  175. - :ref:`int<class_int>` **get_selection_from_column** **(** **)** const
  176. Return the selection begin column.
  177. .. _class_TextEdit_get_selection_to_line:
  178. - :ref:`int<class_int>` **get_selection_to_line** **(** **)** const
  179. Return the selection end line.
  180. .. _class_TextEdit_get_selection_to_column:
  181. - :ref:`int<class_int>` **get_selection_to_column** **(** **)** const
  182. Return the selection end column.
  183. .. _class_TextEdit_get_selection_text:
  184. - :ref:`String<class_string>` **get_selection_text** **(** **)** const
  185. Return the text inside the selection.
  186. .. _class_TextEdit_get_word_under_cursor:
  187. - :ref:`String<class_string>` **get_word_under_cursor** **(** **)** const
  188. .. _class_TextEdit_search:
  189. - :ref:`IntArray<class_intarray>` **search** **(** :ref:`String<class_string>` flags, :ref:`int<class_int>` from_line, :ref:`int<class_int>` from_column, :ref:`int<class_int>` to_line **)** const
  190. Perform a search inside the text. Search flags can be specified in the SEARCH\_\* enum.
  191. .. _class_TextEdit_undo:
  192. - void **undo** **(** **)**
  193. Perform undo operation.
  194. .. _class_TextEdit_redo:
  195. - void **redo** **(** **)**
  196. Perform redo operation.
  197. .. _class_TextEdit_clear_undo_history:
  198. - void **clear_undo_history** **(** **)**
  199. Clear the undo history.
  200. .. _class_TextEdit_set_syntax_coloring:
  201. - void **set_syntax_coloring** **(** :ref:`bool<class_bool>` enable **)**
  202. Set to enable the syntax coloring.
  203. .. _class_TextEdit_is_syntax_coloring_enabled:
  204. - :ref:`bool<class_bool>` **is_syntax_coloring_enabled** **(** **)** const
  205. Return true if the syntax coloring is enabled.
  206. .. _class_TextEdit_add_keyword_color:
  207. - void **add_keyword_color** **(** :ref:`String<class_string>` keyword, :ref:`Color<class_color>` color **)**
  208. Add a keyword and its color.
  209. .. _class_TextEdit_add_color_region:
  210. - void **add_color_region** **(** :ref:`String<class_string>` begin_key, :ref:`String<class_string>` end_key, :ref:`Color<class_color>` color, :ref:`bool<class_bool>` line_only=false **)**
  211. Add color region (given the delimiters) and its colors.
  212. .. _class_TextEdit_set_symbol_color:
  213. - void **set_symbol_color** **(** :ref:`Color<class_color>` color **)**
  214. Set the color for symbols.
  215. .. _class_TextEdit_set_custom_bg_color:
  216. - void **set_custom_bg_color** **(** :ref:`Color<class_color>` color **)**
  217. Set a custom background color. A background color with alpha==0 disables this.
  218. .. _class_TextEdit_clear_colors:
  219. - void **clear_colors** **(** **)**
  220. Clear all the syntax coloring information.