aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-01-11 13:10:33 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-01-15 17:37:40 +0100
commitae65c64b8d52c3b3d032eb29474b750b7e5781cb (patch)
tree01c36c12f2e4eb6548fc5dfd316c0657c4988858
parentecore: make efl_loop_consumer abstract (diff)
downloadefl-ae65c64b8d52c3b3d032eb29474b750b7e5781cb.tar.gz
evas: make efl_canvas_group abstract
the efl_canvas_group should be abstract in order to support other classes which are inheriting from it, which are abstract. This is done in order to support only abstract parents from abstract classes. ref https://phab.enlightenment.org/T7240 Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D7600
-rw-r--r--src/Makefile_Evas.am1
-rw-r--r--src/lib/elementary/efl_ui_pager.c2
-rw-r--r--src/lib/evas/Evas_Eo.h1
-rw-r--r--src/lib/evas/canvas/efl_canvas_group.eo2
-rw-r--r--src/lib/evas/canvas/efl_canvas_group_object.eo7
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c3
-rw-r--r--src/lib/evas/canvas/meson.build1
7 files changed, 14 insertions, 3 deletions
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 12f9b31fd5..b9a232dfee 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -9,6 +9,7 @@ evas_canvas_eolian_pub_files = \
lib/evas/canvas/efl_canvas_text.eo \
lib/evas/canvas/efl_canvas_text_factory.eo \
lib/evas/canvas/efl_canvas_group.eo \
+ lib/evas/canvas/efl_canvas_group_object.eo \
lib/evas/canvas/efl_canvas_image_internal.eo \
lib/evas/canvas/evas_canvas3d_camera.eo\
lib/evas/canvas/evas_canvas3d_texture.eo\
diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c
index 921d7676f9..9ef79d3cc9 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -351,7 +351,7 @@ _efl_ui_pager_efl_object_constructor(Eo *obj,
elm_widget_can_focus_set(obj, EINA_TRUE);
- pd->page_root = efl_add(EFL_CANVAS_GROUP_CLASS, evas_object_evas_get(obj));
+ pd->page_root = efl_add(EFL_CANVAS_GROUP_OBJECT_CLASS, evas_object_evas_get(obj));
efl_content_set(efl_part(obj, "efl.page_root"), pd->page_root);
efl_event_callback_add(pd->page_root, EFL_GFX_ENTITY_EVENT_RESIZE, _resize_cb, pd);
diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index 9cea6ddc77..903da2ee7c 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -179,6 +179,7 @@ struct _Efl_Canvas_Object_Animation_Event
* @{
*/
#include "canvas/efl_canvas_group.eo.h"
+#include "canvas/efl_canvas_group_object.eo.h"
/**
* @}
*/
diff --git a/src/lib/evas/canvas/efl_canvas_group.eo b/src/lib/evas/canvas/efl_canvas_group.eo
index eecb255ad3..eb9fc15aff 100644
--- a/src/lib/evas/canvas/efl_canvas_group.eo
+++ b/src/lib/evas/canvas/efl_canvas_group.eo
@@ -1,4 +1,4 @@
-class Efl.Canvas.Group (Efl.Canvas.Object)
+abstract Efl.Canvas.Group (Efl.Canvas.Object)
{
[[A group object is a container for other canvas objects. Its children
move along their parent and are often clipped with a common clipper.
diff --git a/src/lib/evas/canvas/efl_canvas_group_object.eo b/src/lib/evas/canvas/efl_canvas_group_object.eo
new file mode 100644
index 0000000000..42650b10b7
--- /dev/null
+++ b/src/lib/evas/canvas/efl_canvas_group_object.eo
@@ -0,0 +1,7 @@
+class Efl.Canvas.Group_Object(Efl.Canvas.Group)
+{
+ [[A class which makes Efl.Canvas.Group instanceable.
+ For further information, please see @Efl.Canvas.Group.
+ ]]
+ data: null;
+}
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c
index 7f0daf7331..a8dbacb833 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -675,7 +675,7 @@ evas_object_smart_add(Evas *eo_e, Evas_Smart *s)
eo_e = evas_find(eo_e);
EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_e, EVAS_CANVAS_CLASS), NULL);
- eo_obj = efl_add(EFL_CANVAS_GROUP_CLASS, eo_e, efl_canvas_object_legacy_ctor(efl_added));
+ eo_obj = efl_add(EFL_CANVAS_GROUP_OBJECT_CLASS, eo_e, efl_canvas_object_legacy_ctor(efl_added));
evas_object_smart_attach(eo_obj, s);
return eo_obj;
}
@@ -1849,3 +1849,4 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_canvas_group_clipped_set, EFL_FUNC_CALL(enable), E
EFL_OBJECT_OP_FUNC(efl_canvas_group_clipped_set, _efl_canvas_group_group_clipped_set)
#include "canvas/efl_canvas_group.eo.c"
+#include "canvas/efl_canvas_group_object.eo.c"
diff --git a/src/lib/evas/canvas/meson.build b/src/lib/evas/canvas/meson.build
index c7e8810f63..1b384c03f7 100644
--- a/src/lib/evas/canvas/meson.build
+++ b/src/lib/evas/canvas/meson.build
@@ -74,6 +74,7 @@ pub_eo_files = [
'efl_canvas_vg_gradient_radial.eo',
'efl_canvas_vg_gradient_linear.eo',
'efl_canvas_group.eo',
+ 'efl_canvas_group_object.eo',
'efl_gfx_map.eo',
'efl_canvas_event_grabber.eo',
'efl_canvas_text.eo'