Layout editor improvements: Implement window/component 'event' type architecture/features for the component editor for a Future Projucer?


#1

In many GUI based IDE’s that come with their own internal model-view-controller framework for creating GUI’s in windows etc - there are typically some kind of layout editor for the look and feel and all the “events” creation and “event handling” “controller” behaviour.

Yes we have some basic facility to auto-create callbacks such as ButtonListeners - but no means of simply double-clicking on such a button - to reveal where the implementation code sits - and where such implementation “handling” code can be typed in and edited or viewed simply - right there - in the GUI layout editor. Being able to view such code - and hide all the parts of the component class not relevant to typical GUI component event handing or interaction needs would be so useful.

In JUCE of course much of this is achieved by means of listeners, abstract classes and the like - but some means of conveniently creating such objects, being able to define these things as “events” and “event handlers” for these objects - can make for much faster app development when it comes to the GUI. Wouldn’t necessarily even require any changes to the JUCE framework way of doing things - merely a graphical based way to create and edit the necessary objects, methods, “handlers” , classes etc from within the Projucer GUI editor itself.

Are there any plans to enhance Projucer to allow this ?

So for example by means of a simple context menu click - we could see all the code for handling mouse-clicks and the like. And see what kinds of “events” are available for any component ( “control” ) we are using…


#2

Your absolutely right. In fact, the whole GUI editor could definitely use some overhaul but I think there are more pressing priorities at the moment (fixing bugs!).

However, the longer I use JUCE the more I enjoy creating GUIs in the code. I now find it much easier to write good layouts in code than with the GUI editor. Have a look at Jules’ talk at last years JUCE summit for some great tricks when doing this.