Forward messages to Edje defined children of box and table

SVN revision: 62418
This commit is contained in:
Iván Briano 2011-08-13 00:30:12 +00:00
parent a74c65adfb
commit 026f8798dc
1 changed files with 21 additions and 0 deletions

View File

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