if (sd->freeze_events)
evas_object_freeze_events_set(VIEW(it), EINA_FALSE);
+
+ if (!sd->fully_obscured)
+ {
+ //TIZEN ONLY(26Aug2019): Merged to Stem Branch
+ //evas_object_smart_callback_call(WIDGET(it), "item,hide,internal", VIEW(it));
+ //
+ elm_object_signal_emit(VIEW(it), "elm,state,title_text,sliding,stop", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
+ }
}
/* "elm,state,cur,popped"
elm_widget_tree_unfocusable_set(VIEW(it), EINA_FALSE);
sd->popping = eina_list_remove(sd->popping, it);
+ if (!sd->fully_obscured)
+ {
+ //TIZEN ONLY(26Aug2019): Merged to Stem Branch
+ //evas_object_smart_callback_call(WIDGET(it), "item,hide,internal", VIEW(it));
+ //
+ elm_object_signal_emit(VIEW(it), "elm,state,title_text,sliding,stop", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
+ }
+
efl_del(EO_OBJ(it));
}
it->pushing = EINA_FALSE;
+ if (!sd->fully_obscured)
+ {
+ evas_object_smart_callback_call(WIDGET(it), "item,show,internal", VIEW(it));
+ elm_object_signal_emit(VIEW(it), "elm,state,title_text,sliding,start", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
+ }
+
//TIZEN_ONLY(20161122): add state_notify api
if (EO_OBJ(it) == elm_naviframe_top_item_get(WIDGET(it)))
{
else
elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm");
//
-
+ if (!sd->fully_obscured)
+ {
+ evas_object_smart_callback_call(WIDGET(prev_it), "item,show,internal", VIEW(prev_it));
+ elm_object_signal_emit(VIEW(prev_it), "elm,state,title_text,sliding,start", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(prev_it)));
+ }
//TIZEN_ONLY(20171019): add state_notify api
if (_elm_atspi_enabled())
efl_access_object_state_notify(VIEW(prev_it), ACCESS_STATE(EFL_ACCESS_STATE_TYPE_SHOWING)
(VIEW(it), EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_on_item_size_hints_changed, obj);
+ evas_object_data_set(VIEW(it), "NaviframeItem", (void *)1);
elm_object_signal_callback_add
(VIEW(it), "elm,action,show,finished", "*", _on_item_show_finished, it);
elm_object_signal_callback_add
Elm_Naviframe_Op *nfo;
Eina_Inlist *l = NULL;
+ if (sd->prop_hdl)
+ {
+ ecore_event_handler_del(sd->prop_hdl);
+ sd->prop_hdl = NULL;
+ }
sd->on_deletion = EINA_TRUE;
if (sd->stack) l = sd->stack->last;
}
static Eina_Bool
+_elm_naviframe_visibility_change(void *data, int type EINA_UNUSED, void *event)
+{
+ Ecore_Evas *ee;
+ Ecore_Wl2_Event_Window_Visibility_Change *ev;
+ Elm_Object_Item *eo_item;
+
+ ev = event;
+ ee = ecore_evas_ecore_evas_get(evas_object_evas_get(data));
+ if (!ee) return ECORE_CALLBACK_PASS_ON; /* pass on event */
+ if (ev->win != ecore_evas_window_get(ee)) return ECORE_CALLBACK_PASS_ON;
+
+ ELM_NAVIFRAME_DATA_GET(data, sd);
+
+ if (sd->fully_obscured == ev->fully_obscured)
+ return ECORE_CALLBACK_PASS_ON;
+
+ eo_item = elm_naviframe_top_item_get(data);
+ if (eo_item)
+ {
+ ELM_NAVIFRAME_ITEM_DATA_GET(eo_item, top);
+ if (ev->fully_obscured)
+ {
+ evas_object_smart_callback_call(WIDGET(top), "item,hide,internal", VIEW(top));
+ sd->fully_obscured = ev->fully_obscured;
+ elm_object_signal_emit(VIEW(top), "elm,state,title_text,sliding,stop", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(top)));
+ }
+ else
+ {
+ evas_object_smart_callback_call(WIDGET(top), "item,show,internal", VIEW(top));
+ sd->fully_obscured = ev->fully_obscured;
+ elm_object_signal_emit(VIEW(top), "elm,state,title_text,sliding,start", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(top)));
+ }
+ }
+
+ return ECORE_CALLBACK_PASS_ON;
+}
+
+//MCD_TEMP(03Mar2020): Enable parent set API
+EOLIAN static void
+_elm_naviframe_efl_ui_widget_parent_set(Eo *obj, Elm_Naviframe_Data *pd EINA_UNUSED, Eo *parent)
+//
+{
+ if (!parent) goto super;
+ Evas_Object *top = elm_widget_top_get(parent);
+ Ecore_Wl_Window* win = NULL;
+ if (top)
+ win = elm_win_wl_window_get(top);
+
+ if ((win) && (!elm_win_inlined_image_object_get(top)))
+ {
+ ELM_NAVIFRAME_DATA_GET(obj, sd);
+
+ sd->prop_hdl = ecore_event_handler_add(ECORE_WL2_EVENT_WINDOW_VISIBILITY_CHANGE,
+ _elm_naviframe_visibility_change, obj);
+ }
+super:
+ efl_ui_widget_parent_set(efl_super(obj, MY_CLASS), parent);
+}
+
+static Eina_Bool
_key_action_top_item_get(Evas_Object *obj, const char *params EINA_UNUSED)
{
Elm_Object_Item *eo_item = NULL;
if (top_item) top_item->pushing = EINA_FALSE;
item->pushing = EINA_TRUE;
+
+ if (!sd->fully_obscured)
+ evas_object_smart_callback_call(obj, "item,hide,internal", VIEW(top_item));
}
else
{
{
if (!_tizen_effect_enabled_get(item))
elm_object_signal_emit(VIEW(item), "elm,state,visible", "elm");
+
+ if (!sd->fully_obscured)
+ {
+ evas_object_smart_callback_call(WIDGET(item), "item,show,internal", VIEW(item));
+ elm_object_signal_emit(VIEW(item), "elm,state,title_text,sliding,start", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(item)));
+ }
}
//
if (!_tizen_effect_enabled_get(after))
elm_object_signal_emit(VIEW(after), "elm,state,invisible", "elm");
//
+ if (!sd->fully_obscured)
+ {
+ evas_object_smart_callback_call(WIDGET(after), "item,hide,internal", VIEW(after));
+ elm_object_signal_emit(VIEW(after), "elm,state,title_text,sliding,stop", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(after)));
+
+ evas_object_smart_callback_call(WIDGET(it), "item,show,internal", VIEW(it));
+ elm_object_signal_emit(VIEW(it), "elm,state,title_text,sliding,start", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
+ }
}
else
//TIZEN ONLY(20161208): Support tizen transition
(sd->stack->last->prev, Elm_Naviframe_Item_Data);
sd->stack = eina_inlist_remove(sd->stack, EINA_INLIST_GET(it));
+ if (!sd->fully_obscured)
+ evas_object_smart_callback_call(obj, "item,hide,internal", VIEW(it));
if (prev_it)
{