From 79f953f6121d96559983791d1f556334567fae75 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Thu, 30 Jun 2011 05:58:29 +0000 Subject: [PATCH] elm slider: add the elm_object_text_set/get hooks. deprecate: elm_slider_label_set/get SVN revision: 60862 --- legacy/elementary/src/lib/Elementary.h.in | 4 +- legacy/elementary/src/lib/elm_slider.c | 56 +++++++++++++++-------- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index 7e4c50bcaa..d108b7969c 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -4125,8 +4125,8 @@ extern "C" { /* slider */ EAPI Evas_Object *elm_slider_add(Evas_Object *parent) EINA_ARG_NONNULL(1); - EAPI void elm_slider_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1); - EAPI const char *elm_slider_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI void elm_slider_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1); + EINA_DEPRECATED EAPI const char *elm_slider_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); EAPI void elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1); EAPI Evas_Object *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1); EAPI Evas_Object *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); diff --git a/legacy/elementary/src/lib/elm_slider.c b/legacy/elementary/src/lib/elm_slider.c index 5358e1c085..add5bbb4b6 100644 --- a/legacy/elementary/src/lib/elm_slider.c +++ b/legacy/elementary/src/lib/elm_slider.c @@ -482,6 +482,38 @@ _spacer_cb(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *event_info) evas_event_feed_mouse_down(e, 1, EVAS_BUTTON_NONE, 0, NULL); } +static void +_elm_slider_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; + eina_stringshare_replace(&wd->label, label); + if (label) + { + edje_object_signal_emit(wd->slider, "elm,state,text,visible", "elm"); + edje_object_message_signal_process(wd->slider); + } + else + { + edje_object_signal_emit(wd->slider, "elm,state,text,hidden", "elm"); + edje_object_message_signal_process(wd->slider); + } + edje_object_part_text_set(wd->slider, "elm.text", label); + _sizing_eval(obj); +} + +static const char * +_elm_slider_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) return NULL; + return wd->label; +} + /** * Add a new slider to the parent * @@ -509,6 +541,8 @@ elm_slider_add(Evas_Object *parent) elm_widget_disable_hook_set(obj, _disable_hook); elm_widget_can_focus_set(obj, EINA_TRUE); elm_widget_event_hook_set(obj, _event_hook); + elm_widget_label_set_hook_set(obj, _elm_slider_label_set); + elm_widget_label_get_hook_set(obj, _elm_slider_label_get); wd->horizontal = EINA_TRUE; wd->indicator_show = EINA_TRUE; @@ -555,22 +589,7 @@ elm_slider_add(Evas_Object *parent) EAPI void elm_slider_label_set(Evas_Object *obj, const char *label) { - ELM_CHECK_WIDTYPE(obj, widtype); - Widget_Data *wd = elm_widget_data_get(obj); - if (!wd) return; - eina_stringshare_replace(&wd->label, label); - if (label) - { - edje_object_signal_emit(wd->slider, "elm,state,text,visible", "elm"); - edje_object_message_signal_process(wd->slider); - } - else - { - edje_object_signal_emit(wd->slider, "elm,state,text,hidden", "elm"); - edje_object_message_signal_process(wd->slider); - } - edje_object_part_text_set(wd->slider, "elm.text", label); - _sizing_eval(obj); + _elm_slider_label_set(obj, NULL, label); } /** @@ -584,10 +603,7 @@ elm_slider_label_set(Evas_Object *obj, const char *label) EAPI const char * elm_slider_label_get(const Evas_Object *obj) { - ELM_CHECK_WIDTYPE(obj, widtype) NULL; - Widget_Data *wd = elm_widget_data_get(obj); - if (!wd) return NULL; - return wd->label; + return _elm_slider_label_get(obj, NULL); } /**