-ui::CheckButton addCheckBox( ui::Widget vbox, const char* name, const char* flag, const BoolImportCallback& importCallback, const BoolExportCallback& exportCallback );
-ui::CheckButton addCheckBox( ui::Widget vbox, const char* name, const char* flag, bool& data );
-void addCombo( ui::Widget vbox, const char* name, StringArrayRange values, const IntImportCallback& importCallback, const IntExportCallback& exportCallback );
-void addCombo( ui::Widget vbox, const char* name, int& data, StringArrayRange values );
-void addSlider( ui::Widget vbox, const char* name, int& data, gboolean draw_value, const char* low, const char* high, double value, double lower, double upper, double step_increment, double page_increment );
-void addRadio( ui::Widget vbox, const char* name, StringArrayRange names, const IntImportCallback& importCallback, const IntExportCallback& exportCallback );
-void addRadio( ui::Widget vbox, const char* name, int& data, StringArrayRange names );
-void addRadioIcons( ui::Widget vbox, const char* name, StringArrayRange icons, const IntImportCallback& importCallback, const IntExportCallback& exportCallback );
-void addRadioIcons( ui::Widget vbox, const char* name, int& data, StringArrayRange icons );
-ui::Widget addIntEntry( ui::Widget vbox, const char* name, const IntImportCallback& importCallback, const IntExportCallback& exportCallback );
-ui::Widget addEntry( ui::Widget vbox, const char* name, int& data ){
- return addIntEntry( vbox, name, IntImportCaller( data ), IntExportCaller( data ) );
+ ui::CheckButton addCheckBox(ui::VBox vbox, const char *name, const char *flag, ImportExportCallback<bool> const &cb);
+ui::CheckButton addCheckBox( ui::VBox vbox, const char* name, const char* flag, bool& data );
+
+ void addCombo(ui::VBox vbox, const char *name, StringArrayRange values, ImportExportCallback<int> const &cb);
+void addCombo( ui::VBox vbox, const char* name, int& data, StringArrayRange values );
+void addSlider( ui::VBox vbox, const char* name, int& data, gboolean draw_value, const char* low, const char* high, double value, double lower, double upper, double step_increment, double page_increment );
+
+ void addRadio(ui::VBox vbox, const char *name, StringArrayRange names, ImportExportCallback<int> const &cb);
+void addRadio( ui::VBox vbox, const char* name, int& data, StringArrayRange names );
+
+ void addRadioIcons(ui::VBox vbox, const char *name, StringArrayRange icons, ImportExportCallback<int> const &cb);
+void addRadioIcons( ui::VBox vbox, const char* name, int& data, StringArrayRange icons );
+
+ ui::Widget addIntEntry(ui::VBox vbox, const char *name, ImportExportCallback<int> const &cb);
+ui::Widget addEntry( ui::VBox vbox, const char* name, int& data ){
+ return addIntEntry(vbox, name, mkImportExportCallback(data));