forked from enlightenment/efl
Hooking elm_hover into signal_{emit,callback_add,callback_del}().
SVN revision: 53643
This commit is contained in:
parent
770b0df365
commit
c530774aaf
|
@ -140,6 +140,42 @@ _theme_hook(Evas_Object *obj)
|
||||||
if (evas_object_visible_get(wd->cov)) _hov_show_do(obj);
|
if (evas_object_visible_get(wd->cov)) _hov_show_do(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_signal_emit_hook(Evas_Object *obj, const char *emission, const char *source)
|
||||||
|
{
|
||||||
|
Widget_Data *wd;
|
||||||
|
|
||||||
|
wd = elm_widget_data_get(obj);
|
||||||
|
if (!wd)
|
||||||
|
return;
|
||||||
|
|
||||||
|
edje_object_signal_emit(wd->cov, emission, source);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_signal_callback_add_hook(Evas_Object *obj, const char *emission, const char *source, void (*func_cb) (void *data, Evas_Object *o, const char *emission, const char *source), void *data)
|
||||||
|
{
|
||||||
|
Widget_Data *wd;
|
||||||
|
|
||||||
|
wd = elm_widget_data_get(obj);
|
||||||
|
if (!wd)
|
||||||
|
return;
|
||||||
|
|
||||||
|
edje_object_signal_callback_add(wd->hov, emission, source, func_cb, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void *
|
||||||
|
_signal_callback_del_hook(Evas_Object *obj, const char *emission, const char *source, void (*func_cb) (void *data, Evas_Object *o, const char *emission, const char *source))
|
||||||
|
{
|
||||||
|
Widget_Data *wd;
|
||||||
|
|
||||||
|
wd = elm_widget_data_get(obj);
|
||||||
|
if (!wd)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return edje_object_signal_callback_del(wd->hov, emission, source, func_cb);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_elm_hover_left_space_calc(Widget_Data *wd, Evas_Coord *spc_l, Evas_Coord *spc_t, Evas_Coord *spc_r, Evas_Coord *spc_b)
|
_elm_hover_left_space_calc(Widget_Data *wd, Evas_Coord *spc_l, Evas_Coord *spc_t, Evas_Coord *spc_r, Evas_Coord *spc_b)
|
||||||
{
|
{
|
||||||
|
@ -445,6 +481,9 @@ elm_hover_add(Evas_Object *parent)
|
||||||
elm_widget_theme_hook_set(obj, _theme_hook);
|
elm_widget_theme_hook_set(obj, _theme_hook);
|
||||||
elm_widget_del_hook_set(obj, _del_hook);
|
elm_widget_del_hook_set(obj, _del_hook);
|
||||||
elm_widget_can_focus_set(obj, EINA_TRUE);
|
elm_widget_can_focus_set(obj, EINA_TRUE);
|
||||||
|
elm_widget_signal_emit_hook_set(obj, _signal_emit_hook);
|
||||||
|
elm_widget_signal_callback_add_hook_set(obj, _signal_callback_add_hook);
|
||||||
|
elm_widget_signal_callback_del_hook_set(obj, _signal_callback_del_hook);
|
||||||
|
|
||||||
wd->hov = evas_object_rectangle_add(e);
|
wd->hov = evas_object_rectangle_add(e);
|
||||||
evas_object_pass_events_set(wd->hov, EINA_TRUE);
|
evas_object_pass_events_set(wd->hov, EINA_TRUE);
|
||||||
|
|
Loading…
Reference in New Issue