From: sachiel Date: Sat, 13 Aug 2011 00:30:12 +0000 (+0000) Subject: Forward messages to Edje defined children of box and table X-Git-Tag: submit/2.0alpha-wayland/20121127.221958~679 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=afa228a1b5a1f5dd766225120c5ada26fe577969;p=profile%2Fivi%2Fedje.git Forward messages to Edje defined children of box and table git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@62418 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/edje_message_queue.c b/src/lib/edje_message_queue.c index 07fd75f..d00d125 100644 --- a/src/lib/edje_message_queue.c +++ b/src/lib/edje_message_queue.c @@ -28,6 +28,14 @@ edje_object_message_send(Evas_Object *obj, Edje_Message_Type type, int id, void Edje_Real_Part *rp = ed->table_parts[i]; if ((rp->part->type == EDJE_PART_TYPE_GROUP) && (rp->swallowed_object)) edje_object_message_send(rp->swallowed_object, type, id, msg); + else if (((rp->part->type == EDJE_PART_TYPE_BOX) || + (rp->part->type == EDJE_PART_TYPE_TABLE)) && (rp->items)) + { + Eina_List *itr; + Evas_Object *o; + EINA_LIST_FOREACH(rp->items, itr, o) + edje_object_message_send(o, type, id, msg); + } } } @@ -221,6 +229,19 @@ _edje_message_cb_set(Edje *ed, void (*func) (void *data, Evas_Object *obj, Edje_ if (!edj2) continue; _edje_message_cb_set(edj2, func, data); } + else if (((rp->part->type == EDJE_PART_TYPE_BOX) || + (rp->part->type == EDJE_PART_TYPE_TABLE)) && rp->items) + { + Eina_List *itr; + Evas_Object *obj; + EINA_LIST_FOREACH(rp->items, itr, obj) + { + Edje *edj2; + edj2 = _edje_fetch(obj); + if (!edj2) continue; + _edje_message_cb_set(edj2, func, data); + } + } } }