elm gengrid: Propagate Gengrid signals to the internal edje view. Patch by Benjamin Drucker <benjamin.t.drucker@alum.mit.edu>

On Tue, Oct 4, 2011 at 7:54 AM, Benjamin Drucker
<benjamin.t.drucker@alum.mit.edu> 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


SVN revision: 63784
This commit is contained in:
Daniel Juyung Seo 2011-10-04 01:24:08 +00:00
parent 628eab467c
commit 4206dddfff
1 changed files with 28 additions and 0 deletions

View File

@ -640,6 +640,32 @@ _signal_emit_hook(Evas_Object *obj,
emission, source);
}
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__,
@ -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);