jpeg pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=55b529cebc113dd66906ce39034299df97a2a2ed

commit 55b529cebc113dd66906ce39034299df97a2a2ed
Author: Jean-Philippe Andre <jp.an...@samsung.com>
Date:   Thu May 18 17:52:17 2017 +0900

    evas/elm: Make group_add/group_del internal functions
    
    This hides those two legacy functions from the EO API.
---
 src/lib/edje/edje_edit.c                        |  5 +++++
 src/lib/edje/edje_edit.eo                       |  1 -
 src/lib/edje/edje_object.eo                     |  2 --
 src/lib/edje/edje_private.h                     |  2 ++
 src/lib/edje/edje_smart.c                       |  3 +++
 src/lib/elementary/efl_ui_box.c                 |  5 +++++
 src/lib/elementary/efl_ui_box.eo                |  2 --
 src/lib/elementary/efl_ui_clock.c               |  5 +++++
 src/lib/elementary/efl_ui_clock.eo              |  2 --
 src/lib/elementary/efl_ui_flip.c                |  5 +++++
 src/lib/elementary/efl_ui_flip.eo               |  2 --
 src/lib/elementary/efl_ui_frame.c               |  5 +++++
 src/lib/elementary/efl_ui_frame.eo              |  1 -
 src/lib/elementary/efl_ui_grid.c                |  5 +++++
 src/lib/elementary/efl_ui_grid.eo               |  2 --
 src/lib/elementary/efl_ui_image.c               |  5 +++++
 src/lib/elementary/efl_ui_image.eo              |  2 --
 src/lib/elementary/efl_ui_nstate.c              |  5 +++++
 src/lib/elementary/efl_ui_nstate.eo             |  2 --
 src/lib/elementary/efl_ui_text.c                |  5 +++++
 src/lib/elementary/efl_ui_text.eo               |  2 --
 src/lib/elementary/efl_ui_video.c               |  5 +++++
 src/lib/elementary/efl_ui_video.eo              |  2 --
 src/lib/elementary/efl_ui_win.c                 |  4 +++-
 src/lib/elementary/efl_ui_win.eo                |  2 --
 src/lib/elementary/elc_combobox.c               |  6 ++++++
 src/lib/elementary/elc_ctxpopup.c               |  5 +++++
 src/lib/elementary/elc_fileselector.c           |  3 +++
 src/lib/elementary/elc_fileselector_button.c    |  5 +++++
 src/lib/elementary/elc_fileselector_entry.c     |  5 +++++
 src/lib/elementary/elc_hoversel.c               |  5 +++++
 src/lib/elementary/elc_multibuttonentry.c       |  5 +++++
 src/lib/elementary/elc_naviframe.c              |  5 +++++
 src/lib/elementary/elc_player.c                 |  5 +++++
 src/lib/elementary/elc_popup.c                  |  5 +++++
 src/lib/elementary/elm_access.c                 |  5 +++++
 src/lib/elementary/elm_access.eo                |  1 -
 src/lib/elementary/elm_actionslider.c           |  5 +++++
 src/lib/elementary/elm_actionslider.eo          |  1 -
 src/lib/elementary/elm_bg.c                     |  5 +++++
 src/lib/elementary/elm_bg.eo                    |  1 -
 src/lib/elementary/elm_box.c                    |  5 +++++
 src/lib/elementary/elm_box.eo                   |  2 --
 src/lib/elementary/elm_bubble.c                 |  5 +++++
 src/lib/elementary/elm_bubble.eo                |  1 -
 src/lib/elementary/elm_button.c                 |  5 +++++
 src/lib/elementary/elm_button.eo                |  1 -
 src/lib/elementary/elm_calendar.c               |  5 +++++
 src/lib/elementary/elm_calendar.eo              |  2 --
 src/lib/elementary/elm_check.c                  |  5 +++++
 src/lib/elementary/elm_check.eo                 |  1 -
 src/lib/elementary/elm_clock.c                  |  5 +++++
 src/lib/elementary/elm_clock.eo                 |  2 --
 src/lib/elementary/elm_code_widget.c            |  5 +++++
 src/lib/elementary/elm_code_widget.eo           |  1 -
 src/lib/elementary/elm_colorselector.c          |  5 +++++
 src/lib/elementary/elm_colorselector.eo         |  2 --
 src/lib/elementary/elm_combobox.eo              |  2 --
 src/lib/elementary/elm_conform.c                |  5 +++++
 src/lib/elementary/elm_conformant.eo            |  2 --
 src/lib/elementary/elm_ctxpopup.eo              |  2 --
 src/lib/elementary/elm_dayselector.c            |  5 +++++
 src/lib/elementary/elm_dayselector.eo           |  2 --
 src/lib/elementary/elm_diskselector.c           |  5 +++++
 src/lib/elementary/elm_diskselector.eo          |  2 --
 src/lib/elementary/elm_entry.c                  |  5 +++++
 src/lib/elementary/elm_entry.eo                 |  2 --
 src/lib/elementary/elm_fileselector.eo          |  2 --
 src/lib/elementary/elm_fileselector_button.eo   |  2 --
 src/lib/elementary/elm_fileselector_entry.eo    |  2 --
 src/lib/elementary/elm_flipselector.c           |  5 +++++
 src/lib/elementary/elm_flipselector.eo          |  2 --
 src/lib/elementary/elm_gengrid.c                |  5 +++++
 src/lib/elementary/elm_gengrid.eo               |  2 --
 src/lib/elementary/elm_genlist.c                | 11 +++++++++--
 src/lib/elementary/elm_genlist.eo               |  2 --
 src/lib/elementary/elm_genlist_pan.eo           |  1 -
 src/lib/elementary/elm_gesture_layer.c          |  5 +++++
 src/lib/elementary/elm_gesture_layer.eo         |  2 --
 src/lib/elementary/elm_glview.c                 |  6 ++++++
 src/lib/elementary/elm_glview.eo                |  2 --
 src/lib/elementary/elm_grid.c                   |  5 +++++
 src/lib/elementary/elm_grid.eo                  |  2 --
 src/lib/elementary/elm_hover.c                  |  5 +++++
 src/lib/elementary/elm_hover.eo                 |  2 --
 src/lib/elementary/elm_hoversel.eo              |  2 --
 src/lib/elementary/elm_icon.c                   |  5 +++++
 src/lib/elementary/elm_icon.eo                  |  2 --
 src/lib/elementary/elm_index.c                  |  5 +++++
 src/lib/elementary/elm_index.eo                 |  2 --
 src/lib/elementary/elm_interface_scrollable.c   |  8 ++++++++
 src/lib/elementary/elm_interface_scrollable.eo  |  2 --
 src/lib/elementary/elm_inwin.c                  |  5 +++++
 src/lib/elementary/elm_inwin.eo                 |  1 -
 src/lib/elementary/elm_label.c                  |  5 +++++
 src/lib/elementary/elm_label.eo                 |  1 -
 src/lib/elementary/elm_layout.c                 |  4 ++++
 src/lib/elementary/elm_layout.eo                |  2 --
 src/lib/elementary/elm_list.c                   |  5 +++++
 src/lib/elementary/elm_list.eo                  |  2 --
 src/lib/elementary/elm_map.c                    |  5 +++++
 src/lib/elementary/elm_map.eo                   |  2 --
 src/lib/elementary/elm_mapbuf.c                 |  5 +++++
 src/lib/elementary/elm_mapbuf.eo                |  2 --
 src/lib/elementary/elm_menu.c                   |  5 +++++
 src/lib/elementary/elm_menu.eo                  |  2 --
 src/lib/elementary/elm_multibuttonentry.eo      |  2 --
 src/lib/elementary/elm_naviframe.eo             |  2 --
 src/lib/elementary/elm_notify.c                 |  5 +++++
 src/lib/elementary/elm_notify.eo                |  2 --
 src/lib/elementary/elm_pan.eo                   |  2 --
 src/lib/elementary/elm_panel.c                  |  5 +++++
 src/lib/elementary/elm_panel.eo                 |  2 --
 src/lib/elementary/elm_panes.c                  |  5 +++++
 src/lib/elementary/elm_panes.eo                 |  1 -
 src/lib/elementary/elm_photo.c                  |  5 +++++
 src/lib/elementary/elm_photo.eo                 |  2 --
 src/lib/elementary/elm_photocam.c               |  5 +++++
 src/lib/elementary/elm_photocam.eo              |  2 --
 src/lib/elementary/elm_player.eo                |  2 --
 src/lib/elementary/elm_plug.c                   |  5 +++++
 src/lib/elementary/elm_plug.eo                  |  1 -
 src/lib/elementary/elm_popup.eo                 |  2 --
 src/lib/elementary/elm_prefs.c                  |  5 +++++
 src/lib/elementary/elm_prefs.eo                 |  2 --
 src/lib/elementary/elm_progressbar.c            |  5 +++++
 src/lib/elementary/elm_progressbar.eo           |  2 --
 src/lib/elementary/elm_radio.c                  |  5 +++++
 src/lib/elementary/elm_radio.eo                 |  2 --
 src/lib/elementary/elm_route.c                  |  5 +++++
 src/lib/elementary/elm_route.eo                 |  2 --
 src/lib/elementary/elm_scroller.c               |  5 +++++
 src/lib/elementary/elm_scroller.eo              |  1 -
 src/lib/elementary/elm_segment_control.c        |  5 +++++
 src/lib/elementary/elm_segment_control.eo       |  2 --
 src/lib/elementary/elm_separator.c              |  5 +++++
 src/lib/elementary/elm_separator.eo             |  1 -
 src/lib/elementary/elm_slider.c                 |  5 +++++
 src/lib/elementary/elm_slider.eo                |  2 --
 src/lib/elementary/elm_slideshow.c              |  5 +++++
 src/lib/elementary/elm_slideshow.eo             |  2 --
 src/lib/elementary/elm_spinner.c                |  5 +++++
 src/lib/elementary/elm_spinner.eo               |  2 --
 src/lib/elementary/elm_table.c                  |  5 +++++
 src/lib/elementary/elm_table.eo                 |  2 --
 src/lib/elementary/elm_thumb.c                  |  5 +++++
 src/lib/elementary/elm_thumb.eo                 |  2 --
 src/lib/elementary/elm_toolbar.c                |  6 ++++++
 src/lib/elementary/elm_toolbar.eo               |  2 --
 src/lib/elementary/elm_widget.c                 |  5 +++++
 src/lib/elementary/elm_widget.eo                |  2 --
 src/lib/emotion/efl_canvas_video.eo             |  2 --
 src/lib/emotion/emotion_smart.c                 |  6 ++++++
 src/lib/evas/Evas_Internal.h                    |  7 +++++++
 src/lib/evas/canvas/efl_canvas_group.eo         |  8 --------
 src/lib/evas/canvas/efl_canvas_group_clipped.eo |  2 --
 src/lib/evas/canvas/evas_box.eo                 |  2 --
 src/lib/evas/canvas/evas_object_box.c           |  5 +++++
 src/lib/evas/canvas/evas_object_smart.c         | 10 ++++++++++
 src/lib/evas/canvas/evas_object_smart_clipped.c |  5 +++++
 src/lib/evas/canvas/evas_object_table.c         |  5 +++++
 src/lib/evas/canvas/evas_table.eo               |  2 --
 src/modules/elementary/web/none/elm_web_none.c  |  5 +++++
 src/modules/elementary/web/none/elm_web_none.eo |  1 -
 164 files changed, 418 insertions(+), 156 deletions(-)

diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 2afa596..2149206 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -16787,4 +16787,9 @@ edje_edit_print_internal_status(Evas_Object *obj)
  */
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EDJE_EDIT_EXTRA_OPS \
+   EFL_CANVAS_GROUP_DEL_OPS(edje_edit)
+
 #include "edje_edit.eo.c"
diff --git a/src/lib/edje/edje_edit.eo b/src/lib/edje/edje_edit.eo
index 0d87b32..297120e 100644
--- a/src/lib/edje/edje_edit.eo
+++ b/src/lib/edje/edje_edit.eo
@@ -10,7 +10,6 @@ class Edje.Edit (Edje.Object)
    implements {
       Efl.Object.constructor;
       Efl.Object.destructor;
-      Efl.Canvas.Group.group_del;
       Efl.File.file { set; }
       Efl.File.mmap { set; }
    }
diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo
index 0a0fea9..18e2dcf 100644
--- a/src/lib/edje/edje_object.eo
+++ b/src/lib/edje/edje_object.eo
@@ -2109,8 +2109,6 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, 
Efl.Container, Efl.Part,
       Efl.Object.destructor;
       Efl.Canvas.Object.no_render { set; }
       Efl.Canvas.Object.paragraph_direction { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_calculate;
       Efl.File.file { get; set; }
       Efl.File.mmap { get; set; }
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 94c994a..6b9da86 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -45,6 +45,7 @@
 #include <Eet.h>
 #include <Eo.h>
 #include <Evas.h>
+#include <Evas_Internal.h>
 #include <Ecore.h>
 #include <Ecore_Evas.h>
 #include <Ecore_File.h>
@@ -65,6 +66,7 @@
 #endif
 
 #include "Edje.h"
+
 #ifdef EAPI
 # undef EAPI
 #endif
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 6c42369..c14aed1 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -546,7 +546,10 @@ _edje_object_efl_observer_update(Eo *obj EINA_UNUSED, Edje 
*ed, Efl_Object *obs,
      }
 }
 
+/* Internal EO APIs and hidden overrides */
+
 #define EDJE_OBJECT_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(edje_object), \
    EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _edje_object_efl_object_dbg_info_get)
 
 #include "edje_object.eo.c"
diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c
index 499d33e..845061a 100644
--- a/src/lib/elementary/efl_ui_box.c
+++ b/src/lib/elementary/efl_ui_box.c
@@ -610,4 +610,9 @@ _efl_ui_box_efl_pack_pack_align_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Box_Data *pd, do
    if (v) *v = pd->align.v;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_BOX_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_box)
+
 #include "efl_ui_box.eo.c"
diff --git a/src/lib/elementary/efl_ui_box.eo b/src/lib/elementary/efl_ui_box.eo
index f0b68ba..71d963a 100644
--- a/src/lib/elementary/efl_ui_box.eo
+++ b/src/lib/elementary/efl_ui_box.eo
@@ -4,8 +4,6 @@ class Efl.Ui.Box (Elm.Widget, Efl.Pack.Linear, Efl.Pack.Layout,
    [[Efl UI box class]]
    implements {
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_calculate;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
diff --git a/src/lib/elementary/efl_ui_clock.c 
b/src/lib/elementary/efl_ui_clock.c
index fbdec4b..b93ed4b 100644
--- a/src/lib/elementary/efl_ui_clock.c
+++ b/src/lib/elementary/efl_ui_clock.c
@@ -1202,4 +1202,9 @@ _efl_ui_clock_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_CLOCK_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_clock)
+
 #include "efl_ui_clock.eo.c"
diff --git a/src/lib/elementary/efl_ui_clock.eo 
b/src/lib/elementary/efl_ui_clock.eo
index ed7d609..9ac84ad 100644
--- a/src/lib/elementary/efl_ui_clock.eo
+++ b/src/lib/elementary/efl_ui_clock.eo
@@ -244,8 +244,6 @@ class Efl.Ui.Clock (Elm.Layout)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index fc8c3d7..d6d1ac4 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -2404,4 +2404,9 @@ ELM_PART_IMPLEMENT_CONTENT_UNSET(efl_ui_flip, 
EFL_UI_FLIP, Efl_Ui_Flip_Data, Elm
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_FLIP_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_flip)
+
 #include "efl_ui_flip.eo.c"
diff --git a/src/lib/elementary/efl_ui_flip.eo 
b/src/lib/elementary/efl_ui_flip.eo
index c035081..f7b728b 100644
--- a/src/lib/elementary/efl_ui_flip.eo
+++ b/src/lib/elementary/efl_ui_flip.eo
@@ -229,8 +229,6 @@ class Efl.Ui.Flip (Elm.Widget, Efl.Pack.Linear, Efl.Part)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_direction;
       Elm.Widget.sub_object_add;
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/efl_ui_frame.c 
b/src/lib/elementary/efl_ui_frame.c
index e0568f5..a64673c 100644
--- a/src/lib/elementary/efl_ui_frame.c
+++ b/src/lib/elementary/efl_ui_frame.c
@@ -267,4 +267,9 @@ _efl_ui_frame_class_constructor(Efl_Class *klass)
       evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_FRAME_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(efl_ui_frame)
+
 #include "efl_ui_frame.eo.c"
diff --git a/src/lib/elementary/efl_ui_frame.eo 
b/src/lib/elementary/efl_ui_frame.eo
index 367af5d..7050d48 100644
--- a/src/lib/elementary/efl_ui_frame.eo
+++ b/src/lib/elementary/efl_ui_frame.eo
@@ -56,7 +56,6 @@ class Efl.Ui.Frame (Elm.Layout, Efl.Ui.Clickable)
       Efl.Object.constructor;
       class.constructor;
       Efl.Canvas.Group.group_calculate;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/efl_ui_grid.c b/src/lib/elementary/efl_ui_grid.c
index 50299c2..fda6545 100644
--- a/src/lib/elementary/efl_ui_grid.c
+++ b/src/lib/elementary/efl_ui_grid.c
@@ -798,4 +798,9 @@ _efl_ui_grid_efl_pack_linear_pack_end(Eo *obj, 
Efl_Ui_Grid_Data *pd, Efl_Gfx *su
    return _pack_at(obj, pd, subobj, col, row, 1, 1, EINA_TRUE);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_GRID_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_grid)
+
 #include "efl_ui_grid.eo.c"
diff --git a/src/lib/elementary/efl_ui_grid.eo 
b/src/lib/elementary/efl_ui_grid.eo
index 746ff45..6e330a4 100644
--- a/src/lib/elementary/efl_ui_grid.eo
+++ b/src/lib/elementary/efl_ui_grid.eo
@@ -4,8 +4,6 @@ class Efl.Ui.Grid (Elm.Widget, Efl.Pack.Grid, Efl.Pack.Layout,
    [[Efl UI grid class]]
    implements {
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_calculate;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 9b59638..a41a835 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -2218,4 +2218,9 @@ elm_image_aspect_fixed_get(const Evas_Object *obj)
    return sd->aspect_fixed;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_IMAGE_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_image)
+
 #include "efl_ui_image.eo.c"
diff --git a/src/lib/elementary/efl_ui_image.eo 
b/src/lib/elementary/efl_ui_image.eo
index d559f85..f5f5930 100644
--- a/src/lib/elementary/efl_ui_image.eo
+++ b/src/lib/elementary/efl_ui_image.eo
@@ -140,8 +140,6 @@ class Efl.Ui.Image (Elm.Widget, Efl.Ui.Clickable, 
Efl.Ui.Draggable,
       Edje.Object.size_min_calc;
       Edje.Object.calc_force;
       Efl.Canvas.Object.clip { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_member_add;
       Efl.Ui.Draggable.drag_target { get; set; }
       Efl.Ui.Model.Connect.connect;
diff --git a/src/lib/elementary/efl_ui_nstate.c 
b/src/lib/elementary/efl_ui_nstate.c
index ec47e19..271a4b1 100644
--- a/src/lib/elementary/efl_ui_nstate.c
+++ b/src/lib/elementary/efl_ui_nstate.c
@@ -186,4 +186,9 @@ _efl_ui_nstate_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_NSTATE_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_nstate)
+
 #include "efl_ui_nstate.eo.c"
diff --git a/src/lib/elementary/efl_ui_nstate.eo 
b/src/lib/elementary/efl_ui_nstate.eo
index 854580a..a3546f6 100644
--- a/src/lib/elementary/efl_ui_nstate.eo
+++ b/src/lib/elementary/efl_ui_nstate.eo
@@ -30,8 +30,6 @@ class Efl.Ui.Nstate(Elm.Button)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.widget_event;
    }
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index 0b7860c..df169d5 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -5629,6 +5629,11 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_entry, EFL_UI_TEXT, 
ELM_LAYOUT, Efl_Ui_Text_
 /* Efl.Part end */
 #endif
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_TEXT_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_text)
+
 #include "efl_ui_text.eo.c"
 
 #undef MY_CLASS
diff --git a/src/lib/elementary/efl_ui_text.eo 
b/src/lib/elementary/efl_ui_text.eo
index 88e5a50..9a305da 100644
--- a/src/lib/elementary/efl_ui_text.eo
+++ b/src/lib/elementary/efl_ui_text.eo
@@ -404,8 +404,6 @@ class Efl.Ui.Text (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
       Efl.Canvas.Group.group_member_add;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.activate;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/efl_ui_video.c 
b/src/lib/elementary/efl_ui_video.c
index 3521310..375ef8b 100644
--- a/src/lib/elementary/efl_ui_video.c
+++ b/src/lib/elementary/efl_ui_video.c
@@ -471,4 +471,9 @@ elm_video_play_position_get(const Evas_Object *obj)
    return efl_player_position_get(obj);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_UI_VIDEO_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_video)
+
 #include "efl_ui_video.eo.c"
diff --git a/src/lib/elementary/efl_ui_video.eo 
b/src/lib/elementary/efl_ui_video.eo
index 88f3ad2..37a0386 100644
--- a/src/lib/elementary/efl_ui_video.eo
+++ b/src/lib/elementary/efl_ui_video.eo
@@ -64,8 +64,6 @@ class Efl.Ui.Video (Elm.Layout, Efl.File,
       class.constructor;
       Efl.Object.constructor;
       Efl.File.file { get; set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.widget_event;
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 05f0559..37f46ff 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -8047,8 +8047,10 @@ elm_win_teamwork_uri_open(Efl_Ui_Win *obj EINA_UNUSED, 
const char *uri EINA_UNUS
    ERR("Calling deprecrated function '%s'", __FUNCTION__);
 }
 
-/* Internal EO APIs */
+/* Internal EO APIs and hidden overrides */
+
 #define EFL_UI_WIN_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_win), \
    EFL_OBJECT_OP_FUNC(efl_canvas_object_legacy_ctor, 
_efl_ui_win_efl_canvas_object_legacy_ctor)
 
 #include "efl_ui_win.eo.c"
diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo
index b99aa75..86a529a 100644
--- a/src/lib/elementary/efl_ui_win.eo
+++ b/src/lib/elementary/efl_ui_win.eo
@@ -930,8 +930,6 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, 
Elm.Interface.Atspi.Window,
       Efl.Gfx.visible { set; }
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elc_combobox.c 
b/src/lib/elementary/elc_combobox.c
index fa35008..da41dec 100644
--- a/src/lib/elementary/elc_combobox.c
+++ b/src/lib/elementary/elc_combobox.c
@@ -559,4 +559,10 @@ _elm_combobox_efl_gfx_size_set(Eo *obj, Elm_Combobox_Data 
*pd, Evas_Coord w, Eva
    if (pd->count > 0) _table_resize(obj);
    efl_gfx_size_set(efl_super(obj, MY_CLASS), w, h);
 }
+
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_COMBOBOX_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_combobox)
+
 #include "elm_combobox.eo.c"
diff --git a/src/lib/elementary/elc_ctxpopup.c 
b/src/lib/elementary/elc_ctxpopup.c
index f8f9670..5a3480f 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -1568,6 +1568,11 @@ 
_elm_ctxpopup_elm_interface_atspi_accessible_state_set_get(Eo *obj, Elm_Ctxpopup
    return ret;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_CTXPOPUP_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_ctxpopup)
+
 /* Efl.Part begin */
 
 ELM_PART_OVERRIDE(elm_ctxpopup, ELM_CTXPOPUP, ELM_LAYOUT, Elm_Ctxpopup_Data, 
Elm_Part_Data)
diff --git a/src/lib/elementary/elc_fileselector.c 
b/src/lib/elementary/elc_fileselector.c
index 68d5ffe..4f28a99 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -3188,7 +3188,10 @@ 
_elm_fileselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
 #define ELM_FILESELECTOR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_fileselector), \
    EFL_OBJECT_OP_FUNC(efl_event_callback_legacy_call, 
_elm_fileselector_efl_object_event_callback_legacy_call)
 
 #include "elm_fileselector.eo.c"
diff --git a/src/lib/elementary/elc_fileselector_button.c 
b/src/lib/elementary/elc_fileselector_button.c
index d098c94..e02691c 100644
--- a/src/lib/elementary/elc_fileselector_button.c
+++ b/src/lib/elementary/elc_fileselector_button.c
@@ -663,4 +663,9 @@ elm_fileselector_button_inwin_mode_get(const Eo *obj)
    return sd->inwin_mode;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_FILESELECTOR_BUTTON_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_fileselector_button)
+
 #include "elm_fileselector_button.eo.c"
diff --git a/src/lib/elementary/elc_fileselector_entry.c 
b/src/lib/elementary/elc_fileselector_entry.c
index e5632c1..2f011b7 100644
--- a/src/lib/elementary/elc_fileselector_entry.c
+++ b/src/lib/elementary/elc_fileselector_entry.c
@@ -685,4 +685,9 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_fileselector_entry, 
ELM_FILESELECTOR_ENTRY,
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_FILESELECTOR_ENTRY_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_fileselector_entry)
+
 #include "elm_fileselector_entry.eo.c"
diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index 5606dee..aaedfa5 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -1047,5 +1047,10 @@ _elm_hoversel_auto_update_get(Eo *obj EINA_UNUSED, 
Elm_Hoversel_Data *sd)
    return sd->auto_update;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_HOVERSEL_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_hoversel)
+
 #include "elm_hoversel_item.eo.c"
 #include "elm_hoversel.eo.c"
diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index 29a4c1e..f3098ea 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -2101,5 +2101,10 @@ 
_elm_multibuttonentry_item_elm_interface_atspi_widget_action_elm_actions_get(Eo
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_MULTIBUTTONENTRY_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_multibuttonentry)
+
 #include "elm_multibuttonentry_item.eo.c"
 #include "elm_multibuttonentry.eo.c"
diff --git a/src/lib/elementary/elc_naviframe.c 
b/src/lib/elementary/elc_naviframe.c
index fb9f988..dbae4ec 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -2078,5 +2078,10 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_naviframe, 
ELM_NAVIFRAME, ELM_LAYOUT, Elm_Na
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_NAVIFRAME_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_naviframe)
+
 #include "elm_naviframe_item.eo.c"
 #include "elm_naviframe.eo.c"
diff --git a/src/lib/elementary/elc_player.c b/src/lib/elementary/elc_player.c
index ff0c166..a8725a2 100644
--- a/src/lib/elementary/elc_player.c
+++ b/src/lib/elementary/elc_player.c
@@ -713,4 +713,9 @@ ELM_PART_OVERRIDE_CONTENT_SET(elm_player, ELM_PLAYER, 
ELM_LAYOUT, Elm_Player_Dat
 
 /* End of Efl.Part */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PLAYER_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_player)
+
 #include "elm_player.eo.c"
diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index dcb78a3..9f97205 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -1896,5 +1896,10 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_popup, ELM_POPUP, 
ELM_LAYOUT, Elm_Popup_Data
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_POPUP_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_popup)
+
 #include "elm_popup.eo.c"
 #include "elm_popup_item.eo.c"
diff --git a/src/lib/elementary/elm_access.c b/src/lib/elementary/elm_access.c
index 482ee98..c3c6534 100644
--- a/src/lib/elementary/elm_access.c
+++ b/src/lib/elementary/elm_access.c
@@ -1508,4 +1508,9 @@ 
_elm_access_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSE
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_ACCESS_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_access)
+
 #include "elm_access.eo.c"
diff --git a/src/lib/elementary/elm_access.eo b/src/lib/elementary/elm_access.eo
index b92bc65..fac2667 100644
--- a/src/lib/elementary/elm_access.eo
+++ b/src/lib/elementary/elm_access.eo
@@ -7,7 +7,6 @@ class Elm.Access (Elm.Widget, Elm.Interface.Atspi_Widget_Action)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.activate;
       Elm.Widget.on_focus;
       Elm.Interface.Atspi_Widget_Action.elm_actions { get; }
diff --git a/src/lib/elementary/elm_actionslider.c 
b/src/lib/elementary/elm_actionslider.c
index 3823965..e3e09db 100644
--- a/src/lib/elementary/elm_actionslider.c
+++ b/src/lib/elementary/elm_actionslider.c
@@ -654,4 +654,9 @@ _elm_actionslider_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_ACTIONSLIDER_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_actionslider)
+
 #include "elm_actionslider.eo.c"
diff --git a/src/lib/elementary/elm_actionslider.eo 
b/src/lib/elementary/elm_actionslider.eo
index aec874f..c7d4328 100644
--- a/src/lib/elementary/elm_actionslider.eo
+++ b/src/lib/elementary/elm_actionslider.eo
@@ -71,7 +71,6 @@ class Elm.Actionslider (Elm.Layout, Efl.Ui.Selectable)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/elm_bg.c b/src/lib/elementary/elm_bg.c
index b2d5eb9..1d16674 100644
--- a/src/lib/elementary/elm_bg.c
+++ b/src/lib/elementary/elm_bg.c
@@ -286,4 +286,9 @@ elm_bg_file_get(const Eo *obj, const char **file, const 
char **group)
    efl_file_get((Eo *) obj, file, group);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_BG_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_bg)
+
 #include "elm_bg.eo.c"
diff --git a/src/lib/elementary/elm_bg.eo b/src/lib/elementary/elm_bg.eo
index 3ab8aaf..7bc2f61 100644
--- a/src/lib/elementary/elm_bg.eo
+++ b/src/lib/elementary/elm_bg.eo
@@ -96,7 +96,6 @@ class Elm.Bg (Elm.Layout, Efl.File)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Layout.content_aliases { get; }
       Elm.Layout.sizing_eval;
       Efl.File.file { get; set; }
diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c
index f41815b..56759d8 100644
--- a/src/lib/elementary/elm_box.c
+++ b/src/lib/elementary/elm_box.c
@@ -726,4 +726,9 @@ _elm_box_elm_widget_focus_register(Eo *obj, Elm_Box_Data 
*pd, Efl_Ui_Focus_Manag
    return result;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_BOX_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_box)
+
 #include "elm_box.eo.c"
diff --git a/src/lib/elementary/elm_box.eo b/src/lib/elementary/elm_box.eo
index 7de0900..fa68f07 100644
--- a/src/lib/elementary/elm_box.eo
+++ b/src/lib/elementary/elm_box.eo
@@ -286,8 +286,6 @@ class Elm.Box (Elm.Widget)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_calculate;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c
index 5da0b3c..15d67e4 100644
--- a/src/lib/elementary/elm_bubble.c
+++ b/src/lib/elementary/elm_bubble.c
@@ -288,4 +288,9 @@ _elm_bubble_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_BUBBLE_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_bubble)
+
 #include "elm_bubble.eo.c"
diff --git a/src/lib/elementary/elm_bubble.eo b/src/lib/elementary/elm_bubble.eo
index 5fed65a..2c0efba 100644
--- a/src/lib/elementary/elm_bubble.eo
+++ b/src/lib/elementary/elm_bubble.eo
@@ -38,7 +38,6 @@ class Elm.Bubble (Elm.Layout, Efl.Ui.Clickable)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_button.c b/src/lib/elementary/elm_button.c
index f8858fc..2ca0ae8 100644
--- a/src/lib/elementary/elm_button.c
+++ b/src/lib/elementary/elm_button.c
@@ -491,4 +491,9 @@ elm_button_autorepeat_get(const Evas_Object *obj)
    return efl_ui_autorepeat_enabled_get(obj);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_BUTTON_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_button)
+
 #include "elm_button.eo.c"
diff --git a/src/lib/elementary/elm_button.eo b/src/lib/elementary/elm_button.eo
index 85962f1..9489e6c 100644
--- a/src/lib/elementary/elm_button.eo
+++ b/src/lib/elementary/elm_button.eo
@@ -13,7 +13,6 @@ class Elm.Button (Elm.Layout, Efl.Ui.Clickable, 
Efl.Ui.Autorepeat, Efl.Text,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Efl.Ui.Autorepeat.autorepeat_initial_timeout { set; get; }
       Efl.Ui.Autorepeat.autorepeat_gap_timeout { set; get; }
       Efl.Ui.Autorepeat.autorepeat_enabled { set; get; }
diff --git a/src/lib/elementary/elm_calendar.c 
b/src/lib/elementary/elm_calendar.c
index aeb5eb1..f2ebc80 100644
--- a/src/lib/elementary/elm_calendar.c
+++ b/src/lib/elementary/elm_calendar.c
@@ -2334,4 +2334,9 @@ 
_elm_calendar_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNU
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_CALENDAR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_calendar)
+
 #include "elm_calendar.eo.c"
diff --git a/src/lib/elementary/elm_calendar.eo 
b/src/lib/elementary/elm_calendar.eo
index 8d200be..0db7e22 100644
--- a/src/lib/elementary/elm_calendar.eo
+++ b/src/lib/elementary/elm_calendar.eo
@@ -412,8 +412,6 @@ class Elm.Calendar (Elm.Layout, 
Elm.Interface.Atspi_Widget_Action)
       class.constructor;
       Efl.Object.constructor;
       Efl.Canvas.Group.group_calculate;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_check.c b/src/lib/elementary/elm_check.c
index 6aefe55..4e2b746 100644
--- a/src/lib/elementary/elm_check.c
+++ b/src/lib/elementary/elm_check.c
@@ -432,4 +432,9 @@ _elm_check_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_CHECK_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_check)
+
 #include "elm_check.eo.c"
diff --git a/src/lib/elementary/elm_check.eo b/src/lib/elementary/elm_check.eo
index a3a99e3..e67ddf5 100644
--- a/src/lib/elementary/elm_check.eo
+++ b/src/lib/elementary/elm_check.eo
@@ -24,7 +24,6 @@ class Elm.Check (Efl.Ui.Nstate, 
Elm.Interface.Atspi_Widget_Action)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.activate;
       Elm.Widget.theme_apply;
       Elm.Widget.sub_object_del;
diff --git a/src/lib/elementary/elm_clock.c b/src/lib/elementary/elm_clock.c
index 9e815e4..0ca59dd 100644
--- a/src/lib/elementary/elm_clock.c
+++ b/src/lib/elementary/elm_clock.c
@@ -957,4 +957,9 @@ _elm_clock_class_constructor(Efl_Class *klass)
       _elm_clock_smart_focus_next_enable = EINA_TRUE;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_CLOCK_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_clock)
+
 #include "elm_clock.eo.c"
diff --git a/src/lib/elementary/elm_clock.eo b/src/lib/elementary/elm_clock.eo
index 004eb96..c2f5007 100644
--- a/src/lib/elementary/elm_clock.eo
+++ b/src/lib/elementary/elm_clock.eo
@@ -163,8 +163,6 @@ class Elm.Clock (Elm.Layout)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.access;
diff --git a/src/lib/elementary/elm_code_widget.c 
b/src/lib/elementary/elm_code_widget.c
index ed18da2..144f8b8 100644
--- a/src/lib/elementary/elm_code_widget.c
+++ b/src/lib/elementary/elm_code_widget.c
@@ -2222,6 +2222,11 @@ _elm_code_widget_efl_canvas_group_group_add(Eo *obj, 
Elm_Code_Widget_Data *pd)
    efl_event_callback_add(obj, ELM_OBJ_CODE_WIDGET_EVENT_SELECTION_CLEARED, 
_elm_code_widget_selection_clear_cb, obj);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_CODE_WIDGET_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_code_widget)
+
 #include "elm_code_widget_text.c"
 #include "elm_code_widget_undo.c"
 #include "elm_code_widget.eo.c"
diff --git a/src/lib/elementary/elm_code_widget.eo 
b/src/lib/elementary/elm_code_widget.eo
index f5f5149..6cc219f 100644
--- a/src/lib/elementary/elm_code_widget.eo
+++ b/src/lib/elementary/elm_code_widget.eo
@@ -300,7 +300,6 @@ class Elm.Code_Widget (Elm.Layout, Elm.Interface.Atspi.Text)
       class.constructor;
       Efl.Object.constructor;
       Efl.Object.finalize;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.widget_event;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_colorselector.c 
b/src/lib/elementary/elm_colorselector.c
index f3bbfb8..94a288a 100644
--- a/src/lib/elementary/elm_colorselector.c
+++ b/src/lib/elementary/elm_colorselector.c
@@ -2623,6 +2623,11 @@ _elm_color_item_elm_widget_item_focus_get(Eo *eo_it, 
Elm_Color_Item_Data *it)
    return EINA_FALSE;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_COLORSELECTOR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_colorselector)
+
 #include "elm_colorselector.eo.c"
 #include "elm_color_item.eo.c"
 
diff --git a/src/lib/elementary/elm_colorselector.eo 
b/src/lib/elementary/elm_colorselector.eo
index 8b4923d..023c1b7 100644
--- a/src/lib/elementary/elm_colorselector.eo
+++ b/src/lib/elementary/elm_colorselector.eo
@@ -108,8 +108,6 @@ class Elm.Colorselector (Elm.Layout, 
Elm.Interface.Atspi_Widget_Action,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_combobox.eo 
b/src/lib/elementary/elm_combobox.eo
index fa89ecc..def7430 100644
--- a/src/lib/elementary/elm_combobox.eo
+++ b/src/lib/elementary/elm_combobox.eo
@@ -39,8 +39,6 @@ class Elm.Combobox (Elm.Button, Efl.Ui.Selectable,
       Efl.Object.constructor;
       Efl.Gfx.visible { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.part_text { get; set; }
       Elm.Widget.theme_apply;
       Elm.Widget.translate;
diff --git a/src/lib/elementary/elm_conform.c b/src/lib/elementary/elm_conform.c
index 0ca7c86..15b5006 100644
--- a/src/lib/elementary/elm_conform.c
+++ b/src/lib/elementary/elm_conform.c
@@ -1031,4 +1031,9 @@ _elm_conformant_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_CONFORMANT_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_conformant)
+
 #include "elm_conformant.eo.c"
diff --git a/src/lib/elementary/elm_conformant.eo 
b/src/lib/elementary/elm_conformant.eo
index 437a937..142c8f6 100644
--- a/src/lib/elementary/elm_conformant.eo
+++ b/src/lib/elementary/elm_conformant.eo
@@ -7,8 +7,6 @@ class Elm.Conformant (Elm.Layout)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.widget_parent { set; }
       Elm.Widget.theme_apply;
       Elm.Layout.content_aliases { get; }
diff --git a/src/lib/elementary/elm_ctxpopup.eo 
b/src/lib/elementary/elm_ctxpopup.eo
index b4f3c1e..bec4e67 100644
--- a/src/lib/elementary/elm_ctxpopup.eo
+++ b/src/lib/elementary/elm_ctxpopup.eo
@@ -154,8 +154,6 @@ class Elm.Ctxpopup (Elm.Layout, 
Elm.Interface.Atspi_Widget_Action,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_del;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.widget_parent { set; }
       Elm.Widget.focus_direction;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_dayselector.c 
b/src/lib/elementary/elm_dayselector.c
index 985a533..6b20371 100644
--- a/src/lib/elementary/elm_dayselector.c
+++ b/src/lib/elementary/elm_dayselector.c
@@ -619,6 +619,11 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_dayselector, 
ELM_DAYSELECTOR, ELM_LAYOUT, El
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_DAYSELECTOR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_dayselector)
+
 #include "elm_dayselector.eo.c"
 #include "elm_dayselector_item.eo.c"
 
diff --git a/src/lib/elementary/elm_dayselector.eo 
b/src/lib/elementary/elm_dayselector.eo
index cd3c83c..5c74719 100644
--- a/src/lib/elementary/elm_dayselector.eo
+++ b/src/lib/elementary/elm_dayselector.eo
@@ -151,8 +151,6 @@ class Elm.Dayselector (Elm.Layout)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.translate;
diff --git a/src/lib/elementary/elm_diskselector.c 
b/src/lib/elementary/elm_diskselector.c
index 9294863..24cd265 100644
--- a/src/lib/elementary/elm_diskselector.c
+++ b/src/lib/elementary/elm_diskselector.c
@@ -1836,5 +1836,10 @@ 
_elm_diskselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_DISKSELECTOR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_diskselector)
+
 #include "elm_diskselector.eo.c"
 #include "elm_diskselector_item.eo.c"
diff --git a/src/lib/elementary/elm_diskselector.eo 
b/src/lib/elementary/elm_diskselector.eo
index ae157b1..edc939b 100644
--- a/src/lib/elementary/elm_diskselector.eo
+++ b/src/lib/elementary/elm_diskselector.eo
@@ -201,8 +201,6 @@ class Elm.Diskselector (Elm.Widget, 
Elm.Interface_Scrollable,
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
       Efl.Canvas.Group.group_member_add;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.access;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 8b89481..1880a03 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -6025,4 +6025,9 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_entry, ELM_ENTRY, 
ELM_LAYOUT, Elm_Entry_Data
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_ENTRY_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_entry)
+
 #include "elm_entry.eo.c"
diff --git a/src/lib/elementary/elm_entry.eo b/src/lib/elementary/elm_entry.eo
index 3b26637..5a208d4 100644
--- a/src/lib/elementary/elm_entry.eo
+++ b/src/lib/elementary/elm_entry.eo
@@ -945,8 +945,6 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
       Efl.Canvas.Group.group_member_add;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.activate;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/elm_fileselector.eo 
b/src/lib/elementary/elm_fileselector.eo
index befb014..82ec570 100644
--- a/src/lib/elementary/elm_fileselector.eo
+++ b/src/lib/elementary/elm_fileselector.eo
@@ -35,8 +35,6 @@ class Elm.Fileselector (Elm.Layout, 
Elm.Interface.Fileselector,
       class.constructor;
       class.destructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_next;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.focus_direction;
diff --git a/src/lib/elementary/elm_fileselector_button.eo 
b/src/lib/elementary/elm_fileselector_button.eo
index f452214..977e391 100644
--- a/src/lib/elementary/elm_fileselector_button.eo
+++ b/src/lib/elementary/elm_fileselector_button.eo
@@ -4,8 +4,6 @@ class Elm.Fileselector_Button (Elm.Button, 
Elm.Interface.Fileselector)
    event_prefix: elm_fileselector_button;
    implements {
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Efl.Ui.Autorepeat.autorepeat_supported { get; }
       Elm.Interface.Fileselector.selected_models { get; }
diff --git a/src/lib/elementary/elm_fileselector_entry.eo 
b/src/lib/elementary/elm_fileselector_entry.eo
index a08c3b1..e695055 100644
--- a/src/lib/elementary/elm_fileselector_entry.eo
+++ b/src/lib/elementary/elm_fileselector_entry.eo
@@ -6,8 +6,6 @@ class Elm.Fileselector_Entry (Elm.Layout, 
Elm.Interface.Fileselector,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_del;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_flipselector.c 
b/src/lib/elementary/elm_flipselector.c
index 75544e6..0291977 100644
--- a/src/lib/elementary/elm_flipselector.c
+++ b/src/lib/elementary/elm_flipselector.c
@@ -927,5 +927,10 @@ 
_elm_flipselector_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_FLIPSELECTOR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_flipselector)
+
 #include "elm_flipselector_item.eo.c"
 #include "elm_flipselector.eo.c"
diff --git a/src/lib/elementary/elm_flipselector.eo 
b/src/lib/elementary/elm_flipselector.eo
index 69f4a8b..1367c04 100644
--- a/src/lib/elementary/elm_flipselector.eo
+++ b/src/lib/elementary/elm_flipselector.eo
@@ -127,8 +127,6 @@ class Elm.Flipselector (Elm.Layout, Efl.Ui.Spin,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 9a2c61d..60076cd 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -6115,5 +6115,10 @@ 
_elm_gengrid_elm_interface_atspi_selection_child_deselect(Eo *obj EINA_UNUSED, E
    return EINA_FALSE;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_GENGRID_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_gengrid)
+
 #include "elm_gengrid.eo.c"
 #include "elm_gengrid_item.eo.c"
diff --git a/src/lib/elementary/elm_gengrid.eo 
b/src/lib/elementary/elm_gengrid.eo
index d80efd8..4f042eb 100644
--- a/src/lib/elementary/elm_gengrid.eo
+++ b/src/lib/elementary/elm_gengrid.eo
@@ -547,8 +547,6 @@ class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
       Efl.Object.constructor;
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_member_add;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
diff --git a/src/lib/elementary/elm_genlist.c b/src/lib/elementary/elm_genlist.c
index b657e57..c771570 100644
--- a/src/lib/elementary/elm_genlist.c
+++ b/src/lib/elementary/elm_genlist.c
@@ -2571,8 +2571,6 @@ _elm_genlist_pan_class_constructor(Efl_Class *klass)
       evas_smart_legacy_type_register(MY_PAN_CLASS_NAME_LEGACY, klass);
 }
 
-#include "elm_genlist_pan.eo.c"
-
 static Eina_Bool
 _item_multi_select_up(Elm_Genlist_Data *sd)
 {
@@ -8699,5 +8697,14 @@ 
_elm_genlist_elm_interface_atspi_selection_child_deselect(Eo *obj EINA_UNUSED, E
    return EINA_FALSE;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_GENLIST_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_genlist)
+
+#define ELM_GENLIST_PAN_EXTRA_OPS \
+   EFL_CANVAS_GROUP_DEL_OPS(elm_genlist_pan)
+
 #include "elm_genlist.eo.c"
+#include "elm_genlist_pan.eo.c"
 #include "elm_genlist_item.eo.c"
diff --git a/src/lib/elementary/elm_genlist.eo 
b/src/lib/elementary/elm_genlist.eo
index b01ec46..cad3820 100644
--- a/src/lib/elementary/elm_genlist.eo
+++ b/src/lib/elementary/elm_genlist.eo
@@ -534,8 +534,6 @@ class Elm.Genlist (Elm.Layout, Elm.Interface_Scrollable, 
Efl.Ui.Clickable,
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
       Efl.Canvas.Group.group_member_add;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.sub_object_add;
diff --git a/src/lib/elementary/elm_genlist_pan.eo 
b/src/lib/elementary/elm_genlist_pan.eo
index bf6e242..f7ac810 100644
--- a/src/lib/elementary/elm_genlist_pan.eo
+++ b/src/lib/elementary/elm_genlist_pan.eo
@@ -10,7 +10,6 @@ class Elm.Genlist.Pan (Elm.Pan)
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
       Efl.Canvas.Group.group_calculate;
-      Efl.Canvas.Group.group_del;
       Elm.Pan.content_size { get; }
       Elm.Pan.pos { get; set; }
       Elm.Pan.pos_min { get; }
diff --git a/src/lib/elementary/elm_gesture_layer.c 
b/src/lib/elementary/elm_gesture_layer.c
index cd99a66..ff01a65 100644
--- a/src/lib/elementary/elm_gesture_layer.c
+++ b/src/lib/elementary/elm_gesture_layer.c
@@ -4156,4 +4156,9 @@ _elm_gesture_layer_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_GESTURE_LAYER_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_gesture_layer)
+
 #include "elm_gesture_layer.eo.c"
diff --git a/src/lib/elementary/elm_gesture_layer.eo 
b/src/lib/elementary/elm_gesture_layer.eo
index 29f886a..55d7bcd 100644
--- a/src/lib/elementary/elm_gesture_layer.eo
+++ b/src/lib/elementary/elm_gesture_layer.eo
@@ -162,8 +162,6 @@ class Elm.Gesture_Layer (Elm.Widget)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.disable;
    }
 }
diff --git a/src/lib/elementary/elm_glview.c b/src/lib/elementary/elm_glview.c
index a5cf1e0..8915bf8 100644
--- a/src/lib/elementary/elm_glview.c
+++ b/src/lib/elementary/elm_glview.c
@@ -618,4 +618,10 @@ elm_glview_render_func_set(Elm_Glview *obj, 
Elm_GLView_Func_Cb func)
    sd->render_func = func;
    _set_render_policy_callback(obj);
 }
+
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_GLVIEW_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_glview)
+
 #include "elm_glview.eo.c"
diff --git a/src/lib/elementary/elm_glview.eo b/src/lib/elementary/elm_glview.eo
index 557c6a2..0a5259a 100644
--- a/src/lib/elementary/elm_glview.eo
+++ b/src/lib/elementary/elm_glview.eo
@@ -190,8 +190,6 @@ class Elm.Glview (Elm.Widget, Efl.Gfx.View)
       class.constructor;
       Efl.Object.finalize;
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.on_focus;
       Efl.Gfx.View.view_size { get; set; }
    }
diff --git a/src/lib/elementary/elm_grid.c b/src/lib/elementary/elm_grid.c
index b3e1fa1..c95e464 100644
--- a/src/lib/elementary/elm_grid.c
+++ b/src/lib/elementary/elm_grid.c
@@ -285,4 +285,9 @@ _elm_grid_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_GRID_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_grid)
+
 #include "elm_grid.eo.c"
diff --git a/src/lib/elementary/elm_grid.eo b/src/lib/elementary/elm_grid.eo
index 1ffe829..f132643 100644
--- a/src/lib/elementary/elm_grid.eo
+++ b/src/lib/elementary/elm_grid.eo
@@ -55,8 +55,6 @@ class Elm.Grid (Elm.Widget)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index d6d1f52..22f40a3 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -879,4 +879,9 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_hover, ELM_HOVER, 
ELM_LAYOUT, Elm_Hover_Data
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_HOVER_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_hover)
+
 #include "elm_hover.eo.c"
diff --git a/src/lib/elementary/elm_hover.eo b/src/lib/elementary/elm_hover.eo
index 49c5568..d8a3635 100644
--- a/src/lib/elementary/elm_hover.eo
+++ b/src/lib/elementary/elm_hover.eo
@@ -64,8 +64,6 @@ class Elm.Hover (Elm.Layout, Efl.Ui.Clickable, 
Elm.Interface.Atspi_Widget_Action
       Efl.Gfx.visible { set; }
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_del;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.theme_apply;
       Elm.Widget.sub_object_add;
       Elm.Widget.widget_parent { get; set; }
diff --git a/src/lib/elementary/elm_hoversel.eo 
b/src/lib/elementary/elm_hoversel.eo
index 52ecfcb..4b5204f 100644
--- a/src/lib/elementary/elm_hoversel.eo
+++ b/src/lib/elementary/elm_hoversel.eo
@@ -95,8 +95,6 @@ class Elm.Hoversel (Elm.Button, Efl.Ui.Selectable,
       Efl.Object.constructor;
       Efl.Object.destructor;
       Efl.Gfx.visible { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.widget_parent { set; }
       Elm.Widget.theme_apply;
       Elm.Widget.translate;
diff --git a/src/lib/elementary/elm_icon.c b/src/lib/elementary/elm_icon.c
index 303608b..935ad72 100644
--- a/src/lib/elementary/elm_icon.c
+++ b/src/lib/elementary/elm_icon.c
@@ -916,4 +916,9 @@ elm_icon_order_lookup_get(const Evas_Object *obj 
EINA_UNUSED)
    return ELM_ICON_LOOKUP_FDO_THEME;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_ICON_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_icon)
+
 #include "elm_icon.eo.c"
diff --git a/src/lib/elementary/elm_icon.eo b/src/lib/elementary/elm_icon.eo
index b6c7ee0..5297201 100644
--- a/src/lib/elementary/elm_icon.eo
+++ b/src/lib/elementary/elm_icon.eo
@@ -9,8 +9,6 @@ class Elm.Icon (Efl.Ui.Image)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Efl.File.file { set; }
    }
diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c
index 3b60f44..a98e5ca 100644
--- a/src/lib/elementary/elm_index.c
+++ b/src/lib/elementary/elm_index.c
@@ -1764,5 +1764,10 @@ 
_elm_index_item_elm_interface_atspi_widget_action_elm_actions_get(Eo *eo_it EINA
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_INDEX_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_index)
+
 #include "elm_index_item.eo.c"
 #include "elm_index.eo.c"
diff --git a/src/lib/elementary/elm_index.eo b/src/lib/elementary/elm_index.eo
index 2c8faab..bbff132 100644
--- a/src/lib/elementary/elm_index.eo
+++ b/src/lib/elementary/elm_index.eo
@@ -221,8 +221,6 @@ class Elm.Index (Elm.Layout, Efl.Orientation,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_interface_scrollable.c 
b/src/lib/elementary/elm_interface_scrollable.c
index 4c1e4a7..f008d0b 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -4708,5 +4708,13 @@ _elm_interface_scrollable_efl_ui_focus_manager_focus(Eo 
*obj, Elm_Scrollable_Sma
    elm_interface_scrollable_region_bring_in(obj, geom.x, geom.y, geom.w, 
geom.h);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PAN_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_pan)
+
+#define ELM_INTERFACE_SCROLLABLE_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_interface_scrollable)
+
 #include "elm_interface_scrollable.eo.c"
 #include "elm_pan.eo.c"
diff --git a/src/lib/elementary/elm_interface_scrollable.eo 
b/src/lib/elementary/elm_interface_scrollable.eo
index 860bd36..6f9520b 100644
--- a/src/lib/elementary/elm_interface_scrollable.eo
+++ b/src/lib/elementary/elm_interface_scrollable.eo
@@ -680,8 +680,6 @@ mixin Elm.Interface_Scrollable(Efl.Ui.Scrollable, 
Efl.Canvas.Group, Efl.Ui.Focus
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Ui.Focus.Manager.border_elements { get; }
       Efl.Ui.Focus.Manager.focus;
    }
diff --git a/src/lib/elementary/elm_inwin.c b/src/lib/elementary/elm_inwin.c
index 306cd5a..c910b1f 100644
--- a/src/lib/elementary/elm_inwin.c
+++ b/src/lib/elementary/elm_inwin.c
@@ -164,4 +164,9 @@ _elm_inwin_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_INWIN_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_inwin)
+
 #include "elm_inwin.eo.c"
diff --git a/src/lib/elementary/elm_inwin.eo b/src/lib/elementary/elm_inwin.eo
index 595b660..08238be 100644
--- a/src/lib/elementary/elm_inwin.eo
+++ b/src/lib/elementary/elm_inwin.eo
@@ -22,7 +22,6 @@ class Elm.Inwin (Elm.Layout)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.widget_parent { set; }
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c
index 76cb63c..982cd49 100644
--- a/src/lib/elementary/elm_label.c
+++ b/src/lib/elementary/elm_label.c
@@ -643,4 +643,9 @@ _elm_label_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_LABEL_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_label)
+
 #include "elm_label.eo.c"
diff --git a/src/lib/elementary/elm_label.eo b/src/lib/elementary/elm_label.eo
index 6edf366..a8d6f28 100644
--- a/src/lib/elementary/elm_label.eo
+++ b/src/lib/elementary/elm_label.eo
@@ -124,7 +124,6 @@ class Elm.Label (Elm.Layout)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c
index 16e34e1..c11b6f3 100644
--- a/src/lib/elementary/elm_layout.c
+++ b/src/lib/elementary/elm_layout.c
@@ -2358,7 +2358,11 @@ ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_layout, ELM_LAYOUT, 
Elm_Layout_Smart_Data,
 
 /* Efl.Part end */
 
+
+/* Internal EO APIs and hidden overrides */
+
 #define ELM_LAYOUT_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_layout), \
    EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _elm_layout_efl_object_dbg_info_get)
 
 #include "elm_layout.eo.c"
diff --git a/src/lib/elementary/elm_layout.eo b/src/lib/elementary/elm_layout.eo
index d0f7f74..2e83d1d 100644
--- a/src/lib/elementary/elm_layout.eo
+++ b/src/lib/elementary/elm_layout.eo
@@ -336,8 +336,6 @@ class Elm.Layout (Elm.Widget, Efl.Part, Efl.Container, 
Efl.File,
       Efl.Object.constructor;
       Efl.File.file { get; set; }
       Efl.File.mmap { get; set; }
-      Efl.Canvas.Group.group_del;
-      Efl.Canvas.Group.group_add;
       Efl.Canvas.Group.group_calculate;
       Elm.Widget.focus_direction;
       Elm.Widget.sub_object_add;
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c
index c533f21..adc319f 100644
--- a/src/lib/elementary/elm_list.c
+++ b/src/lib/elementary/elm_list.c
@@ -3296,5 +3296,10 @@ 
_elm_list_elm_interface_atspi_selection_child_deselect(Eo *obj EINA_UNUSED, Elm_
    return EINA_FALSE;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_LIST_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_list)
+
 #include "elm_list.eo.c"
 #include "elm_list_item.eo.c"
diff --git a/src/lib/elementary/elm_list.eo b/src/lib/elementary/elm_list.eo
index 49c1cbb..27cc281 100644
--- a/src/lib/elementary/elm_list.eo
+++ b/src/lib/elementary/elm_list.eo
@@ -433,8 +433,6 @@ class Elm.List (Elm.Layout, Elm.Interface_Scrollable,
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
       Efl.Canvas.Group.group_member_add;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c
index e633adb..f27ffe7 100644
--- a/src/lib/elementary/elm_map.c
+++ b/src/lib/elementary/elm_map.c
@@ -5633,4 +5633,9 @@ 
_elm_map_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSED,
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_MAP_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_map)
+
 #include "elm_map.eo.c"
diff --git a/src/lib/elementary/elm_map.eo b/src/lib/elementary/elm_map.eo
index 6fff4ec..4324edd 100644
--- a/src/lib/elementary/elm_map.eo
+++ b/src/lib/elementary/elm_map.eo
@@ -629,8 +629,6 @@ class Elm.Map (Elm.Widget, Elm.Interface_Scrollable,
       Efl.Object.constructor;
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_member_add;
       Elm.Widget.theme_apply;
       Elm.Widget.on_focus;
diff --git a/src/lib/elementary/elm_mapbuf.c b/src/lib/elementary/elm_mapbuf.c
index 371c634..6181276 100644
--- a/src/lib/elementary/elm_mapbuf.c
+++ b/src/lib/elementary/elm_mapbuf.c
@@ -449,4 +449,9 @@ ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_mapbuf, ELM_MAPBUF, 
Elm_Mapbuf_Data, Elm_Pa
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_MAPBUF_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_mapbuf)
+
 #include "elm_mapbuf.eo.c"
diff --git a/src/lib/elementary/elm_mapbuf.eo b/src/lib/elementary/elm_mapbuf.eo
index ac36295..7c444bb 100644
--- a/src/lib/elementary/elm_mapbuf.eo
+++ b/src/lib/elementary/elm_mapbuf.eo
@@ -119,8 +119,6 @@ class Elm.Mapbuf (Elm.Widget, Efl.Container, Efl.Part)
       Efl.Gfx.visible { set; }
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.sub_object_del;
       Efl.Container.content { get; set; }
diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c
index 9a4824d..8a79866 100644
--- a/src/lib/elementary/elm_menu.c
+++ b/src/lib/elementary/elm_menu.c
@@ -1492,5 +1492,10 @@ 
_elm_menu_elm_interface_atspi_selection_selected_child_get(Eo *obj EINA_UNUSED,
 
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_MENU_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_menu)
+
 #include "elm_menu_item.eo.c"
 #include "elm_menu.eo.c"
diff --git a/src/lib/elementary/elm_menu.eo b/src/lib/elementary/elm_menu.eo
index e6bd973..314b87d 100644
--- a/src/lib/elementary/elm_menu.eo
+++ b/src/lib/elementary/elm_menu.eo
@@ -51,8 +51,6 @@ class Elm.Menu (Elm.Widget, Efl.Ui.Clickable, Efl.Ui.Menu,
       Efl.Object.constructor;
       Efl.Object.destructor;
       Efl.Gfx.visible { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.widget_parent { get; set; }
       Elm.Widget.theme_apply;
       Elm.Widget.translate;
diff --git a/src/lib/elementary/elm_multibuttonentry.eo 
b/src/lib/elementary/elm_multibuttonentry.eo
index 08f765a..51cfc61 100644
--- a/src/lib/elementary/elm_multibuttonentry.eo
+++ b/src/lib/elementary/elm_multibuttonentry.eo
@@ -178,8 +178,6 @@ class Elm.Multibuttonentry (Elm.Layout)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_naviframe.eo 
b/src/lib/elementary/elm_naviframe.eo
index d6477be..2fe7e4a 100644
--- a/src/lib/elementary/elm_naviframe.eo
+++ b/src/lib/elementary/elm_naviframe.eo
@@ -144,8 +144,6 @@ class Elm.Naviframe (Elm.Layout, 
Elm.Interface.Atspi_Widget_Action)
       class.constructor;
       Efl.Object.constructor;
       Efl.Gfx.visible { set; }
-      Efl.Canvas.Group.group_del;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index 4ef5514..436bc3c 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -747,4 +747,9 @@ ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_notify, ELM_NOTIFY, 
Elm_Notify_Data, Elm_Pa
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_NOTIFY_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_notify)
+
 #include "elm_notify.eo.c"
diff --git a/src/lib/elementary/elm_notify.eo b/src/lib/elementary/elm_notify.eo
index c2ccbd9..dbf849b 100644
--- a/src/lib/elementary/elm_notify.eo
+++ b/src/lib/elementary/elm_notify.eo
@@ -83,8 +83,6 @@ class Elm.Notify (Elm.Widget, Efl.Container, Efl.Part)
       Efl.Gfx.visible { set; }
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_direction;
       Elm.Widget.widget_parent { get; set; }
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/elm_pan.eo b/src/lib/elementary/elm_pan.eo
index f1313dc..648b9f4 100644
--- a/src/lib/elementary/elm_pan.eo
+++ b/src/lib/elementary/elm_pan.eo
@@ -51,8 +51,6 @@ class Elm.Pan (Efl.Canvas.Group.Clipped)
       Efl.Gfx.visible { set; }
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
    }
    events {
       changed; [[Called when pan object changed]]
diff --git a/src/lib/elementary/elm_panel.c b/src/lib/elementary/elm_panel.c
index 7b118be..c79b460 100644
--- a/src/lib/elementary/elm_panel.c
+++ b/src/lib/elementary/elm_panel.c
@@ -1588,4 +1588,9 @@ ELM_PART_IMPLEMENT_CONTENT_UNSET(elm_panel, ELM_PANEL, 
Elm_Panel_Data, Elm_Part_
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PANEL_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_panel)
+
 #include "elm_panel.eo.c"
diff --git a/src/lib/elementary/elm_panel.eo b/src/lib/elementary/elm_panel.eo
index c7fe451..7631a02 100644
--- a/src/lib/elementary/elm_panel.eo
+++ b/src/lib/elementary/elm_panel.eo
@@ -78,9 +78,7 @@ class Elm.Panel (Elm.Layout, Elm.Interface_Scrollable,
       Efl.Object.constructor;
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
       Efl.Canvas.Group.group_member_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_panes.c b/src/lib/elementary/elm_panes.c
index 0de54bd..2f2ce4c 100644
--- a/src/lib/elementary/elm_panes.c
+++ b/src/lib/elementary/elm_panes.c
@@ -570,4 +570,9 @@ _elm_panes_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PANES_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_panes)
+
 #include "elm_panes.eo.c"
diff --git a/src/lib/elementary/elm_panes.eo b/src/lib/elementary/elm_panes.eo
index c75e2a6..309140b 100644
--- a/src/lib/elementary/elm_panes.eo
+++ b/src/lib/elementary/elm_panes.eo
@@ -118,7 +118,6 @@ class Elm.Panes (Elm.Layout, Efl.Orientation,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/elm_photo.c b/src/lib/elementary/elm_photo.c
index 8c07315..ddfc4c4 100644
--- a/src/lib/elementary/elm_photo.c
+++ b/src/lib/elementary/elm_photo.c
@@ -425,4 +425,9 @@ elm_photo_thumb_set(Evas_Object *obj, const char *file, 
const char *group)
    elm_icon_thumb_set(sd->icon, file, group);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PHOTO_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_photo)
+
 #include "elm_photo.eo.c"
diff --git a/src/lib/elementary/elm_photo.eo b/src/lib/elementary/elm_photo.eo
index 0719134..aa68685 100644
--- a/src/lib/elementary/elm_photo.eo
+++ b/src/lib/elementary/elm_photo.eo
@@ -7,8 +7,6 @@ class Elm.Photo (Elm.Widget, Efl.File, Efl.Ui.Clickable, 
Efl.Ui.Draggable)
       class.constructor;
       Efl.Object.constructor;
       Efl.File.file { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
    }
 }
diff --git a/src/lib/elementary/elm_photocam.c 
b/src/lib/elementary/elm_photocam.c
index aba5192..34f6d02 100644
--- a/src/lib/elementary/elm_photocam.c
+++ b/src/lib/elementary/elm_photocam.c
@@ -2451,6 +2451,11 @@ elm_photocam_image_orient_get(const Eo *obj)
    return _eo_orient_flip_to_evas_orient(sd->orient, sd->flip);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PHOTOCAM_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_photocam)
+
 #include "elm_photocam.eo.c"
 
 EAPI Evas_Object*
diff --git a/src/lib/elementary/elm_photocam.eo 
b/src/lib/elementary/elm_photocam.eo
index 610bee9..1f18499 100644
--- a/src/lib/elementary/elm_photocam.eo
+++ b/src/lib/elementary/elm_photocam.eo
@@ -56,8 +56,6 @@ class Elm.Photocam (Elm.Widget, Elm.Interface_Scrollable,
       Efl.Ui.Zoom.zoom_animation { set; get; }
       Efl.Ui.Zoom.zoom { set; get; }
       Efl.Ui.Zoom.zoom_mode { set; get; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_member_add;
       Elm.Widget.theme_apply;
       Elm.Widget.on_focus;
diff --git a/src/lib/elementary/elm_player.eo b/src/lib/elementary/elm_player.eo
index 37e3f54..8f6d84f 100644
--- a/src/lib/elementary/elm_player.eo
+++ b/src/lib/elementary/elm_player.eo
@@ -7,8 +7,6 @@ class Elm.Player (Elm.Layout, Elm.Interface.Atspi_Widget_Action)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.widget_event;
       Elm.Layout.sizing_eval;
diff --git a/src/lib/elementary/elm_plug.c b/src/lib/elementary/elm_plug.c
index a975acc..1dc4101 100644
--- a/src/lib/elementary/elm_plug.c
+++ b/src/lib/elementary/elm_plug.c
@@ -189,4 +189,9 @@ _elm_plug_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PLUG_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_plug)
+
 #include "elm_plug.eo.c"
diff --git a/src/lib/elementary/elm_plug.eo b/src/lib/elementary/elm_plug.eo
index 696f34b..b052782 100644
--- a/src/lib/elementary/elm_plug.eo
+++ b/src/lib/elementary/elm_plug.eo
@@ -33,7 +33,6 @@ class Elm.Plug (Elm.Widget, Efl.Ui.Clickable)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.theme_apply;
       Elm.Widget.on_focus;
    }
diff --git a/src/lib/elementary/elm_popup.eo b/src/lib/elementary/elm_popup.eo
index 055b1a8..38f220b 100644
--- a/src/lib/elementary/elm_popup.eo
+++ b/src/lib/elementary/elm_popup.eo
@@ -168,8 +168,6 @@ class Elm.Popup (Elm.Layout, 
Elm.Interface.Atspi_Widget_Action)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_del;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/elm_prefs.c b/src/lib/elementary/elm_prefs.c
index 35a8fd5..5d87e40 100644
--- a/src/lib/elementary/elm_prefs.c
+++ b/src/lib/elementary/elm_prefs.c
@@ -1889,4 +1889,9 @@ elm_prefs_file_get(const Eo *obj, const char **file, 
const char **page)
    return EINA_TRUE;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PREFS_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_prefs)
+
 #include "elm_prefs.eo.c"
diff --git a/src/lib/elementary/elm_prefs.eo b/src/lib/elementary/elm_prefs.eo
index 1e16a5b..5109163 100644
--- a/src/lib/elementary/elm_prefs.eo
+++ b/src/lib/elementary/elm_prefs.eo
@@ -216,8 +216,6 @@ class Elm.Prefs (Elm.Widget, Efl.File)
       class.constructor;
       Efl.Object.constructor;
       Efl.File.file { get; set; }
-      Efl.Canvas.Group.group_del;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_next;
    }
    events {
diff --git a/src/lib/elementary/elm_progressbar.c 
b/src/lib/elementary/elm_progressbar.c
index 59f7670..4f2c6f6 100644
--- a/src/lib/elementary/elm_progressbar.c
+++ b/src/lib/elementary/elm_progressbar.c
@@ -665,4 +665,9 @@ ELM_PART_OVERRIDE_CONTENT_SET(elm_progressbar, 
ELM_PROGRESSBAR, ELM_LAYOUT, Elm_
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_PROGRESSBAR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_progressbar)
+
 #include "elm_progressbar.eo.c"
diff --git a/src/lib/elementary/elm_progressbar.eo 
b/src/lib/elementary/elm_progressbar.eo
index bbdbc83..7c3cf7e 100644
--- a/src/lib/elementary/elm_progressbar.eo
+++ b/src/lib/elementary/elm_progressbar.eo
@@ -65,8 +65,6 @@ class Elm.Progressbar (Elm.Layout, Efl.Ui.Progress,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_radio.c b/src/lib/elementary/elm_radio.c
index c0d4bae..752cbbc 100644
--- a/src/lib/elementary/elm_radio.c
+++ b/src/lib/elementary/elm_radio.c
@@ -407,4 +407,9 @@ _elm_radio_elm_interface_atspi_accessible_state_set_get(Eo 
*obj, Elm_Radio_Data
    return ret;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_RADIO_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_radio)
+
 #include "elm_radio.eo.c"
diff --git a/src/lib/elementary/elm_radio.eo b/src/lib/elementary/elm_radio.eo
index b141b0f..57bb719 100644
--- a/src/lib/elementary/elm_radio.eo
+++ b/src/lib/elementary/elm_radio.eo
@@ -79,8 +79,6 @@ class Elm.Radio (Elm.Check, Elm.Interface.Atspi_Widget_Action)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.activate;
       Elm.Widget.widget_event;
diff --git a/src/lib/elementary/elm_route.c b/src/lib/elementary/elm_route.c
index d680440..541291d 100644
--- a/src/lib/elementary/elm_route.c
+++ b/src/lib/elementary/elm_route.c
@@ -261,4 +261,9 @@ _elm_route_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_ROUTE_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_route)
+
 #include "elm_route.eo.c"
diff --git a/src/lib/elementary/elm_route.eo b/src/lib/elementary/elm_route.eo
index ad2d553..5234005 100644
--- a/src/lib/elementary/elm_route.eo
+++ b/src/lib/elementary/elm_route.eo
@@ -42,8 +42,6 @@ class Elm.Route (Elm.Widget)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
    }
 }
diff --git a/src/lib/elementary/elm_scroller.c 
b/src/lib/elementary/elm_scroller.c
index c085031..4cf261c 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -1471,4 +1471,9 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_scroller, 
ELM_SCROLLER, ELM_LAYOUT, Elm_Scro
 
 /* Efl.Part end */
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_SCROLLER_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_scroller)
+
 #include "elm_scroller.eo.c"
diff --git a/src/lib/elementary/elm_scroller.eo 
b/src/lib/elementary/elm_scroller.eo
index 1fc41b2..e869a52 100644
--- a/src/lib/elementary/elm_scroller.eo
+++ b/src/lib/elementary/elm_scroller.eo
@@ -63,7 +63,6 @@ class Elm.Scroller (Elm.Layout, Elm.Interface_Scrollable,
       Efl.Object.constructor;
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
-      Efl.Canvas.Group.group_add;
       Efl.Canvas.Group.group_member_add;
       Elm.Widget.theme_apply;
       Elm.Widget.activate;
diff --git a/src/lib/elementary/elm_segment_control.c 
b/src/lib/elementary/elm_segment_control.c
index 08bb419..212593c 100644
--- a/src/lib/elementary/elm_segment_control.c
+++ b/src/lib/elementary/elm_segment_control.c
@@ -842,5 +842,10 @@ _elm_segment_control_class_constructor(Efl_Class *klass)
       _elm_segment_control_smart_focus_next_enable = EINA_TRUE;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_SEGMENT_CONTROL_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_segment_control)
+
 #include "elm_segment_control_item.eo.c"
 #include "elm_segment_control.eo.c"
diff --git a/src/lib/elementary/elm_segment_control.eo 
b/src/lib/elementary/elm_segment_control.eo
index 73a1a40..357fb22 100644
--- a/src/lib/elementary/elm_segment_control.eo
+++ b/src/lib/elementary/elm_segment_control.eo
@@ -136,8 +136,6 @@ class Elm.Segment_Control (Elm.Layout)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_next;
diff --git a/src/lib/elementary/elm_separator.c 
b/src/lib/elementary/elm_separator.c
index a961b02..6a8bede 100644
--- a/src/lib/elementary/elm_separator.c
+++ b/src/lib/elementary/elm_separator.c
@@ -143,4 +143,9 @@ _elm_separator_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_SEPARATOR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_separator)
+
 #include "elm_separator.eo.c"
diff --git a/src/lib/elementary/elm_separator.eo 
b/src/lib/elementary/elm_separator.eo
index a168660..545fa87 100644
--- a/src/lib/elementary/elm_separator.eo
+++ b/src/lib/elementary/elm_separator.eo
@@ -6,7 +6,6 @@ class Elm.Separator (Elm.Layout, Efl.Orientation)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.theme_apply;
diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c
index c9ca136..a598a8a 100644
--- a/src/lib/elementary/elm_slider.c
+++ b/src/lib/elementary/elm_slider.c
@@ -1683,4 +1683,9 @@ 
_elm_slider_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UNUSE
 
 // A11Y Accessibility - END
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_SLIDER_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_slider)
+
 #include "elm_slider.eo.c"
diff --git a/src/lib/elementary/elm_slider.eo b/src/lib/elementary/elm_slider.eo
index 81b647c..fa57d24 100644
--- a/src/lib/elementary/elm_slider.eo
+++ b/src/lib/elementary/elm_slider.eo
@@ -173,8 +173,6 @@ class Elm.Slider (Elm.Layout, Efl.Ui.Progress,
       class.constructor;
       Efl.Object.constructor;
       Efl.Canvas.Group.group_calculate;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.activate;
       Elm.Widget.focus_next_manager_is;
diff --git a/src/lib/elementary/elm_slideshow.c 
b/src/lib/elementary/elm_slideshow.c
index e437f6d..0be68a1 100644
--- a/src/lib/elementary/elm_slideshow.c
+++ b/src/lib/elementary/elm_slideshow.c
@@ -735,5 +735,10 @@ 
_elm_slideshow_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UN
    return &atspi_actions[0];
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_SLIDESHOW_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_slideshow)
+
 #include "elm_slideshow_item.eo.c"
 #include "elm_slideshow.eo.c"
diff --git a/src/lib/elementary/elm_slideshow.eo 
b/src/lib/elementary/elm_slideshow.eo
index 0a27cfd..136fb87 100644
--- a/src/lib/elementary/elm_slideshow.eo
+++ b/src/lib/elementary/elm_slideshow.eo
@@ -304,8 +304,6 @@ class Elm.Slideshow (Elm.Layout, 
Elm.Interface.Atspi_Widget_Action)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.widget_event;
diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c
index ae7c7cd..56513cd 100644
--- a/src/lib/elementary/elm_spinner.c
+++ b/src/lib/elementary/elm_spinner.c
@@ -1746,4 +1746,9 @@ _elm_spinner_elm_interface_atspi_accessible_name_get(Eo 
*obj, Elm_Spinner_Data *
 
 // A11Y Accessibility - END
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_SPINNER_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_spinner)
+
 #include "elm_spinner.eo.c"
diff --git a/src/lib/elementary/elm_spinner.eo 
b/src/lib/elementary/elm_spinner.eo
index 3891ffc..3404205 100644
--- a/src/lib/elementary/elm_spinner.eo
+++ b/src/lib/elementary/elm_spinner.eo
@@ -146,8 +146,6 @@ class Elm.Spinner (Elm.Layout, Efl.Ui.Spin,
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Elm.Widget.theme_apply;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.focus_direction_manager_is;
diff --git a/src/lib/elementary/elm_table.c b/src/lib/elementary/elm_table.c
index c4ddacd..8ded9ab 100644
--- a/src/lib/elementary/elm_table.c
+++ b/src/lib/elementary/elm_table.c
@@ -429,4 +429,9 @@ _elm_table_elm_widget_focus_register(Eo *obj, void *pd 
EINA_UNUSED, Efl_Ui_Focus
 }
 
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_TABLE_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_table)
+
 #include "elm_table.eo.c"
diff --git a/src/lib/elementary/elm_table.eo b/src/lib/elementary/elm_table.eo
index 7df00af..775cf92 100644
--- a/src/lib/elementary/elm_table.eo
+++ b/src/lib/elementary/elm_table.eo
@@ -120,8 +120,6 @@ class Elm.Table (Elm.Widget)
    implements {
       class.constructor;
       Efl.Object.constructor;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_calculate;
       Elm.Widget.focus_direction;
       Elm.Widget.focus_next_manager_is;
diff --git a/src/lib/elementary/elm_thumb.c b/src/lib/elementary/elm_thumb.c
index e6e5084..be9627b 100644
--- a/src/lib/elementary/elm_thumb.c
+++ b/src/lib/elementary/elm_thumb.c
@@ -907,4 +907,9 @@ elm_thumb_reload(Evas_Object *obj)
      _thumb_show(sd);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_THUMB_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_thumb)
+
 #include "elm_thumb.eo.c"
diff --git a/src/lib/elementary/elm_thumb.eo b/src/lib/elementary/elm_thumb.eo
index 9b94fd1..e66a079 100644
--- a/src/lib/elementary/elm_thumb.eo
+++ b/src/lib/elementary/elm_thumb.eo
@@ -10,8 +10,6 @@ class Elm.Thumb (Elm.Layout, Efl.File, Efl.Ui.Clickable,
       Efl.Object.constructor;
       Efl.File.file { get; set; }
       Efl.Gfx.visible { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Ui.Draggable.drag_target { get; set; }
    }
    events {
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index eda47f4..95b57e0 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -4176,5 +4176,11 @@ elm_toolbar_icon_order_lookup_get(const Evas_Object *obj 
EINA_UNUSED)
 {
    return ELM_ICON_LOOKUP_FDO_THEME;
 }
+
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_TOOLBAR_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_toolbar)
+
 #include "elm_toolbar.eo.c"
 #include "elm_toolbar_item.eo.c"
diff --git a/src/lib/elementary/elm_toolbar.eo 
b/src/lib/elementary/elm_toolbar.eo
index af7ee07..dca3526 100644
--- a/src/lib/elementary/elm_toolbar.eo
+++ b/src/lib/elementary/elm_toolbar.eo
@@ -319,8 +319,6 @@ class Elm.Toolbar (Elm.Widget, Elm.Interface_Scrollable, 
Efl.Orientation,
       Efl.Gfx.position { set; }
       Efl.Gfx.size { set; }
       Efl.Canvas.Group.group_calculate;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_member_add;
       Elm.Widget.focus_next_manager_is;
       Elm.Widget.access;
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 77e02ed..e7fa599 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -6502,8 +6502,13 @@ _elm_widget_efl_ui_focus_object_focus_set(Eo *obj, 
Elm_Widget_Smart_Data *pd, Ei
    efl_ui_focus_object_focus_set(efl_super(obj, MY_CLASS), focus);
 }
 
+/* Internal EO APIs and hidden overrides */
+
 #define ELM_WIDGET_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_widget), \
    EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _elm_widget_efl_object_dbg_info_get)
 
+#define ELM_GENLIST_EXTRA_OPS \
+
 #include "elm_widget_item.eo.c"
 #include "elm_widget.eo.c"
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index f569109..c91db8a 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -823,8 +823,6 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible, Elm.Inter
       Efl.Canvas.Object.is_frame_object { set; }
       Efl.Canvas.Group.group_calculate;
       Efl.Canvas.Group.group_member_del;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_member_add;
       Elm.Interface.Atspi_Accessible.name { get; }
       Elm.Interface.Atspi_Accessible.state_set { get; }
diff --git a/src/lib/emotion/efl_canvas_video.eo 
b/src/lib/emotion/efl_canvas_video.eo
index 5138990..201b94a 100644
--- a/src/lib/emotion/efl_canvas_video.eo
+++ b/src/lib/emotion/efl_canvas_video.eo
@@ -58,8 +58,6 @@ class Efl.Canvas.Video (Efl.Canvas.Group, Efl.File, 
Efl.Player, Efl.Image, Efl.I
         Efl.Gfx.position { set; }
         Efl.Gfx.size { set; }
         Efl.Canvas.Object.clip { set; }
-        Efl.Canvas.Group.group_add;
-        Efl.Canvas.Group.group_del;
         Efl.File.file { get; set; }
         Efl.Player.play { get; set; }
         Efl.Player.position { get; set; }
diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c
index e7ba4a8..8feb7c0 100644
--- a/src/lib/emotion/emotion_smart.c
+++ b/src/lib/emotion/emotion_smart.c
@@ -2069,4 +2069,10 @@ _efl_canvas_video_efl_canvas_object_clip_set(Evas_Object 
*obj, Efl_Canvas_Video_
    evas_object_clip_set(sd->bg, clip);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_CANVAS_VIDEO_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_canvas_video)
+
+
 #include "efl_canvas_video.eo.c"
diff --git a/src/lib/evas/Evas_Internal.h b/src/lib/evas/Evas_Internal.h
index 5135c1f..be30998 100644
--- a/src/lib/evas/Evas_Internal.h
+++ b/src/lib/evas/Evas_Internal.h
@@ -50,6 +50,8 @@ EAPI Eina_Bool efl_canvas_output_unlock(Efl_Canvas_Output 
*output);
 /* Internal EO APIs */
 EOAPI void efl_canvas_object_legacy_ctor(Eo *obj);
 EOAPI void efl_canvas_object_type_set(Eo *obj, const char *type);
+EOAPI void efl_canvas_group_add(Eo *obj);
+EOAPI void efl_canvas_group_del(Eo *obj);
 
 EWAPI extern const Efl_Event_Description _EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE;
 #define EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE 
(&(_EVAS_CANVAS_EVENT_RENDER_FLUSH_PRE))
@@ -63,6 +65,11 @@ EWAPI extern const Efl_Event_Description 
_EVAS_CANVAS_EVENT_AXIS_UPDATE;
 EWAPI extern const Efl_Event_Description _EVAS_CANVAS_EVENT_VIEWPORT_RESIZE;
 #define EVAS_CANVAS_EVENT_VIEWPORT_RESIZE 
(&(_EVAS_CANVAS_EVENT_VIEWPORT_RESIZE))
 
+#define EFL_CANVAS_GROUP_DEL_OPS(kls) EFL_OBJECT_OP_FUNC(efl_canvas_group_del, 
_##kls##_efl_canvas_group_group_del)
+#define EFL_CANVAS_GROUP_ADD_OPS(kls) EFL_OBJECT_OP_FUNC(efl_canvas_group_add, 
_##kls##_efl_canvas_group_group_add)
+#define EFL_CANVAS_GROUP_ADD_DEL_OPS(kls) EFL_CANVAS_GROUP_ADD_OPS(kls), 
EFL_CANVAS_GROUP_DEL_OPS(kls)
+
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/lib/evas/canvas/efl_canvas_group.eo 
b/src/lib/evas/canvas/efl_canvas_group.eo
index 2eda28e..356ad5e 100644
--- a/src/lib/evas/canvas/efl_canvas_group.eo
+++ b/src/lib/evas/canvas/efl_canvas_group.eo
@@ -96,14 +96,6 @@ class Efl.Canvas.Group (Efl.Canvas.Object)
          }
          legacy: null;
       }
-      group_add @protected @beta /* @internal */ {
-         [[Internal constructor function.]]
-         legacy: null;
-      }
-      group_del @protected @beta /* @internal */ {
-         [[Internal destructor function.]]
-         legacy: null;
-      }
    }
    implements {
       class.constructor;
diff --git a/src/lib/evas/canvas/efl_canvas_group_clipped.eo 
b/src/lib/evas/canvas/efl_canvas_group_clipped.eo
index e096da2..39f669c 100644
--- a/src/lib/evas/canvas/efl_canvas_group_clipped.eo
+++ b/src/lib/evas/canvas/efl_canvas_group_clipped.eo
@@ -9,8 +9,6 @@ abstract Efl.Canvas.Group.Clipped (Efl.Canvas.Group)
       Efl.Canvas.Object.clip { set; }
       Efl.Canvas.Object.no_render { set; }
       Efl.Canvas.Group.group_member_del;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_member_add;
    }
 }
diff --git a/src/lib/evas/canvas/evas_box.eo b/src/lib/evas/canvas/evas_box.eo
index 0e0d308..36fca8a 100644
--- a/src/lib/evas/canvas/evas_box.eo
+++ b/src/lib/evas/canvas/evas_box.eo
@@ -661,8 +661,6 @@ class Evas.Box (Efl.Canvas.Group.Clipped)
       Efl.Gfx.size { set; }
       Efl.Gfx.position { set; }
       Efl.Canvas.Group.group_calculate;
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
    }
    events {
       child,added; [[Called when a child object was added to the box]]
diff --git a/src/lib/evas/canvas/evas_object_box.c 
b/src/lib/evas/canvas/evas_object_box.c
index 3ec1e3d..1f581f3 100644
--- a/src/lib/evas/canvas/evas_object_box.c
+++ b/src/lib/evas/canvas/evas_object_box.c
@@ -1997,4 +1997,9 @@ _evas_box_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EVAS_BOX_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(evas_box)
+
 #include "canvas/evas_box.eo.c"
diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index 84188ae..0e3fcd9 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -1670,4 +1670,14 @@ 
_efl_canvas_group_efl_canvas_object_paragraph_direction_get(Eo *eo_obj EINA_UNUS
    return o->paragraph_direction;
 }
 
+/* Internal EO APIs */
+
+EOAPI EFL_VOID_FUNC_BODY(efl_canvas_group_add)
+EOAPI EFL_VOID_FUNC_BODY(efl_canvas_group_del)
+
+#define EFL_CANVAS_GROUP_EXTRA_OPS \
+   EFL_OBJECT_OP_FUNC(efl_canvas_group_add, _efl_canvas_group_group_add), \
+   EFL_OBJECT_OP_FUNC(efl_canvas_group_del, _efl_canvas_group_group_del)
+
+
 #include "canvas/efl_canvas_group.eo.c"
diff --git a/src/lib/evas/canvas/evas_object_smart_clipped.c 
b/src/lib/evas/canvas/evas_object_smart_clipped.c
index 6275ef6..23345df 100644
--- a/src/lib/evas/canvas/evas_object_smart_clipped.c
+++ b/src/lib/evas/canvas/evas_object_smart_clipped.c
@@ -242,5 +242,10 @@ evas_object_smart_clipped_class_get(void)
    return class;
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EFL_CANVAS_GROUP_CLIPPED_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_canvas_group_clipped)
+
 #include "canvas/efl_canvas_group_clipped.eo.c"
 
diff --git a/src/lib/evas/canvas/evas_object_table.c 
b/src/lib/evas/canvas/evas_object_table.c
index 103d3a8..fc3c64d 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -1439,4 +1439,9 @@ _evas_table_class_constructor(Efl_Class *klass)
    evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
 }
 
+/* Internal EO APIs and hidden overrides */
+
+#define EVAS_TABLE_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_DEL_OPS(evas_table)
+
 #include "canvas/evas_table.eo.c"
diff --git a/src/lib/evas/canvas/evas_table.eo 
b/src/lib/evas/canvas/evas_table.eo
index 15a582f..768e2bc 100644
--- a/src/lib/evas/canvas/evas_table.eo
+++ b/src/lib/evas/canvas/evas_table.eo
@@ -219,8 +219,6 @@ class Evas.Table (Efl.Canvas.Group.Clipped)
       Efl.Object.constructor;
       Efl.Gfx.size { set; }
       Efl.Gfx.position { set; }
-      Efl.Canvas.Group.group_add;
-      Efl.Canvas.Group.group_del;
       Efl.Canvas.Group.group_calculate;
    }
 }
diff --git a/src/modules/elementary/web/none/elm_web_none.c 
b/src/modules/elementary/web/none/elm_web_none.c
index 13851a7..5d38908 100644
--- a/src/modules/elementary/web/none/elm_web_none.c
+++ b/src/modules/elementary/web/none/elm_web_none.c
@@ -356,4 +356,9 @@ ewm_class_get(void)
 #undef ELM_WEB_CLASS
 #define ELM_WEB_CLASS elm_web_class_get()
 
+/* Internal EO APIs and hidden overrides */
+
+#define ELM_WEB_NONE_EXTRA_OPS \
+   EFL_CANVAS_GROUP_ADD_OPS(elm_web_none)
+
 #include "elm_web_none.eo.c"
diff --git a/src/modules/elementary/web/none/elm_web_none.eo 
b/src/modules/elementary/web/none/elm_web_none.eo
index 35b3120..a3aa49f 100644
--- a/src/modules/elementary/web/none/elm_web_none.eo
+++ b/src/modules/elementary/web/none/elm_web_none.eo
@@ -2,7 +2,6 @@ class Elm.Web.None (Elm.Web)
 {
    [[Elementary web module class]]
    implements {
-      Efl.Canvas.Group.group_add;
       Elm.Web.tab_propagate { get; set; }
       Elm.Web.webkit_view { get; }
       Elm.Web.window_create_hook { set; }

-- 


Reply via email to