I am working on a modular visual GUI designer for arduino under working title VMF (visual micro framework)
The framework code itself is nonblocking and very light - it has been refined over many projects I've had done and has besides menus also input screens for values, text strings, yes/no screens etc...
However every time I do a new project I spend most of the time on the display GUI, copy/paste, setting up all the menus etc... instead on the actual functionality and so I decided to make it much simpler.
The whole idea behind this designer is that you can design your interface graphically (menus, inputs, screens, code blocks) and their relationship in regards to triggers (buttons, encoder...), specify what display you have, add hardware and it will generate correct core code.
Since it is modular I can add more hardware and blocks later (for example keypad, RTC) etc...
So far it is currently in very pre-alpha stage. At first I am going to do it for 1602 and 2004 I2C displays (no reason to bother with non I2C I think), rotation encoder and buttons, because this is basically what I use all the time and they are dirt cheap. Then I am planning to add other things like 7 segment LED, RTC, Keypad...
Let me know what you think and if people would be interested in such tool.
Once it is in alpha/beta stage I will post a link.
For example my recent project for alarm clock would look like this:
(of course things are missing, for example I don't yet have block in my Designer for number entry, instead of going to function myTimeSet, I would actually add linked entry blocks for Time -> Minute -> Day... and then back to menu.)