[elc_navigationbar_ex.c]: Theme hook issues fixes for dynamic theme
authorShilpa Singh <shilpa.singh@samsung.com>
Mon, 25 Jul 2011 09:27:07 +0000 (14:57 +0530)
committerShilpa Singh <shilpa.singh@samsung.com>
Mon, 25 Jul 2011 09:27:07 +0000 (14:57 +0530)
changing.

Change-Id: Ic570fbf67adfe38ab3e52f79be448dfd8ce92362

src/lib/elc_navigationbar_ex.c

index 5668531..75beb90 100644 (file)
@@ -108,25 +108,41 @@ _theme_hook(Evas_Object *obj)
    EINA_LIST_FOREACH(wd->stack, l, it)\r
      {\r
         Eina_List *bl;\r
-        fn_button *btn;\r
+        fn_button *btn_det;\r
         edje_object_scale_set(it->base, elm_widget_scale_get(obj) *\r
                               _elm_config->scale);\r
         strncpy(buf, "item/", sizeof(buf));\r
         strncat(buf, it->item_style, sizeof(buf) - strlen(buf));\r
         _elm_theme_object_set(obj, it->base,  "navigationbar_ex", buf, elm_widget_style_get(obj));\r
         _elm_theme_object_set(obj, it->ct_base,  "navigationbar_ex", "content", elm_widget_style_get(obj));\r
-        EINA_LIST_FOREACH(it->fnbtn_list, bl, btn)\r
+        if (it->title)\r
+          edje_object_part_text_set(it->base, "elm.text", it->title);\r
+        if (it->subtitle)\r
+          edje_object_part_text_set(it->base, "elm.text.sub", it->subtitle);\r
+        if (it->title_obj)\r
           {\r
-             if (btn->btn_id == ELM_NAVIGATIONBAR_EX_BACK_BUTTON)\r
+             edje_object_part_swallow(it->base, "elm.swallow.title", it->title_obj);\r
+             if (it->titleobj_visible)\r
+               edje_object_signal_emit(it->base, "elm,state,show,title", "elm");\r
+             else\r
+               edje_object_signal_emit(it->base, "elm,state,hide,title", "elm");\r
+          }\r
+        if (it->icon)\r
+          edje_object_part_swallow(it->base, "elm.swallow.icon", it->icon);\r
+        EINA_LIST_FOREACH(it->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(obj));\r
-                  elm_object_style_set(btn->btn, buf_fn);\r
+                  snprintf(buf, sizeof(buf), "elm.swallow.back");\r
                }\r
              else\r
                {\r
                   snprintf(buf_fn, sizeof(buf_fn), "navigationbar_functionbutton/%s", elm_widget_style_get(obj));\r
-                  elm_object_style_set(btn->btn, buf_fn);\r
+                  snprintf(buf, sizeof(buf), "elm.swallow.btn%d", btn_det->btn_id);\r
                }\r
+             elm_object_style_set(btn_det->btn, buf_fn);\r
+             edje_object_part_swallow(it->base, buf, btn_det->btn);\r
           }\r
      }\r
    _sizing_eval(obj);\r
@@ -1156,7 +1172,7 @@ elm_navigationbar_ex_title_object_visible_set(Elm_Navigationbar_ex_Item* item, E
 Eina_Bool\r
 elm_navigationbar_ex_title_object_visible_get(Elm_Navigationbar_ex_Item* item)\r
 {\r
-   if (!item) return NULL;\r
+   if (!item) return EINA_FALSE;\r
    return item->titleobj_visible;\r
 }\r
 \r