summaryrefslogtreecommitdiff
path: root/src/lib/edje/edje_part_external.c
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-05-29 22:47:55 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-05-30 13:54:34 +0900
commit8bf347b228b86577d58dd60c46dd15c0afbc8886 (patch)
tree4095a2095e75bc9095e9261e90eff229d4c67100 /src/lib/edje/edje_part_external.c
parent9575bc8f8b50d1958efca604142dca65d93e7019 (diff)
downloadefl-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.c11
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)