* e: handle mouse wheel for slider.

SVN revision: 47452
This commit is contained in:
Cedric BAIL 2010-03-25 17:33:54 +00:00
parent c41edaac93
commit 75a2286179
1 changed files with 20 additions and 0 deletions

View File

@ -386,6 +386,24 @@ _e_smart_signal_cb_drag_stop(void *data, Evas_Object *obj __UNUSED__, const char
evas_object_smart_callback_call(sd->smart_obj, "changed", NULL);
}
static void
_e_smart_signal_cb_wheel_up(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
{
E_Smart_Data *sd = data;
edje_object_part_drag_step(sd->edje_obj, "e.dragable.slider", -0.05, -0.05);
sd->direction = -1;
}
static void
_e_smart_signal_cb_wheel_down(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
{
E_Smart_Data *sd = data;
edje_object_part_drag_step(sd->edje_obj, "e.dragable.slider", 0.05, 0.05);
sd->direction = 1;
}
static void
_e_smart_event_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
{
@ -478,6 +496,8 @@ _e_smart_add(Evas_Object *obj)
edje_object_signal_callback_add(sd->edje_obj, "drag,stop", "*", _e_smart_signal_cb_drag_stop, sd);
edje_object_signal_callback_add(sd->edje_obj, "drag,step", "*", _e_smart_signal_cb_drag_stop, sd);
edje_object_signal_callback_add(sd->edje_obj, "drag,set", "*", _e_smart_signal_cb_drag_stop, sd);
edje_object_signal_callback_add(sd->edje_obj, "mouse,wheel,0,1", "*", _e_smart_signal_cb_wheel_up, sd);
edje_object_signal_callback_add(sd->edje_obj, "mouse,wheel,0,-1", "*", _e_smart_signal_cb_wheel_down, sd);
evas_object_event_callback_add(obj, EVAS_CALLBACK_KEY_DOWN, _e_smart_event_key_down, sd);
}