From: SangHyeon Lee Date: Wed, 29 Jul 2015 20:20:40 +0000 (+0200) Subject: genlist: add SIG_CHANGED("changed") smart callback in genlist. X-Git-Tag: v1.16.0-alpha1~282 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3ba64d59e8b82abd71a1a20b23aecc4cbd228b45;p=platform%2Fupstream%2Felementary.git 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 --- diff --git a/src/bin/test_genlist.c b/src/bin/test_genlist.c index e519681..01b5311 100644 --- a/src/bin/test_genlist.c +++ b/src/bin/test_genlist.c @@ -273,6 +273,12 @@ _gl_longpress(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ } 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) { free(data); @@ -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); diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c index b284117..7f223b2 100644 --- a/src/lib/elm_genlist.c +++ b/src/lib/elm_genlist.c @@ -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