bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=37c115542c6d723f3aa03af92dacbcdd400b8e4d

commit 37c115542c6d723f3aa03af92dacbcdd400b8e4d
Author: Marcel Hollerbach <[email protected]>
Date:   Thu Jan 24 14:09:42 2019 +0100

    efl_ui_pan: implement content interface
    
    the last two functions for the content interface have been missing.
    Now the pan object can also unset and set new content
    
    ref T5719
    
    Reviewed-by: Cedric BAIL <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D7757
---
 src/lib/elementary/efl_ui_pan.c  | 33 +++++++++++++++++++++++++--------
 src/lib/elementary/efl_ui_pan.eo |  3 ++-
 2 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/src/lib/elementary/efl_ui_pan.c b/src/lib/elementary/efl_ui_pan.c
index 062e94cfad..b84e0ba9d6 100644
--- a/src/lib/elementary/efl_ui_pan.c
+++ b/src/lib/elementary/efl_ui_pan.c
@@ -156,14 +156,7 @@ _efl_ui_pan_efl_content_content_set(Evas_Object *obj, 
Efl_Ui_Pan_Data *psd, Evas
    if (content == psd->content) return EINA_TRUE;
    if (psd->content)
      {
-        efl_canvas_group_member_del(obj, psd->content);
-        evas_object_event_callback_del_full
-          (psd->content, EVAS_CALLBACK_DEL, _efl_ui_pan_content_del_cb, obj);
-        evas_object_event_callback_del_full
-          (psd->content, EVAS_CALLBACK_RESIZE, _efl_ui_pan_content_resize_cb,
-          obj);
-        psd->content = NULL;
-        psd->content_w = psd->content_h = psd->px = psd->py = 0;
+        efl_content_unset(obj);
      }
    if (!content) goto end;
 
@@ -189,6 +182,30 @@ end:
    return EINA_TRUE;
 }
 
+EOLIAN static Efl_Gfx_Entity*
+_efl_ui_pan_efl_content_content_get(const Eo *obj EINA_UNUSED, Efl_Ui_Pan_Data 
*pd)
+{
+   return pd->content;
+}
+
+EOLIAN static Efl_Gfx_Entity*
+_efl_ui_pan_efl_content_content_unset(Eo *obj EINA_UNUSED, Efl_Ui_Pan_Data *pd)
+{
+   Efl_Gfx_Stack *old_content = pd->content;
+
+   efl_canvas_group_member_del(obj, pd->content);
+   evas_object_event_callback_del_full
+     (pd->content, EVAS_CALLBACK_DEL, _efl_ui_pan_content_del_cb, obj);
+   evas_object_event_callback_del_full
+     (pd->content, EVAS_CALLBACK_RESIZE, _efl_ui_pan_content_resize_cb,
+     obj);
+   pd->content = NULL;
+   pd->content_w = pd->content_h = pd->px = pd->py = 0;
+   efl_event_callback_call(obj, EFL_UI_PAN_EVENT_CONTENT_CHANGED, NULL);
+
+   return old_content;
+}
+
 EOLIAN static void
 _efl_ui_pan_efl_canvas_group_group_calculate(Eo *obj EINA_UNUSED, 
Efl_Ui_Pan_Data *psd)
 {
diff --git a/src/lib/elementary/efl_ui_pan.eo b/src/lib/elementary/efl_ui_pan.eo
index bd47b60e2e..907d50b197 100644
--- a/src/lib/elementary/efl_ui_pan.eo
+++ b/src/lib/elementary/efl_ui_pan.eo
@@ -43,7 +43,8 @@ class Efl.Ui.Pan extends Efl.Canvas.Group implements 
Efl.Content
       Efl.Gfx.Entity.visible { set; }
       Efl.Gfx.Entity.position { set; }
       Efl.Gfx.Entity.size { set; }
-      Efl.Content.content { set; }
+      Efl.Content.content { set; get; }
+      Efl.Content.content_unset;
       Efl.Canvas.Group.group_calculate;
    }
    events {

-- 


Reply via email to