
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost- bounces@lists.boost.org] On Behalf Of Klaim Sent: 02 September 2010 00:32 To: boost@lists.boost.org Subject: Re: [boost] Thoughts for a GUI (Primitives) Library
We had a long discussion on the french community developpez.com recently about exactly this subject. Most of the participants were fighting over the fact that Qt is well enough and that working with high level C++ for GUI is not currently necessary.
In the discussion some thought were put in a library concept (that was started after the discussion but I'm not sure about it's current state) and I remember proposing some kind of design, something similar to what we see in recent boost libraries(boost::log, boost::msm) : having the lib being a meta-library with customizable front-end and back-end. I don't think it's possible to build a GUI framework that is general enough for any kind of use. But I think it's possible to provide a way to plug a input-specific-strategy and an output-specific-strategy in some kind of meta-library providing ways to define controls behaviour in a general way, with possibility to use input-strategy-implementation-specific interface if required and output-strategy-implementation specific interface f required too.
The thing that would make such a library hugely useful to organizations such as ours would be if it could be adopted incrementally by developers who already have a large GUI codebase. For example we are unfortunate enough to have to maintain a very large MFC application. We can't afford to rewrite the whole thing using something else, but if we had a nice GUI library that could use MFC as a back-end, it might be a lot easier to add new features to the GUI. The tools it could provide might include: - a way to map MFC messages to signals (if such a thing is even possible) - helper classes for auto-arranging controls in a dialog (which would of course be generic enough that you could use them to auto-arrange pretty much anything) - an action system like the one in Qt The idea would be not so much to replace MFC, Qt, wxWidgets, et al, but instead to provide a kind of unified API and helper library that supplements them. Of course even that's not an easy task... Colin Latest News at: http://www.indigovision.com/news2010.php