app: start an infrastructure for on-canvas controllers for operations
Pass a "GimpCreateControllerFunc" to all gimppropgui-*.[ch] constructors which takes a callback (to update the config object when the on-canvas GUI) and a controller type that determines the callback's signature, and returns another callback (to update the on-canvas GUI when the config object changes). In GimpOperationTool, pass such a GimpCreateControllerFunc that handles creating and adding on-canvas controller via the new gimpfiltertool-widgets.[ch]. So far, a simple line like in the blend tool is supported. Add a custom GUI for gegl:spiral, and have its origin, radius and angle controlled by such a line.
Showing with 791 additions and 265 deletions