seoz pushed a commit to branch master.

commit da819a9f7818a5975f632fa97d5e26c8f769f8f1
Author: Daniel Juyung Seo <[email protected]>
Date:   Tue Sep 3 11:08:41 2013 +0900

    elc_popup.c: refactoring. now popup item object is elm_layout not 
edje_object.
---
 src/lib/elc_popup.c | 91 ++++++++++++++++++++++++-----------------------------
 1 file changed, 41 insertions(+), 50 deletions(-)

diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index 9ca0771..47a5c74 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -258,15 +258,9 @@ static void
 _mirrored_set(Evas_Object *obj,
               Eina_Bool rtl)
 {
-   Eina_List *elist;
-   Elm_Popup_Item *it;
-
    ELM_POPUP_DATA_GET(obj, sd);
 
    elm_object_mirrored_set(sd->notify, rtl);
-   if (sd->items)
-     EINA_LIST_FOREACH(sd->items, elist, it)
-       edje_object_mirrored_set(VIEW(it), rtl);
 }
 
 static void
@@ -363,23 +357,22 @@ _elm_popup_smart_theme(Eo *obj, void *_pd, va_list *list)
      {
         EINA_LIST_FOREACH(sd->items, elist, it)
           {
-             elm_widget_theme_object_set
-               (obj, VIEW(it), "popup", "item", elm_widget_style_get(obj));
+             elm_layout_theme_set
+                (VIEW(it), "popup", "item", elm_widget_style_get(obj));
              if (it->label)
                {
-                  edje_object_part_text_escaped_set
-                    (VIEW(it), "elm.text", it->label);
-                  edje_object_signal_emit
-                    (VIEW(it), "elm,state,item,text,visible", "elm");
+                  elm_layout_text_set(VIEW(it), "elm.text", it->label);
+                  elm_layout_signal_emit(VIEW(it),
+                                         "elm,state,item,text,visible", "elm");
                }
              if (it->icon)
-               edje_object_signal_emit
-                 (VIEW(it), "elm,state,item,icon,visible", "elm");
+               elm_layout_signal_emit(VIEW(it),
+                                      "elm,state,item,icon,visible", "elm");
              if (it->disabled)
-               edje_object_signal_emit
-                 (VIEW(it), "elm,state,item,disabled", "elm");
+               elm_layout_signal_emit(VIEW(it),
+                                      "elm,state,item,disabled", "elm");
              evas_object_show(VIEW(it));
-             edje_object_message_signal_process(VIEW(it));
+             edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
           }
         _scroller_size_calc(obj);
      }
@@ -405,11 +398,12 @@ static void
 _item_sizing_eval(Elm_Popup_Item *it)
 {
    Evas_Coord min_w = -1, min_h = -1, max_w = -1, max_h = -1;
+   Evas_Object *edje = elm_layout_edje_get(VIEW(it));
 
    edje_object_size_min_restricted_calc
-     (VIEW(it), &min_w, &min_h, min_w, min_h);
-   evas_object_size_hint_min_set(VIEW(it), min_w, min_h);
-   evas_object_size_hint_max_set(VIEW(it), max_w, max_h);
+     (edje, &min_w, &min_h, min_w, min_h);
+   evas_object_size_hint_min_set(edje, min_w, min_h);
+   evas_object_size_hint_max_set(edje, max_w, max_h);
 }
 
 static void
@@ -428,7 +422,8 @@ _elm_popup_smart_sizing_eval(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
         EINA_LIST_FOREACH(sd->items, elist, it)
           {
              _item_sizing_eval(it);
-             evas_object_size_hint_min_get(VIEW(it), NULL, &minh_box);
+             evas_object_size_hint_min_get(elm_layout_edje_get(VIEW(it)),
+                                           NULL, &minh_box);
              if (minh_box != -1) h_box += minh_box;
           }
         evas_object_size_hint_min_set(sd->spacer, 0, MIN(h_box, sd->max_sc_h));
@@ -471,9 +466,9 @@ _elm_popup_smart_sub_object_del(Eo *obj, void *_pd, va_list 
*list)
      {
         if (sobj == it->icon)
           {
-             edje_object_part_unswallow(VIEW(it), sobj);
-             edje_object_signal_emit
-               (VIEW(it), "elm,state,item,icon,hidden", "elm");
+             elm_layout_content_unset(VIEW(it), CONTENT_PART);
+             elm_layout_signal_emit(VIEW(it),
+                                    "elm,state,item,icon,hidden", "elm");
              it->icon = NULL;
           }
      }
@@ -673,16 +668,16 @@ _item_text_set(Elm_Popup_Item *it,
 {
    if (!eina_stringshare_replace(&it->label, label)) return;
 
-   edje_object_part_text_escaped_set(VIEW(it), "elm.text", label);
+   elm_layout_text_set(VIEW(it), "elm.text", label);
 
    if (it->label)
-     edje_object_signal_emit
-       (VIEW(it), "elm,state,item,text,visible", "elm");
+     elm_layout_signal_emit(VIEW(it),
+                            "elm,state,item,text,visible", "elm");
    else
-     edje_object_signal_emit
-       (VIEW(it), "elm,state,item,text,hidden", "elm");
+     elm_layout_signal_emit(VIEW(it),
+                            "elm,state,item,text,hidden", "elm");
 
-   edje_object_message_signal_process(VIEW(it));
+   edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
 }
 
 static void
@@ -733,15 +728,13 @@ _item_icon_set(Elm_Popup_Item *it,
      {
         elm_widget_sub_object_add(WIDGET(it), it->icon);
         evas_object_data_set(it->icon, "_popup_icon_parent_item", it);
-        edje_object_part_swallow
-          (VIEW(it), CONTENT_PART, it->icon);
-        edje_object_signal_emit
-          (VIEW(it), "elm,state,item,icon,visible", "elm");
+        elm_layout_content_set(VIEW(it), CONTENT_PART, it->icon);
+        elm_layout_signal_emit(VIEW(it), "elm,state,item,icon,visible", "elm");
      }
    else
-     edje_object_signal_emit(VIEW(it), "elm,state,item,icon,hidden", "elm");
+     elm_layout_signal_emit(VIEW(it), "elm,state,item,icon,hidden", "elm");
 
-   edje_object_message_signal_process(it->base.view);
+   edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
 }
 
 static void
@@ -783,8 +776,8 @@ _item_icon_unset(Elm_Popup_Item *it)
    if (!it->icon) return NULL;
    elm_widget_sub_object_del(WIDGET(it), icon);
    evas_object_data_del(icon, "_popup_icon_parent_item");
-   edje_object_part_unswallow(it->base.view, icon);
-   edje_object_signal_emit(VIEW(it), "elm,state,item,icon,hidden", "elm");
+   elm_layout_content_unset(VIEW(it), CONTENT_PART);
+   elm_layout_signal_emit(VIEW(it), "elm,state,item,icon,hidden", "elm");
    it->icon = NULL;
 
    return icon;
@@ -815,9 +808,9 @@ _item_disable_hook(Elm_Object_Item *item)
    ELM_POPUP_ITEM_CHECK_OR_RETURN(it);
 
    if (elm_widget_item_disabled_get(it))
-     edje_object_signal_emit(VIEW(it), "elm,state,item,disabled", "elm");
+     elm_layout_signal_emit(VIEW(it), "elm,state,item,disabled", "elm");
    else
-     edje_object_signal_emit(VIEW(it), "elm,state,item,enabled", "elm");
+     elm_layout_signal_emit(VIEW(it), "elm,state,item,enabled", "elm");
 }
 
 static void
@@ -845,7 +838,7 @@ _item_signal_emit_hook(Elm_Object_Item *it,
                        const char *emission,
                        const char *source)
 {
-   edje_object_signal_emit(VIEW(it), emission, source);
+   elm_layout_signal_emit(VIEW(it), emission, source);
 }
 
 static void
@@ -859,15 +852,13 @@ _item_new(Elm_Popup_Item *it)
    elm_widget_item_disable_hook_set(it, _item_disable_hook);
    elm_widget_item_del_pre_hook_set(it, _item_del_pre_hook);
    elm_widget_item_signal_emit_hook_set(it, _item_signal_emit_hook);
-   VIEW(it) = edje_object_add
-       (evas_object_evas_get(WIDGET(it)));
-   elm_widget_theme_object_set(WIDGET(it), VIEW(it), "popup", "item",
-                               elm_widget_style_get(WIDGET(it)));
-   edje_object_mirrored_set(VIEW(it), elm_widget_mirrored_get(WIDGET(it)));
-   edje_object_signal_callback_add
-     (VIEW(it), "elm,action,click", "", _item_select_cb, it);
-   evas_object_size_hint_align_set
-     (VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+   VIEW(it) = elm_layout_add(WIDGET(it));
+   elm_layout_theme_set(VIEW(it), "popup", "item",
+                        elm_widget_style_get(WIDGET(it)));
+   elm_layout_signal_callback_add(VIEW(it), "elm,action,click", "",
+                                  _item_select_cb, it);
+   evas_object_size_hint_align_set(VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
    evas_object_show(VIEW(it));
 }
 

-- 

------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk

Reply via email to