00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef BAKERY_CONFIGURATION_ASSOCIATION_H
00020 #define BAKERY_CONFIGURATION_ASSOCIATION_H
00021
00022 #include "bakery/Configuration/AssociationBase.h"
00023
00024 namespace Bakery
00025 {
00026 namespace Conf
00027 {
00028
00029 template< class T_Widget >
00030 class Association : public AssociationBase
00031 {
00032 public:
00033 static const AssociationPtr create(const Glib::ustring& full_key, T_Widget& widget, bool instant)
00034 {
00035 return AssociationPtr( new Association(full_key, widget, instant) );
00036 }
00037
00038 virtual ~Association()
00039 {
00040 }
00041
00046 virtual void connect_widget(Callback on_widget_changed);
00047 virtual void load_widget();
00048 virtual void save_widget();
00049
00050 protected:
00051 Association(const Glib::ustring& full_key, T_Widget& widget, bool instant)
00052 : AssociationBase(full_key,instant), m_widget(widget)
00053 {
00054 }
00055
00056 Association(const Association& other);
00057
00058 private:
00059 T_Widget& m_widget;
00060 };
00061
00062 }
00063
00064 }
00065
00066 #endif //BAKERY_CONFIGURATION_ASSOCIATION_H