|
Boost : |
From: Reece Dunn (msclrhd_at_[hidden])
Date: 2004-08-17 17:18:39
I am currently designing a GUI framework in C++ (initially targeting the
Windows platform) that uses a model similar to that which Java uses in it's
AWT and Swing libraries. Specifically:
[1] Being able to use constructors to create the windows/components. This
means there is no need to explicitly call a Create method like in the MFC
framework.
[2] The use of layout managers. I like the various layout managers in Java
and how easy it is to construct complex GUI interfaces.
[3] The support for events via "listeners". This will most likely be geared
towards key/mouse events and "action" events (e.g. when the user presses on
a button).
[4] Support for windowed and windowless components. Windowed components will
use the native controls where possible, allowing a natural look and feel.
Windowless controls will be lightweight components that do not use a native
component (a Window handle on the Windows platform); these will be useful
for writing the layout managers.
At the moment, I have a basic working version that allows you to write the
following:
int PASCAL WinMain( HINSTANCE, HINSTANCE, LPSTR, int sw )
{
swing::JFrame frame( L"Swing JFrame!" );
frame.setPane( new swing::JPanel());
frame.setSize( 500, 500 );
frame.show( sw );
MessageLoop msg;
return( msg.Execute());
}
This creates two windows: the main frame and a panel that is a child of that
frame. The JFrame is created in the constructor, but is not displayed until
show is called. Likewise, the JPanel is created inside its constructor and
the JFrame.setPane method makes that window a child of the frame.
I would appreciate comments and ideas as to what people would like out of a
GUI framework, especially one that will be multi-platform.
Regards,
Reece
_________________________________________________________________
It's fast, it's easy and it's free. Get MSN Messenger today!
http://www.msn.co.uk/messenger
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk