From: seoz Date: Tue, 4 Oct 2011 01:24:08 +0000 (+0000) Subject: elm gengrid: Propagate Gengrid signals to the internal edje view. Patch by Benjamin... X-Git-Tag: REL_F_I9500_20120323_1~17^2~1709 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c2e9566b47cf01fab06f874cf4de0cc5c8de0ef1;p=framework%2Fuifw%2Felementary.git elm gengrid: Propagate Gengrid signals to the internal edje view. Patch by Benjamin Drucker On Tue, Oct 4, 2011 at 7:54 AM, Benjamin Drucker wrote: > Right now, signals coming from the gengrid's internal edje object are > propagated up to the gengrid object. > This patch enables the other direction as well: you can use the functions > >  elm_object_signal_callback_add(grid, ...) >  elm_object_signal_callback_del(grid, ...) > > to signal the gengrid's internal edje object. > > Please review, thanks. > -Ben git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@63784 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c index 0f9704d..d2f2085 100644 --- a/src/lib/elm_gengrid.c +++ b/src/lib/elm_gengrid.c @@ -641,6 +641,32 @@ _signal_emit_hook(Evas_Object *obj, } static void +_signal_callback_add_hook(Evas_Object *obj, + const char *emission, + const char *source, + Edje_Signal_Cb func_cb, + void *data) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return; + edje_object_signal_callback_add(elm_smart_scroller_edje_object_get(wd->scr), + emission, source, func_cb, data); +} + +static void +_signal_callback_del_hook(Evas_Object *obj, + const char *emission, + const char *source, + Edje_Signal_Cb func_cb, + void *data) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return; + edje_object_signal_callback_del_full(elm_smart_scroller_edje_object_get(wd->scr), + emission, source, func_cb, data); +} + +static void _mouse_move(void *data, Evas *evas __UNUSED__, Evas_Object *obj, @@ -1952,6 +1978,8 @@ elm_gengrid_add(Evas_Object *parent) elm_widget_theme_hook_set(obj, _theme_hook); elm_widget_signal_emit_hook_set(obj, _signal_emit_hook); elm_widget_can_focus_set(obj, EINA_TRUE); + elm_widget_signal_callback_add_hook_set(obj, _signal_callback_add_hook); + elm_widget_signal_callback_del_hook_set(obj, _signal_callback_del_hook); elm_widget_event_hook_set(obj, _event_hook); wd->scr = elm_smart_scroller_add(e);