Files
godot-docs-l10n/classes/es/class_undoredo.rst
Rémi Verschelde cf78697eea Add localized class reference as pre-generated RST files
Currently including `zh_CN` and `es` which both have very high completion
ratios. Others will be added once they reach a significant percentage too.

These RST files will be used by godot-docs in place of its `classes` folder
after we sync with https://github.com/godotengine/godot-docs/pull/5458.

The update workflow is manual for now (example for `zh_CN`):

- Build `godotengine/godot` in the branch we currently track (now `3.x`)
- Run `godot --doctool -l zh_CN`
- Run `cd doc && make rst LANGARG=zh_CN`
- Copy `doc/_build/rst/*` to `classes/zh_CN/` here
- Make sure to have `classes/zh_CN/index.rst` copied from `docs/classes`
2021-12-21 16:07:55 +01:00

251 lines
15 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the UndoRedo.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_UndoRedo:
UndoRedo
========
**Inherits:** :ref:`Object<class_Object>`
Ayudante para gestionar las operaciones de deshacer/rehacer en el editor o las herramientas personalizadas.
Descripción
----------------------
Ayudante para gestionar las operaciones de deshacer/rehacer en el editor o las herramientas personalizadas. Funciona registrando métodos y cambios de propiedades dentro de las "acciones".
El comportamiento común es crear una acción, luego agregar llamadas de hacer/deshacer a las funciones o cambios de propiedades, y luego confirmar la acción.
Aquí hay un ejemplo de cómo añadir una acción al propio editor de Godot ``UndoRedo``, desde un plugin:
::
var undo_redo = get_undo_redo() # Método de EditorPlugin.
func do_something():
pass # Ponga su código aquí.
func undo_something():
pass # Ponga aquí el código que revierte lo que se hace con "do_something()".
func _on_MyButton_pressed():
var node = get_node("MiNodo2D")
undo_redo.create_action("Mover el nodo")
undo_redo.add_do_method(self, "do_something")
undo_redo.add_undo_method(self, "undo_something")
undo_redo.add_do_property(node, "position", Vector2(100,100))
undo_redo.add_undo_property(node, "position", node.position)
undo_redo.commit_action()
\ :ref:`create_action<class_UndoRedo_method_create_action>`, :ref:`add_do_method<class_UndoRedo_method_add_do_method>`, :ref:`add_undo_method<class_UndoRedo_method_add_undo_method>`, :ref:`add_do_property<class_UndoRedo_method_add_do_property>`, :ref:`add_undo_property<class_UndoRedo_method_add_undo_property>`, y :ref:`commit_action<class_UndoRedo_method_commit_action>` deberían ser llamados uno tras otro, como en el ejemplo. Si no se hace así, se pueden producir caídas.
Si no necesitas registrar un método, puedes dejar fuera :ref:`add_do_method<class_UndoRedo_method_add_do_method>` y :ref:`add_undo_method<class_UndoRedo_method_add_undo_method>`; lo mismo vale para las propiedades. También puedes registrar más de un método/propiedad.
Métodos
--------------
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_do_method<class_UndoRedo_method_add_do_method>` **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` method, ... **)** |vararg| |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_do_property<class_UndoRedo_method_add_do_property>` **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_do_reference<class_UndoRedo_method_add_do_reference>` **(** :ref:`Object<class_Object>` object **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_undo_method<class_UndoRedo_method_add_undo_method>` **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` method, ... **)** |vararg| |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_undo_property<class_UndoRedo_method_add_undo_property>` **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`add_undo_reference<class_UndoRedo_method_add_undo_reference>` **(** :ref:`Object<class_Object>` object **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_history<class_UndoRedo_method_clear_history>` **(** :ref:`bool<class_bool>` increase_version=true **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`commit_action<class_UndoRedo_method_commit_action>` **(** **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`create_action<class_UndoRedo_method_create_action>` **(** :ref:`String<class_String>` name, :ref:`MergeMode<enum_UndoRedo_MergeMode>` merge_mode=0 **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_current_action_name<class_UndoRedo_method_get_current_action_name>` **(** **)** |const| |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_version<class_UndoRedo_method_get_version>` **(** **)** |const| |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_redo<class_UndoRedo_method_has_redo>` **(** **)** |const| |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_undo<class_UndoRedo_method_has_undo>` **(** **)** |const| |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_commiting_action<class_UndoRedo_method_is_commiting_action>` **(** **)** |const| |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`redo<class_UndoRedo_method_redo>` **(** **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`undo<class_UndoRedo_method_undo>` **(** **)** |
+-----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Señales
--------------
.. _class_UndoRedo_signal_version_changed:
- **version_changed** **(** **)**
Llamado cuando :ref:`undo<class_UndoRedo_method_undo>` o :ref:`redo<class_UndoRedo_method_redo>` fue llamado.
Enumeraciones
--------------------------
.. _enum_UndoRedo_MergeMode:
.. _class_UndoRedo_constant_MERGE_DISABLE:
.. _class_UndoRedo_constant_MERGE_ENDS:
.. _class_UndoRedo_constant_MERGE_ALL:
enum **MergeMode**:
- **MERGE_DISABLE** = **0** --- Hace que las operaciones de "hacer"/"deshacer" se mantengan en acciones separadas.
- **MERGE_ENDS** = **1** --- Hace que la operación "hacer" de la acción sea de la primera acción creada y la operación "deshacer" sea de la última acción posterior con el mismo nombre.
- **MERGE_ALL** = **2** --- Hace que las acciones subsiguientes con el mismo nombre se fusionen en una sola.
Descripciones de Métodos
------------------------------------------------
.. _class_UndoRedo_method_add_do_method:
- void **add_do_method** **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` method, ... **)** |vararg|
Registrar un método que será llamado cuando se cometa la acción.
----
.. _class_UndoRedo_method_add_do_property:
- void **add_do_property** **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value **)**
Registrar un cambio de valor de la propiedad para "hacer".
----
.. _class_UndoRedo_method_add_do_reference:
- void **add_do_reference** **(** :ref:`Object<class_Object>` object **)**
Registra una referencia para "hacer" que se borrará si se pierde la historia de "hacer". Esto es útil sobre todo para los nuevos nodos creados para la llamada "hacer". No lo utilice para los recursos.
----
.. _class_UndoRedo_method_add_undo_method:
- void **add_undo_method** **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` method, ... **)** |vararg|
Registra un método que se llamará cuando se deshaga la acción.
----
.. _class_UndoRedo_method_add_undo_property:
- void **add_undo_property** **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value **)**
Registrar un cambio en el valor de la propiedad para "deshacer".
----
.. _class_UndoRedo_method_add_undo_reference:
- void **add_undo_reference** **(** :ref:`Object<class_Object>` object **)**
Registra una referencia para "deshacer" que se borrará si se pierde la historia de "deshacer". Esto es útil sobre todo para los nodos eliminados con la llamada "hacer" (¡no la llamada "deshacer"!).
----
.. _class_UndoRedo_method_clear_history:
- void **clear_history** **(** :ref:`bool<class_bool>` increase_version=true **)**
Borra el historial de deshacer/rehacer y las referencias asociadas.
Pasar ``false`` a ``increase_version`` evitará que el número de versión se incremente a partir de esto.
----
.. _class_UndoRedo_method_commit_action:
- void **commit_action** **(** **)**
Comete la acción. Todos los métodos/propiedades "hacer" son llamados/fijados cuando se llama a esta función.
----
.. _class_UndoRedo_method_create_action:
- void **create_action** **(** :ref:`String<class_String>` name, :ref:`MergeMode<enum_UndoRedo_MergeMode>` merge_mode=0 **)**
Crear una nueva acción. Después de que esto sea llamado, haz todas tus llamadas a :ref:`add_do_method<class_UndoRedo_method_add_do_method>`, :ref:`add_undo_method<class_UndoRedo_method_add_undo_method>`, :ref:`add_do_property<class_UndoRedo_method_add_do_property>`, y :ref:`add_undo_property<class_UndoRedo_method_add_undo_property>`, y luego confirma la acción con :ref:`commit_action<class_UndoRedo_method_commit_action>`.
La forma en que se fusionan las acciones está dictada por el argumento ``merge_mode``. Ver :ref:`MergeMode<enum_UndoRedo_MergeMode>` para más detalles.
----
.. _class_UndoRedo_method_get_current_action_name:
- :ref:`String<class_String>` **get_current_action_name** **(** **)** |const|
Obtiene el nombre de la acción actual.
----
.. _class_UndoRedo_method_get_version:
- :ref:`int<class_int>` **get_version** **(** **)** |const|
Consigue la versión. Cada vez que se comete una nueva acción, el número de versión de ``UndoRedo``\ s se incrementa automáticamente.
Esto es útil sobre todo para comprobar si algo cambió de una versión guardada.
----
.. _class_UndoRedo_method_has_redo:
- :ref:`bool<class_bool>` **has_redo** **(** **)** |const|
Devuelve ``true`` si una acción de "redo" está disponible.
----
.. _class_UndoRedo_method_has_undo:
- :ref:`bool<class_bool>` **has_undo** **(** **)** |const|
Devuelve ``true`` si se dispone de una acción de "deshacer".
----
.. _class_UndoRedo_method_is_commiting_action:
- :ref:`bool<class_bool>` **is_commiting_action** **(** **)** |const|
Devuelve ``true`` si el ``UndoRedo`` está actualmente cometiendo la acción, es decir, ejecutando su método "hacer" o cambio de propiedad (ver :ref:`commit_action<class_UndoRedo_method_commit_action>`).
----
.. _class_UndoRedo_method_redo:
- :ref:`bool<class_bool>` **redo** **(** **)**
Rehacer la última acción.
----
.. _class_UndoRedo_method_undo:
- :ref:`bool<class_bool>` **undo** **(** **)**
Deshace la última acción.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`