fractalide/fractallang — pull request #4 by dmichiels (2014-04-07 12:53:52+00:00)
Title: Wrap all actions that the handle widget understand

The handle widget of UI component catch now all the actions that it understand (all actions are possible). There is no change for "set" actions, but the "get" actions are a little different.

# Set actions
The "set" actions are all the actions that set a variable (or at least return nothing). They can be send to the actions_in as they will send to the handle. IE:
```"set(text:newName heigth:20)" -> actions_in b(ui/button)```
or
```"raise" -> actions_in td(td)```
The records are the same as the ones describe in the documentations of QTk.

# Get actions
All actions that bind variables to values are slightly modified to be practicable with FBP.
1) All the actions that get somethings have a new feature in their records : output. The value associated to the output field is the name of the new action, in fact the label of the record that represents the action.
2) All the asked variables are specified one after the other in the input action without any field. They will be bound to their value in the output action.
IE:
```"get(text width output:get1Button)" -> actions_in b(ui/button)```
the button b() will send an action : get1Button(text:theName width:20), so if we want to intercept this action :
```b() action#get1Button -> input d(display)```
That will work for all action that bind a variable, for example :
```"getCoords(1 output:getCoordsForCalc)" -> actions_in line(ui/line)```

There is a little shortcut for the get actions that only want the "1" feature (like get($) for text, getCoords($) for lines, ...). The feature "1" is automatically added if there is no other features than output. So :
```"get(output:getCoordsForCalcShortcut)" -> actions_in line()```
will output ```getCoordsForCalcShortcut([x y z w])``` for example.