helper function for menu item creation to deduplicate code
authordiscomfitor <discomfitor@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 29 Jul 2011 14:04:54 +0000 (14:04 +0000)
committerMike McCormack <mj.mccormack@samsung.com>
Mon, 14 Nov 2011 04:27:39 +0000 (13:27 +0900)
git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@61893 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/elm_menu.c

index 27052c9..778638e 100644 (file)
@@ -581,6 +581,26 @@ elm_menu_clone(Evas_Object *from_menu, Evas_Object *to_menu, Elm_Menu_Item *pare
       _item_clone(to_menu, parent, item);
 }
 
+static void
+_elm_menu_item_add_helper(Evas_Object *obj, Elm_Menu_Item *parent, Elm_Menu_Item *subitem, Widget_Data *wd)
+{
+   if (parent)
+     {
+        if (!parent->submenu.bx) _item_submenu_obj_create(parent);
+        elm_box_pack_end(parent->submenu.bx, VIEW(subitem));
+        parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
+        subitem->idx = eina_list_count(parent->submenu.items) - 1;
+     }
+   else
+     {
+        elm_box_pack_end(wd->bx, VIEW(subitem));
+        wd->items = eina_list_append(wd->items, subitem);
+        subitem->idx = eina_list_count(wd->items) - 1;
+     }
+
+   _sizing_eval(obj);
+}
+
 EAPI Elm_Menu_Item *
 elm_menu_item_add(Evas_Object *obj, Elm_Menu_Item *parent, const char *icon, const char *label, Evas_Smart_Cb func, const void *data)
 {
@@ -610,21 +630,8 @@ elm_menu_item_add(Evas_Object *obj, Elm_Menu_Item *parent, const char *icon, con
    edje_object_part_swallow(VIEW(subitem), "elm.swallow.content", subitem->icon);
    if (icon) elm_menu_item_icon_set(subitem, icon);
 
-   if (parent)
-     {
-        if (!parent->submenu.bx) _item_submenu_obj_create(parent);
-        elm_box_pack_end(parent->submenu.bx, VIEW(subitem));
-        parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
-        subitem->idx = eina_list_count(parent->submenu.items) - 1;
-     }
-   else
-     {
-        elm_box_pack_end(wd->bx, VIEW(subitem));
-        wd->items = eina_list_append(wd->items, subitem);
-        subitem->idx = eina_list_count(wd->items) - 1;
-     }
+   _elm_menu_item_add_helper(obj, parent, subitem, wd);
 
-   _sizing_eval(obj);
    return subitem;
 }
 
@@ -651,21 +658,8 @@ elm_menu_item_add_object(Evas_Object *obj, Elm_Menu_Item *parent, Evas_Object *s
    edje_object_part_swallow(subitem->base.view, "elm.swallow.content", subobj);
    _sizing_eval(subitem->base.widget);
 
-   if (parent)
-     {
-        if (!parent->submenu.bx) _item_submenu_obj_create(parent);
-        elm_box_pack_end(parent->submenu.bx, subitem->base.view);
-        parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
-        subitem->idx = eina_list_count(parent->submenu.items) - 1;
-     }
-   else
-     {
-        elm_box_pack_end(wd->bx, subitem->base.view);
-        wd->items = eina_list_append(wd->items, subitem);
-        subitem->idx = eina_list_count(wd->items) - 1;
-     }
+   _elm_menu_item_add_helper(obj, parent, subitem, wd);
 
-   _sizing_eval(obj);
    return subitem;
 }