elm genlist: Added "scroll,anim,start", "scroll,anim,stop",

"scroll,drag,start", "scroll,drag,stop" smart callbacks to genlist.
elm gengrid: Added "scroll,anim,start", "scroll,anim,stop" smart
callbacks to genlist.


SVN revision: 62710
This commit is contained in:
Daniel Juyung Seo 2011-08-23 04:02:26 +00:00
parent deaaf6d381
commit f899277816
3 changed files with 78 additions and 0 deletions

View File

@ -7747,6 +7747,10 @@ extern "C" {
* - @c "changed" - Called when an item is added, removed, resized
* or moved and when the gengrid is resized or gets "horizontal"
* property changes.
* - @c "scroll,anim,start" - This is called when scrolling animation has
* started.
* - @c "scroll,anim,stop" - This is called when scrolling animation has
* stopped.
* - @c "drag,start,up" - Called when the item in the gengrid has
* been dragged (not scrolled) up.
* - @c "drag,start,down" - Called when the item in the gengrid has
@ -16634,6 +16638,14 @@ extern "C" {
* - @c "drag" - This is called when the item in the list is being dragged.
* - @c "longpressed" - This is called when the item is pressed for a certain
* amount of time. By default it's 1 second.
* - @c "scroll,anim,start" - This is called when scrolling animation has
* started.
* - @c "scroll,anim,stop" - This is called when scrolling animation has
* stopped.
* - @c "scroll,drag,start" - This is called when dragging the content has
* started.
* - @c "scroll,drag,stop" - This is called when dragging the content has
* stopped.
* - @c "scroll,edge,top" - This is called when the genlist is scrolled until
* the top edge.
* - @c "scroll,edge,bottom" - This is called when the genlist is scrolled

View File

@ -139,6 +139,8 @@ static const char SIG_DRAG_START_RIGHT[] = "drag,start,right";
static const char SIG_DRAG_STOP[] = "drag,stop";
static const char SIG_DRAG[] = "drag";
static const char SIG_SCROLL[] = "scroll";
static const char SIG_SCROLL_ANIM_START[] = "scroll,anim,start";
static const char SIG_SCROLL_ANIM_STOP[] = "scroll,anim,stop";
static const char SIG_SCROLL_DRAG_START[] = "scroll,drag,start";
static const char SIG_SCROLL_DRAG_STOP[] = "scroll,drag,stop";
static const char SIG_MOVED[] = "moved";
@ -158,6 +160,8 @@ static const Evas_Smart_Cb_Description _signals[] = {
{SIG_DRAG_STOP, ""},
{SIG_DRAG, ""},
{SIG_SCROLL, ""},
{SIG_SCROLL_ANIM_START, ""},
{SIG_SCROLL_ANIM_STOP, ""},
{SIG_SCROLL_DRAG_START, ""},
{SIG_SCROLL_DRAG_STOP, ""},
{SIG_MOVED, ""},
@ -1584,6 +1588,22 @@ _freeze_off(void *data __UNUSED__,
elm_smart_scroller_freeze_set(wd->scr, 0);
}
static void
_scr_anim_start(void *data,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
evas_object_smart_callback_call(data, SIG_SCROLL_ANIM_START, NULL);
}
static void
_scrl_anim_stop(void *data,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
evas_object_smart_callback_call(data, SIG_SCROLL_ANIM_STOP, NULL);
}
static void
_scr_drag_start(void *data,
Evas_Object *obj __UNUSED__,
@ -1655,6 +1675,8 @@ elm_gengrid_add(Evas_Object *parent)
"default");
elm_widget_resize_object_set(obj, wd->scr);
evas_object_smart_callback_add(wd->scr, "animate,start", _scroll_anim_start, obj);
evas_object_smart_callback_add(wd->scr, "animate,stop", _scroll_anim_stop, obj);
evas_object_smart_callback_add(wd->scr, "drag,start", _scr_drag_start, obj);
evas_object_smart_callback_add(wd->scr, "drag,stop", _scr_drag_stop, obj);
evas_object_smart_callback_add(wd->scr, "scroll", _scr_scroll, obj);

View File

@ -245,6 +245,10 @@ static const char SIG_DRAG_START_RIGHT[] = "drag,start,right";
static const char SIG_DRAG_STOP[] = "drag,stop";
static const char SIG_DRAG[] = "drag";
static const char SIG_LONGPRESSED[] = "longpressed";
static const char SIG_SCROLL_ANIM_START[] = "scroll,anim,start";
static const char SIG_SCROLL_ANIM_STOP[] = "scroll,anim,stop";
static const char SIG_SCROLL_DRAG_START[] = "scroll,drag,start";
static const char SIG_SCROLL_DRAG_STOP[] = "scroll,drag,stop";
static const char SIG_SCROLL_EDGE_TOP[] = "scroll,edge,top";
static const char SIG_SCROLL_EDGE_BOTTOM[] = "scroll,edge,bottom";
static const char SIG_SCROLL_EDGE_LEFT[] = "scroll,edge,left";
@ -275,6 +279,10 @@ static const Evas_Smart_Cb_Description _signals[] = {
{SIG_DRAG_STOP, ""},
{SIG_DRAG, ""},
{SIG_LONGPRESSED, ""},
{SIG_SCROLL_ANIM_START, ""},
{SIG_SCROLL_ANIM_STOP, ""},
{SIG_SCROLL_DRAG_START, ""},
{SIG_SCROLL_DRAG_STOP, ""},
{SIG_SCROLL_EDGE_TOP, ""},
{SIG_SCROLL_EDGE_BOTTOM, ""},
{SIG_SCROLL_EDGE_LEFT, ""},
@ -2765,6 +2773,38 @@ _freeze_off(void *data __UNUSED__,
elm_smart_scroller_freeze_set(wd->scr, 0);
}
static void
_scr_anim_start(void *data,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
evas_object_smart_callback_call(data, SIG_SCROLL_ANIM_START, NULL);
}
static void
_scr_anim_stop(void *data,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
evas_object_smart_callback_call(data, SIG_SCROLL_ANIM_STOP, NULL);
}
static void
_scr_drag_start(void *data,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
evas_object_smart_callback_call(data, SIG_SCROLL_DRAG_START, NULL);
}
static void
_scr_drag_stop(void *data,
Evas_Object *obj __UNUSED__,
void *event_info __UNUSED__)
{
evas_object_smart_callback_call(data, SIG_SCROLL_DRAG_STOP, NULL);
}
static void
_scroll_edge_left(void *data,
Evas_Object *scr __UNUSED__,
@ -3002,6 +3042,10 @@ elm_genlist_add(Evas_Object *parent)
_elm_config->thumbscroll_bounce_enable);
elm_widget_resize_object_set(obj, wd->scr);
evas_object_smart_callback_add(wd->scr, "animate,start", _scr_anim_start, obj);
evas_object_smart_callback_add(wd->scr, "animate,stop", _scr_anim_stop, obj);
evas_object_smart_callback_add(wd->scr, "drag,start", _scr_drag_start, obj);
evas_object_smart_callback_add(wd->scr, "drag,stop", _scr_drag_stop, obj);
evas_object_smart_callback_add(wd->scr, "edge,left", _scroll_edge_left, obj);
evas_object_smart_callback_add(wd->scr, "edge,right", _scroll_edge_right,
obj);