8 struct IPhWidgetsProperty
10 template<
class ReturnT,
class W
idgetClassT,
class ArgumentT, ArgumentT ArgumentID>
11 inline ReturnT getArgument()
const
13 return static_cast<const WidgetClassT*
>(
this)->resource.argument[ArgumentID].get();
16 template<
class ValueT,
class W
idgetClassT,
class ArgumentT, ArgumentT ArgumentID>
17 inline void setArgument(ValueT val)
19 static_cast<const WidgetClassT*
>(
this)->resource.argument[ArgumentID].set(val);
23 template<
class ValueT = void,
24 const cppproperties::detail::property_flag::e_property_flag Flag = (
const cppproperties::detail::property_flag::e_property_flag)(cppproperties::detail::flag_chooser<ValueT>::flag)>
29 class phproperty<void, cppproperties::detail::property_flag::ro> :
30 public cppproperties::detail::property_flag
33 typedef cppproperties::detail::property_flag flags;
37 class phproperty<void, cppproperties::detail::property_flag::wo> :
38 public cppproperties::detail::property_flag
41 typedef cppproperties::detail::property_flag flags;
45 class phproperty<void, cppproperties::detail::property_flag::rw> :
46 public cppproperties::detail::property_flag
49 typedef cppproperties::detail::property_flag flags;
53 template<
typename ValueT>
54 class phproperty<ValueT, cppproperties::detail::property_flag::ro>
56 typedef cppproperties::property<ValueT, cppproperties::detail::property_flag::ro> cpp_property_t;
58 template<class WidgetClassT, typename cppproperties::detail::property_info<ValueT, WidgetClassT>::getter_t Getter>
59 struct bind_internal :
60 public cpp_property_t::template bind<WidgetClassT, Getter>
62 explicit bind_internal(WidgetClassT *parent) :
63 cpp_property_t::template bind<WidgetClassT, Getter>(parent)
67 inline bind_internal &operator=(ValueT
const &);
68 inline bind_internal &operator=(bind_internal
const &);
72 template<
class W
idgetClassT,
class ArgumentT, ArgumentT ArgumentID>
76 &IPhWidgetsProperty::getArgument<ValueT, WidgetClassT, ArgumentT, ArgumentID>
79 typedef bind_internal<
81 &IPhWidgetsProperty::getArgument<ValueT, WidgetClassT, ArgumentT, ArgumentID>
85 explicit bind(WidgetClassT *parent) :
90 inline bind &operator=(ValueT
const &);
91 inline bind &operator=(bind
const &);
97 template<
typename ValueT>
98 class phproperty<ValueT, cppproperties::detail::property_flag::rw>
100 typedef cppproperties::property<ValueT, cppproperties::detail::property_flag::rw> cpp_property_t;
102 template<class WidgetClassT, typename cppproperties::detail::property_info<ValueT, WidgetClassT>::getter_t Getter,
typename cppproperties::detail::property_info<ValueT, WidgetClassT>::setter_t Setter>
103 struct bind_internal :
104 public cpp_property_t::template bind<WidgetClassT, Getter, Setter>
106 explicit bind_internal(WidgetClassT *parent) :
107 cpp_property_t::template bind<WidgetClassT, Getter, Setter>(parent)
110 using cpp_property_t::template bind<WidgetClassT, Getter, Setter>::operator=;
115 template<
class W
idgetClassT,
class ArgumentT, ArgumentT ArgumentID>
117 public bind_internal<
119 &IPhWidgetsProperty::getArgument<ValueT, WidgetClassT, ArgumentT, ArgumentID>,
120 &IPhWidgetsProperty::setArgument<ValueT, WidgetClassT, ArgumentT, ArgumentID>
123 typedef bind_internal<
125 &IPhWidgetsProperty::getArgument<ValueT, WidgetClassT, ArgumentT, ArgumentID>,
126 &IPhWidgetsProperty::setArgument<ValueT, WidgetClassT, ArgumentT, ArgumentID>
130 explicit bind(WidgetClassT *parent) :
134 using cpp_bind_t::operator=;
139 template<
typename ValueT>
140 class phproperty<ValueT, cppproperties::detail::property_flag::wo>
142 typedef cppproperties::property<ValueT, cppproperties::detail::property_flag::wo> cpp_property_t;
144 template<class WidgetClassT, typename cppproperties::detail::property_info<ValueT, WidgetClassT>::setter_t Setter>
145 struct bind_internal :
146 public cpp_property_t::template bind<WidgetClassT, Setter>
148 bind_internal(WidgetClassT *parent) :
149 cpp_property_t::template bind<WidgetClassT, Setter>(parent)
152 using cpp_property_t::template bind<WidgetClassT, Setter>::operator=;
156 template<
class W
idgetClassT,
class ArgumentT, ArgumentT ArgumentID>
158 public bind_internal<
160 &IPhWidgetsProperty::setArgument<ValueT, WidgetClassT, ArgumentT, ArgumentID>
163 typedef bind_internal<
165 &IPhWidgetsProperty::setArgument<ValueT, WidgetClassT, ArgumentT, ArgumentID>
169 explicit bind(WidgetClassT *parent) :
173 using cpp_bind_t::operator=;