From: Hajo Kirchhoff (mailinglists_at_[hidden])
Date: 2004-11-15 03:05:18


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