[elm_navigationbar_ex]: new signals added and are sent when title object is shown...
authorShilpa Singh <shilpa.singh@samsung.com>
Tue, 19 Apr 2011 06:03:23 +0000 (11:33 +0530)
committerShilpa Singh <shilpa.singh@samsung.com>
Tue, 19 Apr 2011 06:03:23 +0000 (11:33 +0530)
src/lib/elm_navigationbar_ex.c

index 56c8419..524311d 100644 (file)
@@ -65,6 +65,15 @@ static void _sizing_eval(Evas_Object *obj);
 static void _changed_size_hints(void *data, Evas *e, Evas_Object *obj, void *event_info);\r
 static void _sub_del(void *data, Evas_Object *obj, void *event_info);\r
 \r
+static const char SIG_HIDE_FINISHED[] = "hide,finished";\r
+static const char SIG_TITLE_OBJ_VISIBLE_CHANGED[] = "titleobj,visible,changed";\r
+\r
+static const Evas_Smart_Cb_Description _signals[] = {\r
+       {SIG_HIDE_FINISHED, ""},\r
+       {SIG_TITLE_OBJ_VISIBLE_CHANGED, ""},\r
+       {NULL, NULL}\r
+};\r
+\r
 static void\r
 _del_hook(Evas_Object *obj)\r
 {\r
@@ -324,7 +333,7 @@ _signal_hide_finished(void *data, Evas_Object *obj __UNUSED__, const char *emiss
    evas_object_hide(it->base);\r
    edje_object_signal_emit(it->base, "elm,action,reset", "elm");\r
    edje_object_signal_emit(it->ct_base, "elm,action,reset", "elm");\r
-   evas_object_smart_callback_call(obj2, "hide,finished", it->content);\r
+   evas_object_smart_callback_call(obj2, SIG_HIDE_FINISHED, it->content);\r
    edje_object_message_signal_process(it->base);\r
    edje_object_message_signal_process(it->ct_base);\r
    if (it->popme)\r
@@ -400,13 +409,15 @@ _switch_titleobj_visibility(void *data, Evas_Object *obj , const char *emission,
    if(!item->title_obj) return;\r
    if(!item->titleobj_visible)\r
      {\r
-       edje_object_signal_emit(item->base, "elm,state,show,title", "elm");\r
-       item->titleobj_visible = EINA_TRUE;\r
+        edje_object_signal_emit(item->base, "elm,state,show,title", "elm");\r
+        evas_object_smart_callback_call(item->obj, SIG_TITLE_OBJ_VISIBLE_CHANGED, (void *) EINA_TRUE);\r
+        item->titleobj_visible = EINA_TRUE;\r
      }\r
    else\r
      {\r
-       edje_object_signal_emit(item->base, "elm,state,hide,title", "elm");\r
-       item->titleobj_visible = EINA_FALSE;\r
+        edje_object_signal_emit(item->base, "elm,state,hide,title", "elm");\r
+        evas_object_smart_callback_call(item->obj, SIG_TITLE_OBJ_VISIBLE_CHANGED, (void *) EINA_FALSE);\r
+        item->titleobj_visible = EINA_FALSE;\r
      }\r
 }\r
 \r
@@ -1121,9 +1132,15 @@ elm_navigationbar_ex_title_object_visible_set(Elm_Navigationbar_ex_Item* item, E
    if(!item) return;\r
    if(!item->title_obj) return;\r
    if(visible)\r
-     edje_object_signal_emit(item->base, "elm,state,show,title", "elm");\r
+     {\r
+        edje_object_signal_emit(item->base, "elm,state,show,title", "elm");\r
+        evas_object_smart_callback_call(item->obj, SIG_TITLE_OBJ_VISIBLE_CHANGED, (void *) EINA_TRUE);\r
+     }\r
    else\r
-     edje_object_signal_emit(item->base, "elm,state,hide,title", "elm");\r
+     {\r
+        edje_object_signal_emit(item->base, "elm,state,hide,title", "elm");\r
+        evas_object_smart_callback_call(item->obj, SIG_TITLE_OBJ_VISIBLE_CHANGED, (void *) EINA_FALSE);\r
+     }\r
    item->titleobj_visible = visible;\r
 }\r
 \r