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_W
idget >
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(SigC::manage(
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