
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