fractalide/fractalide — pull request #44 by dmichiels (2014-05-12 12:23:12+00:00)
Title: single procedure and QTk cards rewrite

# Single procedure
fix #43
fix #28
fix the synchronous nature of the components

The components have now a single procedure for the execution. There is no more port procedures or independent procedures.
The components are declared :
```
component(inPorts(input)
outPorts(output)
procedure(proc{$ Ins Out Comp} ... end)
)
```
The argument Ins is a record containing all the buffers of the input ports. The feature is the name of the port, the value is the buffer. A array input port is represented as a sub-record.
So in the example, Ins = inBuffers(input:). If there is an array port, that can look like Ins = inBuffers(input: arrayIn:buffers(1: 2:)).

The Out and Comp arguments are the same as before.

# QTk cards
The QTk cards have only one flow of actions. So the ports ui_in, ui_out dispear. The other ones are renamed in, out and action. The creation of a widget is made with the "create" event.
All examples in testWidget and testCanvas

# The editor
The editor is compatible with these new changes