Thanks for the feedback, and especially thanks to James for the offer!
I think your request for POC code is very reasonable, so let me get
back to you on that when I have some (although a combobox is already
almost there, as it is basically just a menu with a changing header).
Obviously, it will take a lot of time to implement all the needed
widgets, but I don't think it will be necessary to create a complete
osgWidget fork. From what I've seen it's pretty flexible (just lacking
a lot of widgets ;). My hope is to be able to upstream most of the
My hope is to keep at least the current gui xml format, which I think
should be doable. Failing that, let's at least have the changes
I must admit I forgot to look at the nasal API, am going to take a
closer look at that shortly.
Regarding canvas, I think that that is definitively the way to go for
stuff like the map widget, but to be honest I have my doubts whether
it would be suitable for the entire gui. I must admit though, so far
I've only read the documentation on the wiki, so I haven't played
around with it yet.
Regarding librocket, that would mean adding another dependency to
FlightGear. I thought the consensus was that that is not something to
be taken lightly. And then again, it would require updating all of the
2012/7/23 Jacob Burbach <jmburbach@...>:
> On Sun, Jul 22, 2012 at 6:42 PM, HB-GRAL <flightgear@...> wrote:
>> Am 22.07.12 22:40, schrieb Thomas Geymayer:
>>> Hi Stefan,
>>> Am 2012-07-21 22:46, schrieb stefan riemens:
>>>> It's obviously a long time wish to get rid of the PLIB dependency, and
>>>> one of the main subsystems using it is the GUI. There are a couple of
>>>> things lacking in possibilities with the current implementation:
>>>> - Proper internationalisation. PUI doesn't support UTF-8, limiting
>>>> i18n support tremendously.
>>>> - Things like submenus
>>>> - The code is pretty messy, by the looks of it mostly due to the
>>>> oldness of PUI and its API
>>> Have you seen my ongoing efforts towards a unified 2D drawing system
>>> called Canvas (http://wiki.flightgear.org/Canvas). It basically allows
>>> drawing 2D shapes (with OpenVG) and text (using osgText::Text).
>>> As it uses osgText for textrendering, supporting UTF-8 is very easy. I
>>> just tried it and with changing a single line of code now also using
>>> UTF-8 is supported.
>>> Currently only drawing inside an existing (PUI) dialog is possible, but
>>> the idea is to slowly implement the current functionally in Nasal and
>>> get rid of the hardcoded PUI widgets. Only some code for mouse/keyboard
>>> interaction with Nasal will be needed.
>>> In contrary to using some hardcoded GUI system (PUI, osgWidget, etc.)
>>> this approach would give much more flexibility and also the means of
>>> modifying and creating new widgets without the need to touch any core code.
>>> With the Canvas system every type of widget would be possible, so that
>>> also things like submenus can be realized.
>>> Another advantage of the Canvas approach is that it is heavily using the
>>> property tree and therefore is already fully accessible from Nasal code
>>> and also configurable with the existing xml formats.
>>> Switching to another scripting language or adding support for a new one,
>>> I think would be far too much work and not worth the efforts.
>> I don’t know what is it worth to think about a GUI inside fgfs at all
>> sometimes. When I look to what can be done i.e. with the FGx launcher,
>> properties and now HLA/RTI I’m thinking about trying to skip the
>> built-in GUI at all ;-)
>> Cheers, Yves
>> Live Security Virtual Conference
>> Exclusive live event will cover all the ways today's security and
>> threat landscape has changed and how IT managers can respond. Discussions
>> will include endpoint security, mobile security and the latest in malware
>> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
>> Flightgear-devel mailing list
> Might be worth having a look at http://librocket.com, looks to be a
> very powerful and well done gui system. Uses html/css based files for
> creating, laying out, and styling the gui...has some support for
> interfacing script engines (ie nasal), localization, etc.
> This is the route I'd probably go personally if I were to do this...or
> any game/sim/3d project needing a gui...
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> Flightgear-devel mailing list