Clear Distinction Between GUI and Functions

The GUI is just an addition to the actual toolbox functions. Although some users may exclusively use the GUI, it is important to separate GUI and functions.

To some extent it is a matter of taste which interface a user prefers, command line or GUI. If it comes to the internal design of the toolbox, it is not a matter of taste any more, but a strict requirement to fully separate function and (graphical) interface.

To give just a few important reasons for separating (graphical) interface and function:

Developers' corner

Taking together the reasons for separating (graphical) interface and function as layed out above leads to a set of rules for interface design:

To be continued…

1)
This is true regardless how simple that function may appear to be at the beginning. You never know how complex that function may become in the further development.
2)
Whereas a working “undo” functionality is still in the far future, the toolbox tries to take it into account from the very beginning, thus making the later implementation of such function easier.
3)
That could well mean that besides the GUI, one would like to write separate CLI functions for the actual routines as well.