Thread safe GUI/ MFC like Approach

Jay Norwood jayn at io.com
Sun Jan 6 14:07:03 PST 2008


BLS Wrote:

> 
> True. But D is the language of choice, so QT is not available and wxD 
> lacks of too many features. What I meant is that the GUI I have in mind 
> will allready have about 25.000 LOC. (based on the original C++ lib)
> So creating a platform independent GUI from the scratch is not doable 
> for me.

I'm very familiar with the fox toolkit, having used it for Solaris ports of some commercial tools.  I also looked into tnfox for a later project because of its expanded framework support for a number of cross-platform issues that weren't handled by fox.  The tnfox objective seems to have been to duplicate all the functionality of qt, and provide it for free.  The main blocking issue for me was the build issues for tnfox since, at the time I wasn't familiar with scons and python.  Tnfox was also missing the port of the basic fox toolkit examples at that time, and I ported, tested these on windows and linux, and contributed the sources back to Niall at tnfox in 2006.  

I also sent a fix for a multiicore refresh issue to Niall and to Jeroen at fox in 2006.  The windows refresh is fixed, but there was a simiilar symptom on the tnfox linux gui which we couldn't resolve at the time.   I was seeing it on a 4 core opteron, but Niall couldn't duplicate it on a dual core system.

One other issue about the tnfox code vs fox is that tnfox includes a lot of use of templates, while in fox tools there is almost none, and the tnfox build notes have warnings that several popular compilers, including the mars c++ compiler, couldn't build it correctly.  

Both fox and tnfox are very clearly written.  I don't believe either rely on multiple inheritance.  I believe both can be built without supporting library requirements, although both do optionally use other libraries for graphices and compression.

There is a java swt port built on top of fox tools, so perhaps a port of dwt on top of a port of fox or tnfox would provide what you want in a gui.  I'd like to see dwt on top of a tnfox  port because of the added  qt type framework.  

http://swtfox.sourceforge.net/

http://www.fox-toolkit.org/fox.html

http://www.nedprod.com/TnFOX/




More information about the Digitalmars-d mailing list