|
Boost : |
From: Hajo Kirchhoff (mailinglists_at_[hidden])
Date: 2004-11-02 13:51:30
Hello all,
> Considering the fact that some of the Boosters work on the GUI library,
> I would like to throw something to the mix:
I wasn't aware that some people here were into GUI work!
In that case I'd like to gauge interest in my work:
http://developers.slashdot.org/article.pl?sid=04/10/18/1118242
and the homepage at
http://www.litwindow.com/library
This is a two part library. The base part is UI independent while the
second part aims at reducing the work for UI coding.
I was about to prepare an announcement for the base part because it
might be of interest even to non-gui programming, but am jumping the gun
here. An official announcement will follow soon.
The base part contains "data adapters" and a (very) simple constraints
solver. "Data adapters" is a small, portable "reflections" or extended
runtime type information like mechanism for C++. It is a bit simpler to
use than other such mechanisms I've seen. If you've got this struct
struct SomeSettings {
int m_aMember;
SomeOtherStruct m_struct;
vector<string> m_strings;
};
the neccessary data adapter definition which you must include in a
source file looks like this
IMPLEMENT_CONTAINER_ADAPTER(vector<string>)
BEGIN_DATA_ADAPTER(SomeSettings)
PROP(m_aMember)
PROP(m_struct)
PROP(m_strings)
END_DATA_ADAPTER()
Note these things: It supports containers, you do not have to repeat any
type information and you do not have to modify the original struct
definition, which allows using foreign data definitions. To use it:
SomeSettings aVariable;
aggregate a=make_aggregate(aVariable);
cout << a["m_struct"].to_string();
container c=a["m_strings"].get_container();
// do stuff with the container
Initial documentation is
http://www.litwindow.com/lwl/doc/html/group__data__adapters__howto.html
Some code is at
and
(look for accessor_as_debug)
still under development but already somewhat mature (> 1year)
The second part of the library aims at reducing GUI coding by a factor
of 10 (if anyone has a better catch phrase, please let me know). It
introduces a generic "mediator" object, enhances widgets of an existing
UI framework and lets a programmer use rules (predicates) to code UI
dependencies.
http://www.litwindow.com/library contains several links to an overview,
FAQ and further reading.
I welcome any comments and thoughts you might have.
Best regards and thank you for your interest
Hajo Kirchhoff
--------------------------------------------
Lit Window Library - Speed up GUI coding 10x
http://www.litwindow.com/library?src=ml
wxVisualSetup - integrate wxWidgets into Visual Studio .NET
http://www.litwindow.com/Products/products.html?src=ml
BugLister - Defect Tracker
http://www.litwindow.com/buglister?src=ml
Tips & Tricks for wxWidgets & MS Visual Studio
http://www.litwindow.com/Knowhow/knowhow.html?src=ml
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk