Public Member Functions |
| Client (const Glib::ustring &configuration_directory) |
virtual | ~Client () |
virtual void | load (std::auto_ptr< Glib::Error > &error) |
virtual void | save (std::auto_ptr< Glib::Error > &error) |
virtual void | add (const Glib::ustring &key, Gtk::Widget &widget) |
| e.g. conf_client.add("user_name", m_EntryUserName);
|
virtual void | add_instant (const Glib::ustring &key, Gtk::Widget &widget) |
Protected Types |
typedef
Bakery::Conf::AssociationBase::AssociationPtr | AssociationPtr |
Protected Member Functions |
virtual void | add_implementation (const Glib::ustring &key, Gtk::Widget &widget, bool instant) |
| Override this method to add recognition of additional widget types to a derived class of Client.
|
template<class T_Widget > |
void | add_association (const Glib::ustring &key, T_Widget &widget, bool instant) |
Configuration Client Allows you to associate widget "values" with configuration keys, and then load() and save() them all at once.
The "value" depends on the widget: Gtk::Entry - text (gconf string). Gtk::CheckButton, Gtk::RadioButton - active (gconf bool). Gtk::Range (e.g. scales and scrollbars) - position (gconf float). Gtk::SpinButton - value (gconf float). Gtk::Combo - text (gconf string). Gtk::OptionMenu - item number (gconf int); ideally we would prefer to use a string representation, but that's not realistic.
Advantages compared to Gnome::Conf::Client:
- Avoids repetition of key names.
- Avoids repetition of the directory name.
- Avoids manual code to get and set widget values.
- Avoids 2 sets of very similar code, for load and save.
- No need for Glib::RefPtr<>
- Can do instant apply and instant update with add_instant()..