Hi all!

Let me quickly introduce myself, I'm a dutch software engineering
student who has been lurking on this list for an embarrassingly long
time (think pre FG 1.0...). Anyway, I'd like to get actively involved
in FlightGear core development.

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

So, a couple of possible alternatives:
1) Suck PUI into simgear and improve it in there. I believe James
Turner suggested this a couple of months ago.
2) Switch to some other third party gui system (QT, or ceGui or
something like that)
3) Integrate a browser (getting pretty popular at other projects)
4) Switch to osgWidget

A couple of pros and cons with each of these (Warning: I'm obviously
biased: see the title of this post :):
    + This is obviously the least work short term (no need to port the
current code)
    - It means taking over PUI maintenance altogether. (not that it is
very well maintained now, but hey :)
    - Will require some serious code surgery to get it to support
UTF-8 and to generally clean it up
    + Probably a rather complete widget library
    - Means taking on yet another dependency (in most cases a rather hefty one)
    - Porting the existing code is a non-trivial undertaking
    + Getting pretty popular, primarily because of the ease of ui
creation and javascript integration
    - Doesn't fit well with FG's nasal, and the xml formats that are
already there
    - Means taking on another hefty dependency (and the question
rises: which browser? I don't know any major Linux distro shipping
berkelium, for example)
    +No extra dependency, since it is OSG native
    + Likely to get a lot of widget code into osg proper, and thus get
rid of (a large part of) the maintenance burden.
    + UTF-8 support already there
    - Porting existing code is a non-trivial undertaking (especially
since it's widget set is rather limited)

Obviously, I think the best choice of these is to switch to osgWidget,
and I'm willing to take that task upon me.
I've made a clone on Gitorious, with a osgWidget MenuBar
implementation. Its currently pretty quick and dirty, and looks
absolutely horrible, but it (mostly) works.

Before pushing further with it, I'd like to hear other devs opinions
on how to go forwards...


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

Reply via email to