elementary/naviframe - added new API, elm_naviframe_item_del
authorChunEon Park <hermet@hermet.pe.kr>
Thu, 6 Oct 2011 12:46:59 +0000 (12:46 +0000)
committerChunEon Park <hermet@hermet.pe.kr>
Thu, 6 Oct 2011 12:46:59 +0000 (12:46 +0000)
SVN revision: 63878

src/lib/Elementary.h.in
src/lib/elc_naviframe.c

index a87540a..2a1007c 100644 (file)
@@ -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
index fd4f11b..37fa8fe 100644 (file)
@@ -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);