naviframe: Emit visible/invisible signals when view is shown/hidden
authorJaehyun Cho <jae_hyun.cho@samsung.com>
Thu, 24 Apr 2014 05:22:26 +0000 (14:22 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Thu, 24 Apr 2014 05:22:26 +0000 (14:22 +0900)
Summary:
Previously, previous view was just shown by evas_object_show and hidden by evas_object_hide.
Now, "elm,state,visible" and "elm,state,invisible" signals are emitted to enable application to do in edc what they want when each view is shown/hidden.

Reviewers: Hermet

CC: raster
Differential Revision: https://phab.enlightenment.org/D785

legacy/elementary/src/lib/elc_naviframe.c

index 72aadf6..9ce18c9 100644 (file)
@@ -1049,6 +1049,8 @@ _on_item_push_finished(void *data,
 
    evas_object_hide(VIEW(it));
 
+   elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+
    if (sd->freeze_events)
      evas_object_freeze_events_set(VIEW(it), EINA_FALSE);
 }
@@ -1532,6 +1534,7 @@ _elm_naviframe_item_insert_before(Eo *obj, Elm_Naviframe_Data *sd, Elm_Object_It
        EINA_INLIST_GET(((Elm_Naviframe_Item *)before)));
 
    elm_widget_tree_unfocusable_set(VIEW(it), EINA_TRUE);
+   elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
 
    elm_layout_sizing_eval(obj);
 
@@ -1567,6 +1570,8 @@ _elm_naviframe_item_insert_after(Eo *obj, Elm_Naviframe_Data *sd, Elm_Object_Ite
           elm_object_focus_set(VIEW(it), EINA_TRUE);
         else
           elm_object_focus_set(WIDGET(it), EINA_TRUE);
+        elm_object_signal_emit(VIEW(it), "elm,state,visible", "elm");
+        elm_object_signal_emit(VIEW(after), "elm,state,invisible", "elm");
      }
    else
      elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");