{{indexmenu_n>4}}
====== Buttons ======
\\
It is for the creation of buttons, which actions can be executed with. The prop to define a button is made with the **type="B"** attribute.\\
\\
The creation of a button has two parts: on the one hand, the property that defines its visual attributes, and on the other, a node where will be each one of the actions to be made. \\
\\
Here, the **button** node is shown. Besides the attributes that decice if it is visible, the title to be shown on screen or in which group it is shown, we have the **method** attribute, that is a very important attribute, since it is the place where we make the call to the node that executes the button actions. \\
\\
\\
The**method name="ExecuteNode"** node, is a system node, y it is already DEPRECATED in all the Framework. Currently only it is mandatory in the PC Framework. Only it is put once in the collection that has buttons and it is always the same. \\
\\
\\
And finally, the node where the code that is going to be executed is put. The name is defined by the user, and as only requirement is that the node name has to be the same (upper-case and lower-case) than the node to which the button node calls in its method attribute. At the example, are shown some actions made with Script code, but we could have put **action** nodes instead.\\
\\
====Example of Code====
\\
===== Attributes =====
==== method="ExecuteNode (nodo name)" ====
\\
Attribute that calls to the node which will execute the corresponding instructions. \\
\\
This method can be passed parameters, in such way that several buttons can call to a same code with slight variations...\\
\\
==== title="name" ====
\\
Button name.
==== postonchange="refresh" ====
\\
The postonchange is an attribute specified to be executed when we return to the normal flow of the application after a pushvalue, in order some node is executed or to refresh the properties in case any has been modified during the pushvalue.\\
\\
**Example of Code:**
\\
\\
At the node a pushvalue is launched, and when returning from the pushvalue the postonchange="ExecuteNode(postaceptar)" would be executed or making a postochange="refresh" to refresh the properties in the event any of them had changed value during the pushvalue.\\
\\
If a pushvalue is done from a before-edit, the postonchange has to be put in the node itself. \\
\\
-------
-------