Another question:
To manageing events like rollover, rollour, etc I test if the mouse is in
or not in the widget...but I see that if I create more than one window, the
events will be managed also for the widgets hidden by other windows
an easy way to handle this is to render the widgets in reverse order.
(or you could pass events to widgets in reverse order). if you are just
drawing a list of widgets, the ones at the end of the list are drawn "on
top" of everything else. so reversing one of these will make them both
appear to sync up better.