
Hi John, John Torjo wrote:
BEGIN_DATA_ADAPTER(SomeSettings) PROP(m_aMember) PROP(m_struct) PROP(m_strings) END_DATA_ADAPTER()
Sure thing, but how about *true* bindings? http://www.torjo.com/win32gui/save_dlg.html
you are missing my point. I want a higher level of abstraction. win32gui is nice if you have a simple 1:1 binding for a struct - dialog scenario. But it will kill you if you have a frame window with a notebook as a client, several notebook pages with splitter windows, list boxes forms etc... I don't think I would like to do that using your 'save_dlg' setting. You need a way to break it up into small, manageable parcels. The Lit Window Library (http://www.litwindow.com/library) also lets you specify complex bindings that evaluate C++ expressions: Frame.Title = "Headline: " + myStruct.m_title The framework reevaluates Frame.Title everytime myStruct.m_title changes. The data abstraction layer requires some macros, which btw are using templates and are type save, but allows you to do more than simple 1:1 binding. I've written a new article explaining the interface. A behind the scenes look will follow shortly: http://www.litwindow.com/Library/Articles/rapidui_article_3.htm
Note that you can add correspondences directly to your data + validation code (no macros whatsoever).
While I don't like macros, I don't want to add them directly for bigger dialogues. It messes up my code. But your win32gui is interesting. Regards Hajo