From bd58f1b0882dda617a1d9496e775e30a3651beea Mon Sep 17 00:00:00 2001 From: tasn Date: Thu, 30 Jun 2011 05:43:56 +0000 Subject: [PATCH] elm hoversel: add the elm_object_text_set/get hooks. deprecate: elm_hoversel_label_set/get git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@60860 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/Elementary.h.in | 4 ++-- src/lib/elc_hoversel.c | 32 ++++++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index c142388..7e4c50b 100644 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -3881,8 +3881,8 @@ extern "C" { EAPI Eina_Bool elm_hoversel_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); EAPI void elm_hoversel_hover_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1); EAPI Evas_Object *elm_hoversel_hover_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); - EAPI void elm_hoversel_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1); - EAPI const char *elm_hoversel_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_hoversel_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI const char *elm_hoversel_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); EAPI void elm_hoversel_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1); EAPI Evas_Object *elm_hoversel_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); EAPI Evas_Object *elm_hoversel_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); diff --git a/src/lib/elc_hoversel.c b/src/lib/elc_hoversel.c index 582dbb7..d06e6b2 100644 --- a/src/lib/elc_hoversel.c +++ b/src/lib/elc_hoversel.c @@ -267,6 +267,26 @@ _parent_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *e wd->hover_parent = NULL; } +static void +_elm_hoversel_label_set(Evas_Object *obj, const char *item, const char *label) +{ + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + if (item) return; + if (!wd) return; + elm_object_text_set(wd->btn, label); +} + +static const char * +_elm_hoversel_label_get(const Evas_Object *obj, const char *item) +{ + ELM_CHECK_WIDTYPE(obj, widtype) NULL; + Widget_Data *wd = elm_widget_data_get(obj); + if (item) return NULL; + if ((!wd) || (!wd->btn)) return NULL; + return elm_object_text_get(wd->btn); +} + /** * Add a new Hoversel object * @@ -295,6 +315,8 @@ elm_hoversel_add(Evas_Object *parent) elm_widget_activate_hook_set(obj, _activate_hook); elm_widget_on_focus_hook_set(obj, _on_focus_hook, NULL); elm_widget_can_focus_set(obj, EINA_TRUE); + elm_widget_label_set_hook_set(obj, _elm_hoversel_label_set); + elm_widget_label_get_hook_set(obj, _elm_hoversel_label_get); wd->btn = elm_button_add(parent); elm_widget_mirrored_automatic_set(wd->btn, EINA_FALSE); @@ -373,10 +395,7 @@ elm_hoversel_hover_parent_get(const Evas_Object *obj) EAPI void elm_hoversel_label_set(Evas_Object *obj, const char *label) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - if (!wd) return; - elm_object_text_set(wd->btn, label); + _elm_hoversel_label_set(obj, NULL, label); } /** @@ -390,10 +409,7 @@ elm_hoversel_label_set(Evas_Object *obj, const char *label) EAPI const char * elm_hoversel_label_get(const Evas_Object *obj) { - ELM_CHECK_WIDTYPE(obj, widtype) NULL; - Widget_Data *wd = elm_widget_data_get(obj); - if ((!wd) || (!wd->btn)) return NULL; - return elm_object_text_get(wd->btn); + return _elm_hoversel_label_get(obj, NULL); } /** -- 2.7.4