class_acceptdialog.rst 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  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/4.0/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/4.0/doc/classes/AcceptDialog.xml.
  6. .. _class_AcceptDialog:
  7. AcceptDialog
  8. ============
  9. **Inherits:** :ref:`Window<class_Window>` **<** :ref:`Viewport<class_Viewport>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  10. **Inherited By:** :ref:`ConfirmationDialog<class_ConfirmationDialog>`
  11. A base dialog used for user notification.
  12. .. rst-class:: classref-introduction-group
  13. Description
  14. -----------
  15. The default use of **AcceptDialog** is to allow it to only be accepted or closed, with the same result. However, the :ref:`confirmed<class_AcceptDialog_signal_confirmed>` and :ref:`canceled<class_AcceptDialog_signal_canceled>` signals allow to make the two actions different, and the :ref:`add_button<class_AcceptDialog_method_add_button>` method allows to add custom buttons and actions.
  16. .. rst-class:: classref-reftable-group
  17. Properties
  18. ----------
  19. .. table::
  20. :widths: auto
  21. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  22. | :ref:`bool<class_bool>` | :ref:`dialog_autowrap<class_AcceptDialog_property_dialog_autowrap>` | ``false`` |
  23. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  24. | :ref:`bool<class_bool>` | :ref:`dialog_close_on_escape<class_AcceptDialog_property_dialog_close_on_escape>` | ``true`` |
  25. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  26. | :ref:`bool<class_bool>` | :ref:`dialog_hide_on_ok<class_AcceptDialog_property_dialog_hide_on_ok>` | ``true`` |
  27. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  28. | :ref:`String<class_String>` | :ref:`dialog_text<class_AcceptDialog_property_dialog_text>` | ``""`` |
  29. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  30. | :ref:`bool<class_bool>` | exclusive | ``true`` (overrides :ref:`Window<class_Window_property_exclusive>`) |
  31. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  32. | :ref:`String<class_String>` | :ref:`ok_button_text<class_AcceptDialog_property_ok_button_text>` | ``"OK"`` |
  33. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  34. | :ref:`String<class_String>` | title | ``"Alert!"`` (overrides :ref:`Window<class_Window_property_title>`) |
  35. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  36. | :ref:`bool<class_bool>` | transient | ``true`` (overrides :ref:`Window<class_Window_property_transient>`) |
  37. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  38. | :ref:`bool<class_bool>` | visible | ``false`` (overrides :ref:`Window<class_Window_property_visible>`) |
  39. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  40. | :ref:`bool<class_bool>` | wrap_controls | ``true`` (overrides :ref:`Window<class_Window_property_wrap_controls>`) |
  41. +-----------------------------+-----------------------------------------------------------------------------------+-------------------------------------------------------------------------+
  42. .. rst-class:: classref-reftable-group
  43. Methods
  44. -------
  45. .. table::
  46. :widths: auto
  47. +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`Button<class_Button>` | :ref:`add_button<class_AcceptDialog_method_add_button>` **(** :ref:`String<class_String>` text, :ref:`bool<class_bool>` right=false, :ref:`String<class_String>` action="" **)** |
  49. +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`Button<class_Button>` | :ref:`add_cancel_button<class_AcceptDialog_method_add_cancel_button>` **(** :ref:`String<class_String>` name **)** |
  51. +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`Label<class_Label>` | :ref:`get_label<class_AcceptDialog_method_get_label>` **(** **)** |
  53. +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | :ref:`Button<class_Button>` | :ref:`get_ok_button<class_AcceptDialog_method_get_ok_button>` **(** **)** |
  55. +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | void | :ref:`register_text_enter<class_AcceptDialog_method_register_text_enter>` **(** :ref:`Control<class_Control>` line_edit **)** |
  57. +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | void | :ref:`remove_button<class_AcceptDialog_method_remove_button>` **(** :ref:`Control<class_Control>` button **)** |
  59. +-----------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. .. rst-class:: classref-reftable-group
  61. Theme Properties
  62. ----------------
  63. .. table::
  64. :widths: auto
  65. +---------------------------------+---------------------------------------------------------------------------------+--------+
  66. | :ref:`int<class_int>` | :ref:`buttons_separation<class_AcceptDialog_theme_constant_buttons_separation>` | ``10`` |
  67. +---------------------------------+---------------------------------------------------------------------------------+--------+
  68. | :ref:`StyleBox<class_StyleBox>` | :ref:`panel<class_AcceptDialog_theme_style_panel>` | |
  69. +---------------------------------+---------------------------------------------------------------------------------+--------+
  70. .. rst-class:: classref-section-separator
  71. ----
  72. .. rst-class:: classref-descriptions-group
  73. Signals
  74. -------
  75. .. _class_AcceptDialog_signal_canceled:
  76. .. rst-class:: classref-signal
  77. **canceled** **(** **)**
  78. Emitted when the dialog is closed or the button created with :ref:`add_cancel_button<class_AcceptDialog_method_add_cancel_button>` is pressed.
  79. .. rst-class:: classref-item-separator
  80. ----
  81. .. _class_AcceptDialog_signal_confirmed:
  82. .. rst-class:: classref-signal
  83. **confirmed** **(** **)**
  84. Emitted when the dialog is accepted, i.e. the OK button is pressed.
  85. .. rst-class:: classref-item-separator
  86. ----
  87. .. _class_AcceptDialog_signal_custom_action:
  88. .. rst-class:: classref-signal
  89. **custom_action** **(** :ref:`StringName<class_StringName>` action **)**
  90. Emitted when a custom button is pressed. See :ref:`add_button<class_AcceptDialog_method_add_button>`.
  91. .. rst-class:: classref-section-separator
  92. ----
  93. .. rst-class:: classref-descriptions-group
  94. Property Descriptions
  95. ---------------------
  96. .. _class_AcceptDialog_property_dialog_autowrap:
  97. .. rst-class:: classref-property
  98. :ref:`bool<class_bool>` **dialog_autowrap** = ``false``
  99. .. rst-class:: classref-property-setget
  100. - void **set_autowrap** **(** :ref:`bool<class_bool>` value **)**
  101. - :ref:`bool<class_bool>` **has_autowrap** **(** **)**
  102. Sets autowrapping for the text in the dialog.
  103. .. rst-class:: classref-item-separator
  104. ----
  105. .. _class_AcceptDialog_property_dialog_close_on_escape:
  106. .. rst-class:: classref-property
  107. :ref:`bool<class_bool>` **dialog_close_on_escape** = ``true``
  108. .. rst-class:: classref-property-setget
  109. - void **set_close_on_escape** **(** :ref:`bool<class_bool>` value **)**
  110. - :ref:`bool<class_bool>` **get_close_on_escape** **(** **)**
  111. If ``true``, the dialog will be hidden when the escape key (:ref:`@GlobalScope.KEY_ESCAPE<class_@GlobalScope_constant_KEY_ESCAPE>`) is pressed.
  112. .. rst-class:: classref-item-separator
  113. ----
  114. .. _class_AcceptDialog_property_dialog_hide_on_ok:
  115. .. rst-class:: classref-property
  116. :ref:`bool<class_bool>` **dialog_hide_on_ok** = ``true``
  117. .. rst-class:: classref-property-setget
  118. - void **set_hide_on_ok** **(** :ref:`bool<class_bool>` value **)**
  119. - :ref:`bool<class_bool>` **get_hide_on_ok** **(** **)**
  120. If ``true``, the dialog is hidden when the OK button is pressed. You can set it to ``false`` if you want to do e.g. input validation when receiving the :ref:`confirmed<class_AcceptDialog_signal_confirmed>` signal, and handle hiding the dialog in your own logic.
  121. \ **Note:** Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example :ref:`FileDialog<class_FileDialog>` defaults to ``false``, and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such, this property can't be used in :ref:`FileDialog<class_FileDialog>` to disable hiding the dialog when pressing OK.
  122. .. rst-class:: classref-item-separator
  123. ----
  124. .. _class_AcceptDialog_property_dialog_text:
  125. .. rst-class:: classref-property
  126. :ref:`String<class_String>` **dialog_text** = ``""``
  127. .. rst-class:: classref-property-setget
  128. - void **set_text** **(** :ref:`String<class_String>` value **)**
  129. - :ref:`String<class_String>` **get_text** **(** **)**
  130. The text displayed by the dialog.
  131. .. rst-class:: classref-item-separator
  132. ----
  133. .. _class_AcceptDialog_property_ok_button_text:
  134. .. rst-class:: classref-property
  135. :ref:`String<class_String>` **ok_button_text** = ``"OK"``
  136. .. rst-class:: classref-property-setget
  137. - void **set_ok_button_text** **(** :ref:`String<class_String>` value **)**
  138. - :ref:`String<class_String>` **get_ok_button_text** **(** **)**
  139. The text displayed by the OK button (see :ref:`get_ok_button<class_AcceptDialog_method_get_ok_button>`).
  140. .. rst-class:: classref-section-separator
  141. ----
  142. .. rst-class:: classref-descriptions-group
  143. Method Descriptions
  144. -------------------
  145. .. _class_AcceptDialog_method_add_button:
  146. .. rst-class:: classref-method
  147. :ref:`Button<class_Button>` **add_button** **(** :ref:`String<class_String>` text, :ref:`bool<class_bool>` right=false, :ref:`String<class_String>` action="" **)**
  148. Adds a button with label ``text`` and a custom ``action`` to the dialog and returns the created button. ``action`` will be passed to the :ref:`custom_action<class_AcceptDialog_signal_custom_action>` signal when pressed.
  149. If ``true``, ``right`` will place the button to the right of any sibling buttons.
  150. You can use :ref:`remove_button<class_AcceptDialog_method_remove_button>` method to remove a button created with this method from the dialog.
  151. .. rst-class:: classref-item-separator
  152. ----
  153. .. _class_AcceptDialog_method_add_cancel_button:
  154. .. rst-class:: classref-method
  155. :ref:`Button<class_Button>` **add_cancel_button** **(** :ref:`String<class_String>` name **)**
  156. Adds a button with label ``name`` and a cancel action to the dialog and returns the created button.
  157. You can use :ref:`remove_button<class_AcceptDialog_method_remove_button>` method to remove a button created with this method from the dialog.
  158. .. rst-class:: classref-item-separator
  159. ----
  160. .. _class_AcceptDialog_method_get_label:
  161. .. rst-class:: classref-method
  162. :ref:`Label<class_Label>` **get_label** **(** **)**
  163. Returns the label used for built-in text.
  164. \ **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:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
  165. .. rst-class:: classref-item-separator
  166. ----
  167. .. _class_AcceptDialog_method_get_ok_button:
  168. .. rst-class:: classref-method
  169. :ref:`Button<class_Button>` **get_ok_button** **(** **)**
  170. Returns the OK :ref:`Button<class_Button>` instance.
  171. \ **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:`CanvasItem.visible<class_CanvasItem_property_visible>` property.
  172. .. rst-class:: classref-item-separator
  173. ----
  174. .. _class_AcceptDialog_method_register_text_enter:
  175. .. rst-class:: classref-method
  176. void **register_text_enter** **(** :ref:`Control<class_Control>` line_edit **)**
  177. Registers a :ref:`LineEdit<class_LineEdit>` in the dialog. When the enter key is pressed, the dialog will be accepted.
  178. .. rst-class:: classref-item-separator
  179. ----
  180. .. _class_AcceptDialog_method_remove_button:
  181. .. rst-class:: classref-method
  182. void **remove_button** **(** :ref:`Control<class_Control>` button **)**
  183. Removes the ``button`` from the dialog. Does NOT free the ``button``. The ``button`` must be a :ref:`Button<class_Button>` added with :ref:`add_button<class_AcceptDialog_method_add_button>` or :ref:`add_cancel_button<class_AcceptDialog_method_add_cancel_button>` method. After removal, pressing the ``button`` will no longer emit this dialog's :ref:`custom_action<class_AcceptDialog_signal_custom_action>` or :ref:`canceled<class_AcceptDialog_signal_canceled>` signals.
  184. .. rst-class:: classref-section-separator
  185. ----
  186. .. rst-class:: classref-descriptions-group
  187. Theme Property Descriptions
  188. ---------------------------
  189. .. _class_AcceptDialog_theme_constant_buttons_separation:
  190. .. rst-class:: classref-themeproperty
  191. :ref:`int<class_int>` **buttons_separation** = ``10``
  192. The size of the vertical space between the dialog's content and the button row.
  193. .. rst-class:: classref-item-separator
  194. ----
  195. .. _class_AcceptDialog_theme_style_panel:
  196. .. rst-class:: classref-themeproperty
  197. :ref:`StyleBox<class_StyleBox>` **panel**
  198. The panel that fills the background of the window.
  199. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  200. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  201. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  202. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  203. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  204. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`