From: Martijn W. van der Lee (gmane_at_[hidden])
Date: 2002-11-07 13:30:20
I've been quietly working on a framework which I think could make a nice
addition to Boost. Currently it compiles on Borland C++ 5.5.1 and GCC 2.95.3
(Dev-C++/MinGW) and seems to be stable (though the testcases are not 100%
In short it is an in-memory generic table and view framework where a "table"
class contains records similar to a database table and "view" classes
contain sorted and filtered (by means of functors) version of that table.
These views are updated dynamically so adding a record to the table will
automatically make it available in all views.
Furthermore, views can be stacked to allow multiple levels of refinement,
single records can be selected by using a "tracker" class and events can be
triggered on any change in the frameworks' classes by means of a "monitor"
The original purpose of this library was to replace Borlands' VCL mechanism
which requires data to be located inside the class handling the visual
layout, this made it extremely difficult to have multiple separate views of
the same set of data, the Ditto framework succesfully eliminated this
problem at the cost of recreating the visual components but with the benefit
of performance, memory requirements and especially code quality.
The project is published at sourceforge; http://ditto.sourceforge.net but
the site is a bit outdated and documentation is especially lacking, the
current version in CVS is stable and can be downloaded from the project page
There are currently still some minor issues with the library (mostly the
need to specify a dummy filter functor to views when no filter is required)
but with some help (hint! hint!) I believe the framework could be in a
finished state within weeks.
Martijn van der Lee
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk