diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-05-29 22:47:55 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-05-30 13:54:34 +0900 |
commit | 8bf347b228b86577d58dd60c46dd15c0afbc8886 (patch) | |
tree | 4095a2095e75bc9095e9261e90eff229d4c67100 /src/lib/edje/edje_part_external.c | |
parent | 9575bc8f8b50d1958efca604142dca65d93e7019 (diff) | |
download | efl-8bf347b228b86577d58dd60c46dd15c0afbc8886.tar.gz |
edje: Compose external part with real object
This effectively replaces edje_object_part_external_object_get
and allows all function calls except those from Efl.Object.
Is this good enough? Or do we need access to the real object?
Diffstat (limited to 'src/lib/edje/edje_part_external.c')
-rw-r--r-- | src/lib/edje/edje_part_external.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/edje/edje_part_external.c b/src/lib/edje/edje_part_external.c index cee7fc0efd..bd735e0092 100644 --- a/src/lib/edje/edje_part_external.c +++ b/src/lib/edje/edje_part_external.c @@ -3,9 +3,18 @@ #define MY_CLASS EFL_CANVAS_LAYOUT_EXTERNAL_CLASS -PROXY_IMPLEMENTATION(external, EXTERNAL) +static void _external_compose(Eo *obj, Edje *ed, const char *part); + +PROXY_IMPLEMENTATION(external, EXTERNAL, EINA_TRUE, _external_compose(proxy, ed, rp->part->name)) #undef PROXY_IMPLEMENTATION +static void +_external_compose(Eo *obj, Edje *ed, const char *part) +{ + Eo *ext_obj = _edje_object_part_external_object_get(ed, part); + efl_composite_attach(obj, ext_obj); +} + EOLIAN static Eina_Bool _efl_canvas_layout_external_external_param_set(Eo *obj, void *_pd EINA_UNUSED, const char *name, const Eina_Value *value) |