From 6d5516c3eafe52e9e6bbcd0acba335ae517e6edc Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Wed, 29 Jun 2011 09:11:45 +0000 Subject: [PATCH] Elm frame: add the elm_object_text_set/get hooks. deprecate: elm_frame_label_set/get SVN revision: 60805 --- legacy/elementary/src/lib/Elementary.h.in | 4 +-- legacy/elementary/src/lib/elm_frame.c | 38 +++++++++++++++++------ 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/legacy/elementary/src/lib/Elementary.h.in b/legacy/elementary/src/lib/Elementary.h.in index 9ccd03f966..dea3874fd1 100644 --- a/legacy/elementary/src/lib/Elementary.h.in +++ b/legacy/elementary/src/lib/Elementary.h.in @@ -2656,8 +2656,8 @@ extern "C" { /* frame */ EAPI Evas_Object *elm_frame_add(Evas_Object *parent) EINA_ARG_NONNULL(1); - EAPI void elm_frame_label_set(Evas_Object *obj, const char *label); EINA_ARG_NONNULL(1) - EAPI const char *elm_frame_label_get(const Evas_Object *obj); EINA_ARG_NONNULL(1) + EINA_DEPRECATED EAPI void elm_frame_label_set(Evas_Object *obj, const char *label); EINA_ARG_NONNULL(1) + EINA_DEPRECATED EAPI const char *elm_frame_label_get(const Evas_Object *obj); EINA_ARG_NONNULL(1) EAPI void elm_frame_content_set(Evas_Object *obj, Evas_Object *content); EINA_ARG_NONNULL(1) EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj); EINA_ARG_NONNULL(1) EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj); EINA_ARG_NONNULL(1) diff --git a/legacy/elementary/src/lib/elm_frame.c b/legacy/elementary/src/lib/elm_frame.c index 7645178619..4b98201d95 100644 --- a/legacy/elementary/src/lib/elm_frame.c +++ b/legacy/elementary/src/lib/elm_frame.c @@ -109,6 +109,28 @@ _sub_del(void *data __UNUSED__, Evas_Object *obj, void *event_info) } } +static void +_elm_frame_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); + edje_object_part_text_set(wd->frm, "elm.text", wd->label); + _sizing_eval(obj); +} + +static const char * +_elm_frame_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 frame to the parent * @@ -134,6 +156,8 @@ elm_frame_add(Evas_Object *parent) elm_widget_theme_hook_set(obj, _theme_hook); elm_widget_focus_next_hook_set(obj, _elm_frame_focus_next_hook); elm_widget_can_focus_set(obj, EINA_FALSE); + elm_widget_label_set_hook_set(obj, _elm_frame_label_set); + elm_widget_label_get_hook_set(obj, _elm_frame_label_get); wd->frm = edje_object_add(e); _elm_theme_object_set(obj, wd->frm, "frame", "base", "default"); @@ -153,16 +177,12 @@ elm_frame_add(Evas_Object *parent) * @param label The label of this frame object * * @ingroup Frame + * @deprecate use elm_object_text_* instead. */ EAPI void elm_frame_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); - edje_object_part_text_set(wd->frm, "elm.text", wd->label); - _sizing_eval(obj); + _elm_frame_label_set(obj, NULL, label); } /** @@ -173,14 +193,12 @@ elm_frame_label_set(Evas_Object *obj, const char *label) * @return The label of this frame objet or NULL if unable to get frame * * @ingroup Frame + * @deprecate use elm_object_text_* instead. */ EAPI const char * elm_frame_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_frame_label_get(obj, NULL); } /**