
On Thu, Sep 2, 2010 at 4:09 PM, Binglong Xie <binglongx@gmail.com> wrote:
For example, when different platforms are considered, GUI is very complex and debatedly harder to abstract than process, thread, file system and others.
While such matters are beyond the scope of what I would like to accomplish at this time, my general thoughts one how to build an abstract and flexible GUI is based on the iostreams in the Standard Library. Summary: - You have a class that define the function of various GUI components and can be extened or rewritten by inheritance (like std::iostream). - You have data objects that will consume user input to modify it, and produce any output for the control (like stream buffers). - You can imbue the component with an object that defines how it is drawn (like std::locale, only it is more like a single facet that than an entire locale). Before going farther, I would like to have a working design for the ground work needed for a GUI to be created.