From 14aba89ef8c041f6980d7dbf6a6505df5c01e80e Mon Sep 17 00:00:00 2001 From: Shilpa Singh Date: Tue, 5 Apr 2011 10:39:10 +0530 Subject: [PATCH] [Merge Conflict Resolved in elementary.h.in] [elm_navigationbar_ex]: show/hide API for title object. Change-Id: I9e7a96494763a1e466437820095e7febb4775910 --- src/lib/Elementary.h.in | 2 ++ src/lib/elm_navigationbar_ex.c | 37 +++++++++++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index a5142ba..f3342b3 100644 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -2781,6 +2781,8 @@ extern "C" { EAPI void elm_navigationbar_ex_item_icon_set(Elm_Navigationbar_ex_Item* item, Evas_Object *icon); EAPI Evas_Object *elm_navigationbar_ex_item_title_button_unset(Elm_Navigationbar_ex_Item* item, int button_type); EAPI void elm_navigationbar_ex_animation_disable_set(Evas_Object *obj, Eina_Bool disable); + EAPI void elm_navigationbar_ex_title_object_visible_set(Elm_Navigationbar_ex_Item* item, Eina_Bool visible); + Eina_Bool elm_navigationbar_ex_title_object_visible_get(Elm_Navigationbar_ex_Item* item); /* Control Bar */ diff --git a/src/lib/elm_navigationbar_ex.c b/src/lib/elm_navigationbar_ex.c index ee67723..56c8419 100644 --- a/src/lib/elm_navigationbar_ex.c +++ b/src/lib/elm_navigationbar_ex.c @@ -393,7 +393,7 @@ _process_deletions(Widget_Data *wd) } static void -_show_hide_titleobj(void *data, Evas_Object *obj , const char *emission, const char *source) +_switch_titleobj_visibility(void *data, Evas_Object *obj , const char *emission, const char *source) { Elm_Navigationbar_ex_Item *item = (Elm_Navigationbar_ex_Item *)data; if(!item) return; @@ -761,7 +761,7 @@ elm_navigationbar_ex_item_title_object_set(Elm_Navigationbar_ex_Item* item, Evas elm_widget_sub_object_add(item->obj,title_obj); edje_object_part_swallow(item->base, "elm.swallow.title", title_obj); edje_object_signal_callback_add(item->base, "elm,action,clicked", "elm", - _show_hide_titleobj, item); + _switch_titleobj_visibility, item); } _sizing_eval(item->obj); } @@ -1108,5 +1108,38 @@ elm_navigationbar_ex_animation_disable_set(Evas_Object *obj, Eina_Bool disable) wd->disable_animation = disable; } +/** + * This shows/hides title object area. + * + * @param[in] item The Navigationbar_ex item + * @param[in] visible if EINA_TRUE title object is shown else its hidden. + * @ingroup Navigationbar_ex + */ +EAPI void +elm_navigationbar_ex_title_object_visible_set(Elm_Navigationbar_ex_Item* item, Eina_Bool visible) +{ + if(!item) return; + if(!item->title_obj) return; + if(visible) + edje_object_signal_emit(item->base, "elm,state,show,title", "elm"); + else + edje_object_signal_emit(item->base, "elm,state,hide,title", "elm"); + item->titleobj_visible = visible; +} + +/** + * This gets the status whether title object is shown/hidden. + * + * @param[in] item The Navigationbar_ex item + * @return The status whether title object is shown/hidden. + * @ingroup Navigationbar_ex + */ +Eina_Bool +elm_navigationbar_ex_title_object_visible_get(Elm_Navigationbar_ex_Item* item) +{ + if (!item) return NULL; + return item->titleobj_visible; +} + -- 2.7.4