cedric pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=3ba64d59e8b82abd71a1a20b23aecc4cbd228b45

commit 3ba64d59e8b82abd71a1a20b23aecc4cbd228b45
Author: SangHyeon Lee <sh10233....@samsung.com>
Date:   Wed Jul 29 22:20:40 2015 +0200

    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 <ced...@osg.samsung.com>
---
 src/bin/test_genlist.c | 7 +++++++
 src/lib/elm_genlist.c  | 5 ++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

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

-- 


Reply via email to