Add event handling to eo-intro

This commit is contained in:
Andy Williams 2017-11-03 18:14:13 +00:00
parent 6794ec7e62
commit 213277ef74
1 changed files with 27 additions and 0 deletions

View File

@ -33,6 +33,32 @@ _obj_create()
return obj;
}
static void
_obj_callback_cb(void *data, const Efl_Event *event)
{
Eo *obj = data;
printf("Callback %s on object named \"%s\"\n", event->desc->name, efl_name_get(obj));
}
static void
_obj_del_cb(void *data, const Efl_Event *event EINA_UNUSED)
{
Eo *obj = data;
printf("Object named \"%s\" deleted\n", efl_name_get(obj));
}
static void
_obj_callbacks(Eo *obj)
{
efl_event_callback_add(obj, EFL_EVENT_CALLBACK_ADD, _obj_callback_cb, obj);
efl_event_callback_add(obj, EFL_EVENT_CALLBACK_DEL, _obj_callback_cb, obj);
efl_event_callback_add(obj, EFL_EVENT_DEL, _obj_del_cb, obj);
efl_event_callback_del(obj, EFL_EVENT_CALLBACK_ADD, _obj_callback_cb, obj);
}
static void
_obj_del(Eo *parent)
{
@ -51,6 +77,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
obj = _obj_create();
printf("Object name %s\n", efl_name_get(obj));
_obj_callbacks(obj);
_obj_del(obj);
efl_exit(0);