They use DynamicType's introspection features to build a dialog for a given graphic toolkit. Qt and FLTK suported at the moment but it would be easy to extend to other toolkits by provident a new Configurator Object.
Their usage is extremely simple. For example, to show a Qt configurator dialog.
CLAM::QTConfigurator dialog; dialog.SetConfig(myDinamicType); dialog.show();
For FLTK you can achieve nearly the same by doing:
CLAM::FLTKConfigurator * configurator = new CLAM::FLTKConfigurator;
configurator->SetConfig(myDynamicType);
configurator->show();
If you want a different widget for a given type you can extend the standard Configurator and add your AddWidget/RetrieveValue overloads.
If you want a configurator that would support a given toolkit, just take the QTConfigurator or the FLTKConfigurator as an example and implement your own configurator.
Classes | |
class | CLAM::ConfigurationGetter< Configuration, Builder > |
A DynamicType attribute visitor that builds a widget for each attribute using a user interface builder. More... | |
class | CLAM::ConfigurationSetter< Configuration, Builder > |
A DynamicType attribute visitor that takes the attribute values from an a 'Builder' which implements the RetrieveValue. More... |