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 T7240

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7600
This commit is contained in:
Marcel Hollerbach 2019-01-11 13:10:33 +01:00
parent afa5368f31
commit ae65c64b8d
7 changed files with 14 additions and 3 deletions

View File

@ -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\

View File

@ -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);

View File

@ -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"
/**
* @}
*/

View File

@ -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.

View File

@ -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;
}

View File

@ -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"

View File

@ -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'