From: Aleksey Chernoraenko (archer_at_[hidden])
Date: 2004-11-19 16:28:10
I'm probably too late and what I'd like to say is too general, but maybe
somebody will find the following thoughts useful.
There are many GUI frameworks - platform-specific, platform-independent,
something in between,
but most of them (I'm afraid to say all of them :) have the same problems.
On the one hand they give a user many really good things: windowing,
controls, event handling, geometry, drag&drop support, etc...
On the other hand they are monolithic - you have to use the *whole*
framework, you cannot take and use only one subsystem.
My application is based on MapApp and I see nice implementation of
general event handlers in other framework
but I cannot use it because I cannot rewrite whole application on new
IMO, the best GUI "framework" would be a *set* of separate, specific
libraries each of which
would provide good abstractions/algorithms in some specific gui-related
** general-purpose 2d lightweight geometry and general algorithms
( boost::gui::2d::point, rect, path, ...)
** painting areas, canvases and painting algorithms
** events, propagation and handling mechanisms, (event_target, listener,
** windowing (windows, views...)
** layout algorithms (placing visual elements relatively to each other),
language to express constrains.
** widgets, controls, text engine and etc...
In other words GUI "framework" should have good separation and provide
set of useful abstractions,
algorithms which I can use separately (more or less) and bind to
platform API or some
platform-specific already existent "low-level" framework (MacApp, MFC,
QT, WxWindows... ).
I believe it's possible and I'm not the only one who wants it.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk