{{indexmenu_n>4}}
====== Botones ======
\\
Para la creación de botones, con lo que se podrán ejecutar acciones. El prop para definir un botón se realiza con el atributo **type="B"**.
La creación de un botón, consta de dos partes: por un lado la propiedad que define sus atributos visuales, y por otro un nodo donde estarán todas y cada una de las acciones a realizar.
\\
Aquí se muestra el nodo **button**. Además de los atributos que deciden si es visible, el título a mostrar en pantalla o en que group se muestra, tenemos el atributo **method**, que es un atributo bastante importante, ya que es el lugar donde se realiza la llamada al nodo que ejecuta las acciones del botón. \\
El nodo **method name="[[wiki:2.-desarrollo-app:2.3.-entender_un_mapping:b.-controles_xone:202.06.-botones:ExecuteNode]]"**, es un nodo de sistema, y ya está DEPRECATED (obsoleto) en todos los Framework. Actualmente solo en el Framework de PC es obligatorio. Solo se pone una vez en la colección que tenga botones, y siempre es igual.
Y por último, el nodo en el que se pone el código que se va a ejecutar. El nombre es definido por el usuario, y como único requisito, es que el nombre del nodo tiene que llamarse igual (mayúsculas-minúsculas) que el nodo al que llama el nodo button en su atributo method. En el ejemplo, se muestran acciones realizadas en código Script, pero se podían haber puesto nodos **action**.
====Ejemplo de Código====
===== Atributos =====
==== method="ExecuteNode (nombre nodo)" ====
Atributo que llama al nodo que ejecutará las instrucciones correspondientes.
A este método se le pueden pasar parámetros, de forma que varios botones puedan llamar a un mismo código con ligeras variaciones...
==== title="nombre" ====
Nombre del botón.
==== postonchange="refresh" ====
El postonchange es un atributo que se especifica para que sea ejecutado cuando se vuelve al flujo normal de la aplicación después de un pushvalue, para que se ejecute algún nodo o para que se refresquen las propiedades por si alguna ha sido modificada durante el pushvalue.
**Ejemplo de Código:**
En el nodo se lanza un pushvalue y al volver del pushvalue se ejecutaría el postonchange="[[wiki:2.-desarrollo-app:2.3.-entender_un_mapping:b.-controles_xone:202.06.-botones:ExecuteNode]](postaceptar)" o bien hacer un postochange="refresh" para que refresque las propiedades si alguna hubiese cambiado su valor durante el pushvalue.
Si se hace un pushvalue desde un before-edit el postonchange hay que ponerlo en el propio nodo.
-------
-------