there is much work to be done on other widgets to make much use of them - slidebar, numeric input boxes etc. Until that is done I do not see many developers using the canvas dialogue.
What we have right now in $FG_ROOT/Nasal/canvas/gui/widgets should be sufficient for most needs - and it is pretty straightforward to emulate missing widgets by using a combination of what we have already - for instance, a slider can be emulated using 3 buttons - e.g. +/- minus button and a middle button that responds to drag/drop events to adjust the value accordingly.
Equally, a combo/select widget (popup menu) is also straightforward to re-create - we actually have aircraft avionics that use popup menus. Basically, you would want to use the approach used by the tooltip.nas module: a canvas popup that is populated with a Layout and layout items (widgets).
I am not sure what else is really needed/missing - but when I prototyped the pui2canvas parser, I ended up emulating missing widgets by using a combination of existing widgets.
For instance, for any of the PUI list widgets, I merely used a Canvas ScrollArea and added a VBoxLayout with a bunch of buttons for each entry in the list - that made it possible to emulate all existing PUI list widgets (airport list, waypoint list, and even the property browser).
It's admittedly a little crude and basic, but at least it's fully functional, and I didn't have to recreate everything from scratch:
http://wiki.flightgear.org/Howto:Proces ... ng_WidgetsSpeaking in general, the widgets you mentioned should be there already, i.e. existing Canvas widgets should only need very minor changes to make them work accordingly.
However, even creating new widgets from scratch is relatively straightforward - I think Necolatis once created a few missing ones.
Most of the code lives in DefaultStyle.nas, see:
http://wiki.flightgear.org/Howto:Creati ... GUI_WidgetI guess, that given the enormous experience that the extra500 team has meanwhile using the Canvas system, they'd be in a good position to detail what exactly is missing in their opinion or share with us if/how some of the extra500 UI work could be more useful for other purposes, i.e. if it is generalized and made available as part of the core Canvas libs. This would actually be a good thing to do (or even just to discuss), Thorsten is also contemplating to make some of his shuttle helpers available as dedicated Canvas APIs:
viewtopic.php?f=71&t=33108This is how much/most of the existing library code in $FG_ROOT/Nasal came to be - mainly because Melchior Franz used to carefully review Nasal related contributions and generalize some of the more useful things to make them available without being aircraft specific.