yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=f9e31122ffb445e53a47cfa9a2fd41689f62aa5f

commit f9e31122ffb445e53a47cfa9a2fd41689f62aa5f
Author: Yakov Goldberg <yako...@samsung.com>
Date:   Mon Nov 23 19:21:18 2015 +0200

    Set parent_container_eid to widget, when pack it into item container
---
 src/bin/gui/editor.c |  2 ++
 src/lib/gui_widget.c | 13 +++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index 0508855..107d3bf 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -3314,6 +3314,7 @@ _field_update_from_itemview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_Desc
                {
                   Gui_Widget *w = wdg_get(name_id);
                   wdg_parent_set(w, wdg_name_get(wdg));
+                  wdg_parent_container_eid_set(w, wdg_eid_get(wdg));
                }
           }
         /* If old_value is some widget, set main_obj as it's parent. */
@@ -3324,6 +3325,7 @@ _field_update_from_itemview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_Desc
                   Eid *old_name_id = 
gui_context_eid_get_by_name(_active_context_get(), old_value);
                   Gui_Widget *w = wdg_get(old_name_id);
                   wdg_parent_set(w, wdg_name_get(wdg_main_wdg_get(wdg)));
+                  wdg_parent_container_eid_set(w, NULL);
                }
           }
         objtree_item_selected_set(wdg);
diff --git a/src/lib/gui_widget.c b/src/lib/gui_widget.c
index 326a9b4..d1c9818 100644
--- a/src/lib/gui_widget.c
+++ b/src/lib/gui_widget.c
@@ -2408,6 +2408,19 @@ wdg_item_insert_after(Gui_Widget *wdg, 
Item_Container_Item *parent_item, Item_Co
 {
    _item_container_item_add(wdg, parent_item, after, item);
 
+   const Gui_Widget_Property *prop = item_container_item_prop_get(item);
+   Eina_List *values = prop_value_get(prop), *itr;
+   Gui_Value *val;
+   Eid *weid = NULL;
+   EINA_LIST_FOREACH(values, itr, val)
+     {
+        if (gui_value_type_get(val) == GUI_TYPE_OBJECT)
+          {
+             weid = EID_ID_GET(val);
+             if (weid)
+               wdg_parent_container_eid_set(wdg_get(weid), wdg_eid_get(wdg));
+          }
+     }
    return EINA_TRUE;
 }
 

-- 


Reply via email to