digitalmars.D.dwt - [almostOT] Shared experience from GUI toolkit development
- eles (39/39) Jan 12 2015 No, not my experience, and not about DWT, but seems to be the
No, not my experience, and not about DWT, but seems to be the closest forum that allows posting this. From the Ultimate++ library developers: http://www.ultimatepp.org/www$uppweb$overview$en-us.html "Who owns widgets One of the things we discovered over our countless experiments with C++ GUI is the fact that the GUI toolkit should not own widget objects. GUI objects should be always owned by the client, belonging to some scope of client code (everything belongs somewhere). GUI toolkit just references them, it neither creates them nor destroys them. Each widget object can play its GUI role in some context (like being visible in some window), but at the same time it is always a stand-alone entity with its set of attributes that can be modified or queried regardless of its current GUI status. This has many serious implications. The most important is that Ultimate++ does not require widget objects to be allocated on the heap. [snip]" and "Dialog templates are C++ templates Now that we have laid down the foundations, it is time to introduce the coolest aspect of Ultimate++ GUI programming - layout templates: If you visually design a layout (usually, but not limited to, the layout of a dialog box) using TheIDE's Layout designer, this layout is in in your code reflected as a C++ template that derives from a widget-based class and declares all widgets as its member variables, and a matching function (InitLayout) that sets up the widget positions and their pre-designed attribute defaults. [snip] This approach provides radical reduction of complexity - many annoying things that seem to be necessary to identify widgets in client code (like widget IDs or names) are simply gone for good. All you have to deal with in Ultimate++ are your instance variables." The whole page is quite interesting (see: Value and Null, Display and Convert etc.) PS I also made Akismet happy: "Akismet thinks your post looks like spam. Please solve a CAPTCHA to continue."
Jan 12 2015