From: hermet Date: Thu, 6 Oct 2011 12:46:59 +0000 (+0000) Subject: elementary/naviframe - added new API, elm_naviframe_item_del X-Git-Tag: REL_F_I9500_20120323_1~17^2~1689 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a0f7653da73fbfe2c79579a28ab634baeb63d2b8;p=framework%2Fuifw%2Felementary.git elementary/naviframe - added new API, elm_naviframe_item_del git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@63878 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index a87540a..2a1007c 100644 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -27838,6 +27838,17 @@ extern "C" { */ EAPI void elm_naviframe_item_pop_to(Elm_Object_Item *it) EINA_ARG_NONNULL(1); /** + * @brief Delete the given item instantly. + * + * @param it The naviframe item + * + * This just deletes the given item from the naviframe item list instantly. + * So this would not emit any signals for view transitions but just change + * the current view if the given item is a top one. + * + */ + EAPI void elm_naviframe_item_del(Elm_Object_Item *it) EINA_ARG_NONNULL(1); + /** * @brief preserve the content objects when items are popped. * * @param obj The naviframe object diff --git a/src/lib/elc_naviframe.c b/src/lib/elc_naviframe.c index fd4f11b..37fa8fe 100644 --- a/src/lib/elc_naviframe.c +++ b/src/lib/elc_naviframe.c @@ -917,6 +917,24 @@ elm_naviframe_item_pop_to(Elm_Object_Item *it) } EAPI void +elm_naviframe_item_del(Elm_Object_Item *it) +{ + ELM_OBJ_ITEM_CHECK_OR_RETURN(it); + Elm_Naviframe_Item *navi_it = ELM_CAST(it); + Widget_Data *wd = elm_widget_data_get(navi_it->base.widget); + if (it == elm_naviframe_top_item_get(navi_it->base.widget)) + { + _item_del(navi_it); + navi_it = ELM_CAST(eina_list_last(wd->stack)->data); + evas_object_show(navi_it->base.view); + evas_object_raise(navi_it->base.view); + edje_object_signal_emit(navi_it->base.view, "elm,state,visible", "elm"); + } + else + _item_del(navi_it); +} + +EAPI void elm_naviframe_content_preserve_on_pop_set(Evas_Object *obj, Eina_Bool preserve) { ELM_CHECK_WIDTYPE(obj, widtype);