forked from enlightenment/efl
129 lines
7.6 KiB
C
129 lines
7.6 KiB
C
#ifdef HAVE_CONFIG_H
|
|
# include "elementary_config.h"
|
|
#endif
|
|
#include "Elementary.h"
|
|
#include "elm_module_helper.h"
|
|
|
|
#undef CRI
|
|
#undef ERR
|
|
#undef WRN
|
|
#undef INF
|
|
#undef DBG
|
|
|
|
#define CRI(...) EINA_LOG_DOM_CRIT(_elm_prefs_log_dom, __VA_ARGS__)
|
|
#define ERR(...) EINA_LOG_DOM_ERR (_elm_prefs_log_dom, __VA_ARGS__)
|
|
#define WRN(...) EINA_LOG_DOM_WARN(_elm_prefs_log_dom, __VA_ARGS__)
|
|
#define INF(...) EINA_LOG_DOM_INFO(_elm_prefs_log_dom, __VA_ARGS__)
|
|
#define DBG(...) EINA_LOG_DOM_DBG (_elm_prefs_log_dom, __VA_ARGS__)
|
|
|
|
extern int _elm_prefs_log_dom;
|
|
|
|
#define PREFS_ITEM_WIDGET_ADD(_w_name, \
|
|
_types, \
|
|
_value_set_fn, \
|
|
_value_get_fn, \
|
|
_value_validate_fn, \
|
|
_label_set_fn, \
|
|
_icon_set_fn, \
|
|
_editable_set_fn, \
|
|
_editable_get_fn, \
|
|
_expand_want_fn) \
|
|
static Evas_Object * \
|
|
_prefs_##_w_name##_add(const Elm_Prefs_Item_Iface * iface, \
|
|
Evas_Object * prefs, \
|
|
const Elm_Prefs_Item_Type type, \
|
|
const Elm_Prefs_Item_Spec spec, \
|
|
Elm_Prefs_Item_Changed_Cb it_changed_cb) \
|
|
{ \
|
|
Evas_Object *obj = \
|
|
elm_prefs_##_w_name##_add(iface, prefs, type, spec, it_changed_cb); \
|
|
if (!obj) return NULL; \
|
|
if (!elm_prefs_item_widget_common_add(prefs, obj)) \
|
|
{ \
|
|
evas_object_del(obj); \
|
|
return NULL; \
|
|
} \
|
|
\
|
|
return obj; \
|
|
} \
|
|
\
|
|
const Elm_Prefs_Item_Iface prefs_##_w_name##_impl = \
|
|
{ \
|
|
.abi_version = ELM_PREFS_ITEM_IFACE_ABI_VERSION, \
|
|
.add = _prefs_##_w_name##_add, \
|
|
.types = _types, \
|
|
.value_set = _value_set_fn, \
|
|
.value_get = _value_get_fn, \
|
|
.value_validate = _value_validate_fn, \
|
|
.label_set = _label_set_fn, \
|
|
.icon_set = _icon_set_fn, \
|
|
.editable_set = _editable_set_fn, \
|
|
.editable_get = _editable_get_fn, \
|
|
.expand_want = _expand_want_fn \
|
|
}
|
|
|
|
#define PREFS_PAGE_WIDGET_ADD(_w_name, \
|
|
_title_set_fn, \
|
|
_sub_title_set_fn, \
|
|
_icon_set_fn, \
|
|
_item_pack_fn, \
|
|
_item_unpack_fn, \
|
|
_item_pack_before_fn, \
|
|
_item_pack_after_fn) \
|
|
static Evas_Object * \
|
|
_prefs_##_w_name##_add(const Elm_Prefs_Page_Iface * iface, \
|
|
Evas_Object * prefs) \
|
|
{ \
|
|
Evas_Object *obj = \
|
|
elm_prefs_##_w_name##_add(iface, prefs); \
|
|
if (!obj) return NULL; \
|
|
if (!elm_prefs_page_widget_common_add(prefs, obj)) \
|
|
{ \
|
|
evas_object_del(obj); \
|
|
return NULL; \
|
|
} \
|
|
\
|
|
return obj; \
|
|
} \
|
|
\
|
|
const Elm_Prefs_Page_Iface prefs_##_w_name##_impl = \
|
|
{ \
|
|
.abi_version = ELM_PREFS_PAGE_IFACE_ABI_VERSION, \
|
|
.add = _prefs_##_w_name##_add, \
|
|
.title_set = _title_set_fn, \
|
|
.sub_title_set = _sub_title_set_fn, \
|
|
.icon_set = _icon_set_fn, \
|
|
.item_pack = _item_pack_fn, \
|
|
.item_unpack = _item_unpack_fn, \
|
|
.item_pack_before = _item_pack_before_fn, \
|
|
.item_pack_after = _item_pack_after_fn \
|
|
}
|
|
|
|
Eina_Bool elm_prefs_page_item_value_set(Evas_Object *it,
|
|
const Elm_Prefs_Item_Iface *iface,
|
|
Eina_Bool val);
|
|
void elm_prefs_horizontal_page_common_pack(Evas_Object *,
|
|
Evas_Object *,
|
|
const Elm_Prefs_Item_Iface *);
|
|
void elm_prefs_horizontal_page_common_pack_before(Evas_Object *,
|
|
Evas_Object *,
|
|
Evas_Object *,
|
|
const Elm_Prefs_Item_Iface *);
|
|
void elm_prefs_horizontal_page_common_pack_after(Evas_Object *,
|
|
Evas_Object *,
|
|
Evas_Object *,
|
|
const Elm_Prefs_Item_Iface *);
|
|
void elm_prefs_vertical_page_common_pack(Evas_Object *,
|
|
Evas_Object *,
|
|
const Elm_Prefs_Item_Iface *);
|
|
void elm_prefs_vertical_page_common_pack_before(Evas_Object *,
|
|
Evas_Object *,
|
|
Evas_Object *,
|
|
const Elm_Prefs_Item_Iface *);
|
|
void elm_prefs_vertical_page_common_pack_after(Evas_Object *,
|
|
Evas_Object *,
|
|
Evas_Object *,
|
|
const Elm_Prefs_Item_Iface *);
|
|
void elm_prefs_page_common_unpack(Evas_Object *,
|
|
Evas_Object *);
|