[elm_navigationbar_ex]: button unset API added.
authorshilpa singh <shilpa.singh@samsung.com>
Tue, 26 Oct 2010 14:50:34 +0000 (20:20 +0530)
committershilpa singh <shilpa.singh@samsung.com>
Tue, 26 Oct 2010 14:50:34 +0000 (20:20 +0530)
src/lib/Elementary.h.in [changed mode: 0755->0644]
src/lib/elm_navigationbar_ex.c

old mode 100755 (executable)
new mode 100644 (file)
index c4b091d..6f682bc
@@ -2288,6 +2288,7 @@ extern "C" {
    EAPI void         elm_navigationbar_ex_delete_on_pop_set(Evas_Object *obj, Eina_Bool del_on_pop);
    EAPI Evas_Object *elm_navigationbar_ex_item_icon_get(Elm_Navigationbar_ex_Item* item);
    EAPI void         elm_navigationbar_ex_item_icon_set(Elm_Navigationbar_ex_Item* item, Evas_Object *icon);
+   EAPI Evas_Object *elm_navigationbar_ex_item_title_button_unset(Elm_Navigationbar_ex_Item* item, int button_type);
    
    
    /* Tab Bar */
index 0d6cc63..769af8c 100644 (file)
@@ -577,8 +577,37 @@ elm_navigationbar_ex_item_title_button_get(Elm_Navigationbar_ex_Item* item, int
                        if(btn_det->btn_id == button_type)\r
                                return btn_det->btn;\r
                }\r
-               return NULL;\r
-               \r
+               return NULL;            \r
+       }\r
+\r
+/**\r
+ * Unset the button object of the pushed content\r
+ *\r
+ * @param[in] item The Navigationbar_ex Item \r
+ * @param[in] button_type Indicates the position\r
+ * @return The button object or NULL if none\r
+ *\r
+ * @ingroup Navigationbar_ex\r
+ */\r
+EAPI Evas_Object *\r
+elm_navigationbar_ex_item_title_button_unset(Elm_Navigationbar_ex_Item* item, int button_type)\r
+       {\r
+               fn_button *btn_det;\r
+               Eina_List *bl;\r
+               Evas_Object *btn_ret;\r
+               EINA_LIST_FOREACH(item->fnbtn_list, bl, btn_det)\r
+               {\r
+                       if(btn_det->btn_id == button_type)\r
+                               {\r
+                                       btn_ret = btn_det->btn;\r
+                                       elm_widget_sub_object_del(item->obj,btn_det->btn);\r
+                                       edje_object_part_unswallow(item->base,btn_det->btn);    \r
+                                       item->fnbtn_list = eina_list_remove_list(item->fnbtn_list, bl);\r
+                                       btn_det->btn = NULL;\r
+                                       return btn_ret;\r
+                               }\r
+               }\r
+               return NULL;            \r
        }\r
 \r
 /**\r
@@ -722,6 +751,9 @@ elm_navigationbar_ex_item_style_set(Elm_Navigationbar_ex_Item* item, const char*
 {\r
        if(!item) return;\r
        char buf[1024];\r
+       char buf_fn[1024];\r
+       Eina_List *bl;\r
+       fn_button *btn_det;\r
        strncpy(buf, "item/", sizeof(buf));\r
        strncat(buf, item_style, sizeof(buf) - strlen(buf));\r
        if (!eina_stringshare_replace(&item->item_style, item_style)) return;\r
@@ -730,6 +762,22 @@ elm_navigationbar_ex_item_style_set(Elm_Navigationbar_ex_Item* item, const char*
                edje_object_part_text_set(item->base, "elm.text", item->title);\r
        if(item->subtitle)\r
                edje_object_part_text_set(item->base, "elm.text.sub", item->subtitle);\r
+       if(item->fnbtn_list)\r
+               {\r
+                       EINA_LIST_FOREACH(item->fnbtn_list, bl, btn_det)\r
+                       {\r
+                               if(btn_det->btn_id == ELM_NAVIGATIONBAR_EX_BACK_BUTTON)\r
+                                       {\r
+                                               snprintf(buf_fn, sizeof(buf_fn), "navigationbar_backbutton/%s", elm_widget_style_get(item->obj));\r
+                                               elm_object_style_set(btn_det->btn, buf_fn);\r
+                                       }\r
+                               else\r
+                                       {\r
+                                               snprintf(buf_fn, sizeof(buf_fn), "navigationbar_functionbutton/%s", elm_widget_style_get(item->obj));\r
+                                               elm_object_style_set(btn_det->btn, buf_fn);\r
+                                       }\r
+                       }\r
+               }\r
 }\r
 \r
 /**\r