edje_part: move part_type to common interface
authorMarcel Hollerbach <mail@marcel-hollerbach.de>
Mon, 16 Mar 2020 12:53:03 +0000 (13:53 +0100)
committerJongmin Lee <jm105.lee@samsung.com>
Tue, 17 Mar 2020 21:36:29 +0000 (06:36 +0900)
commit9e29cc5b83122d613549101c71749f96d6f18020
tree87284323db19a385688a8791666ba855c939f09c
parente92c365a9736b4bd89e422a2f0c155d9b2f22292
edje_part: move part_type to common interface

In EFL we have multiple hirachies of parts. One in Efl.Layout namespace
(alias edje) and one in Efl.Ui namespace. The seperation of these two
makes sense from the perspective of hiding functionality. However, a
functionality that we want to have on both is: we want to be able to
check which type of part this is. In order to do so, this commit
introduces a common interface, which allows that.

This is required because eo is currently undergoing some works, where
only APIs on a object are allowed, that are also inheriting its type,
which is normal in OOP, but sometimes, due to the lack of limitation, we
did that. This commit resolves one more case of that.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11516
src/lib/edje/Edje_Eo.h
src/lib/edje/Efl_Layout.h
src/lib/edje/edje_part.c
src/lib/edje/edje_part_invalid.c
src/lib/edje/efl_canvas_layout_part.eo
src/lib/edje/efl_canvas_layout_part_invalid.eo
src/lib/edje/efl_canvas_layout_part_type_provider.eo [new file with mode: 0644]
src/lib/edje/efl_layout_group.eo
src/lib/edje/meson.build
src/lib/elementary/efl_ui_widget.c
src/lib/elementary/efl_ui_widget_part.eo