diff --git a/src/lib/evas/canvas/efl_canvas_group.eo b/src/lib/evas/canvas/efl_canvas_group.eo index f21ffda3e5..5ef8016e9e 100644 --- a/src/lib/evas/canvas/efl_canvas_group.eo +++ b/src/lib/evas/canvas/efl_canvas_group.eo @@ -123,6 +123,10 @@ class @beta Efl.Canvas.Group extends Efl.Canvas.Object } } } + events { + member,added: Efl.Gfx.Entity; [[Called when a member is added to the group.]] + member,removed: Efl.Gfx.Entity; [[Called when a member is removed from the group.]] + } implements { class.constructor; class.destructor; diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c index 03e036beab..16b697042a 100644 --- a/src/lib/evas/canvas/evas_object_smart.c +++ b/src/lib/evas/canvas/evas_object_smart.c @@ -329,6 +329,7 @@ _efl_canvas_group_group_member_add(Eo *smart_obj, Evas_Smart_Data *o, Evas_Objec if (smart->smart.smart && smart->smart.smart->smart_class->member_add) smart->smart.smart->smart_class->member_add(smart_obj, eo_obj); evas_object_update_bounding_box(eo_obj, obj, member_o); + efl_event_callback_call(smart_obj, EFL_CANVAS_GROUP_EVENT_MEMBER_ADDED, eo_obj); } EAPI void @@ -355,6 +356,8 @@ _efl_canvas_group_group_member_del(Eo *smart_obj, Evas_Smart_Data *_pd EINA_UNUS evas_object_async_block(obj); + efl_event_callback_call(smart_obj, EFL_CANVAS_GROUP_EVENT_MEMBER_REMOVED, eo_obj); + smart = efl_data_scope_get(smart_obj, EFL_CANVAS_OBJECT_CLASS); if (smart->smart.smart && smart->smart.smart->smart_class->member_del) smart->smart.smart->smart_class->member_del(smart_obj, eo_obj);