genlist: add SIG_CHANGED("changed") smart callback in genlist.

Summary:
SIG_CAHANGED notify user to
genlist is now changed their items and properties and all
calculation is finished, so user can get correct values in
that callback.

This SIG_CHANGED smart callback already supported in gengrid.

Test Plan:
N/A
This patch is addition of new smart callback.

Reviewers: raster, seoz, singh.amitesh

Subscribers: Hermet, cedric, eagleeye

Differential Revision: https://phab.enlightenment.org/D2773

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
SangHyeon Lee 2015-07-29 22:20:40 +02:00 committed by Cedric BAIL
parent fcce7736d8
commit ddc73095b2
2 changed files with 11 additions and 1 deletions

View File

@ -272,6 +272,12 @@ _gl_longpress(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_
printf("longpress %p\n", event_info);
}
static void
_gl_changed(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
{
printf("changed %p\n", event_info);
}
static void
_cleanup_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
@ -316,6 +322,7 @@ test_genlist(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i
evas_object_smart_callback_add(gl, "clicked,double", _gl_double_clicked, NULL);
evas_object_smart_callback_add(gl, "clicked,right", _gl_right_clicked, NULL);
evas_object_smart_callback_add(gl, "longpressed", _gl_longpress, NULL);
evas_object_smart_callback_add(gl, "changed", _gl_changed, NULL);
// FIXME: This causes genlist to resize the horiz axis very slowly :(
// Reenable this and resize the window horizontally, then try to resize it back
//elm_genlist_mode_set(gl, ELM_LIST_LIMIT);

View File

@ -92,7 +92,8 @@
cmd(SIG_ITEM_FOCUSED, "item,focused", "") \
cmd(SIG_ITEM_UNFOCUSED, "item,unfocused", "") \
cmd(SIG_PRESSED, "pressed", "") \
cmd(SIG_RELEASED, "released", "")
cmd(SIG_RELEASED, "released", "") \
cmd(SIG_CHANGED, "changed", "")
ELM_PRIV_GENLIST_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
@ -2441,6 +2442,8 @@ _elm_genlist_pan_evas_object_smart_calculate(Eo *obj, Elm_Genlist_Pan_Data *psd)
evas_event_thaw(evas_object_evas_get(obj));
evas_event_thaw_eval(evas_object_evas_get(obj));
evas_object_smart_callback_call(sd->obj, SIG_CHANGED, NULL);
}
EOLIAN static void