As most people should know, the underlying system classes are very nearly finished, and the current task at hand is to write the individual window and widget classes. The system for doing this will be structured the same way as in the current Mk1 version – that is a base class that provides the functionality of the widget, and then multiple derived classes which provide the rendering for the widgets.
What I intend to do is finish writing the frame-window classes (that’s the frame window itself, a title-bar, and the push button classes), and then put a list of required things up here on the site so that anyone who wishes to contribute to the project can offer to write some of those parts – all contributed code will have to be written to some guidelines, and will be subject to my final approval before being included in the system.
I had intended having the frame window and related classes finished today, but over this weekend I got to messing around with the new Mandrake 10.0 Linux, and so have not actually done as much as I should on the GUI project. Mdk 10.0 is very nice though

With regards to the base classes, I have previously stated that I would not break the interface for these. Once the system is released that will hold 100%, at the moment I will change things if the system would benefit from the change. For example, I recently changed the name of some methods in the Window base class to be more consistent (in keeping with the aim to have the system easier to use, methods should have consistent naming, in this case there was setPosition() and getPos(), so all the the ‘Pos’ names have been changed to ‘Position’. I may or may not make further changes in the future.
Within a couple of weeks I hope to get the above mentioned window classes done, get the list up here on the site, and add the Ogre engine and OpenGL rendering interfaces. This will see the system well on its way to completion.