Dynamic Types Configurators: AutoGenerated GUI Dialogs for editing DT's
[Graphical Interface]

Configurators quickly builds GUI dialogs to modify a given DynamicType object. More...

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...

Detailed Description

Configurators quickly builds GUI dialogs to modify a given DynamicType object.

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();

Extending to other toolkits or attribute types.

A given configurator overloads the AddWidget and RetrieveValue for every type it wants to deal diferently. ConfigurationGetter and ConfigurationSetter classes are visitors that calls those methods for every attribute on the DynamicType.

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.

Generated by  doxygen 1.6.3