Some notes on how we’re planning to implement this node set (to give more of an answer to @Bodysoulspirit’s question)…
We’ll be revising and expanding on the one UI widget already in Vuo 1.2,
Make Button, as we add more widgets.
Currently, you display a button by connecting
Render Layers to Window : Rendered Layers -> Make Button : Rendered Layers and
Make Button : Updated Layer -> Render Layers to Window : Layers. That will still be case (although we might rename the Rendered Layers port, since it will be carrying some additional information).
Make Button has a trigger port that fires an event when the button is pressed. That will still be the case. Other widgets, of course, will have trigger ports appropriate to the mode of interaction.
Make Button has input ports Font, Color, and Height. These will be replaced with a single Theme input port. There will be a separate node that inputs such aspects of appearance and outputs a Theme that can be connected to multiple UI widget nodes, giving them all a consistent appearance.
For each type of widget, there will be a node to specify font, colors for various states (normal, hovered, pressed), corner radius, etc., and a node to build a fully-custom theme from layers.
Make Button only handles mouse interaction. We’re looking into supporting other pointing devices, such as Leap Motion. We’d still default to mouse interaction, but provide a
Make Interaction node that can input the position and status from any other pointing device if you want to override the default.
So that’s an overview of our plans. I just want to reiterate that we’re considering all the comments on this feature request, even if I didn’t explicitly mention them.