[*][Genlist] Added more scroller smart callbacks. Applied upstream
authorDaniel Juyung Seo <juyung.seo@samsung.com>
Fri, 16 Sep 2011 07:38:55 +0000 (16:38 +0900)
committerDaniel Juyung Seo <juyung.seo@samsung.com>
Mon, 31 Oct 2011 11:39:18 +0000 (20:39 +0900)
commit r62710 and r62711.

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.

git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@62710 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

elm gengrid: Oops, I added more changes to the previous commit.

git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@62711 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

Change-Id: I26b9244462ffe6dcc6d607590ddfedc274ca9a46

src/lib/Elementary.h.in
src/lib/elm_gengrid.c
src/lib/elm_genlist.c

index 2ddcebc..fc99ffe 100644 (file)
@@ -3300,6 +3300,8 @@ extern "C" {
     * changed - An item has been added, removed, resized or moved,
     * or gengrid has been resized or horizontal property has been changed.
     * scroll - the content has been scrolled (moved).
+    * "scroll,anim,start" - This is called when scrolling animation has started.
+    * "scroll,anim,stop" - This is called when scrolling animation has stopped.
     * "scroll,drag,start" - dragging the contents around has started.
     * "scroll,drag,stop" - dragging the contents around has stopped.
     * drag - Gengrid is being dragged.
@@ -5634,6 +5636,10 @@ extern "C" {
     * "drag" - This is called when the item in the list is being dragged.
     * "longpressed" - This is called when the item is pressed for a certain amount
     *                 of time. By default it's 1 second.
+    * "scroll,anim,start" - This is called when scrolling animation has started.
+    * "scroll,anim,stop" - This is called when scrolling animation has stopped.
+    * "scroll,drag,start" - This is called when dragging the content has started.
+    * "scroll,drag,stop" - This is called when dragging the content has stopped.
     * "scroll,edge,top" - This is called when the genlist is scrolled until the
     *                     top edge.
     * "scroll,edge,bottom" - This is called when the genlist is scrolled until the
index 30ead05..04edbe5 100644 (file)
@@ -271,6 +271,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";
@@ -289,6 +291,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, ""},
@@ -1714,6 +1718,22 @@ _freeze_off(void *data       __UNUSED__,
 }
 
 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__)
@@ -1798,6 +1818,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", _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, "scroll", _scr_scroll, obj);
index 1d6eefd..a3ebeca 100644 (file)
@@ -294,6 +294,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";
@@ -324,6 +328,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, ""},
@@ -3200,6 +3208,38 @@ _freeze_off(void        *data __UNUSED__,
 }
 
 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__,
                   void        *event_info __UNUSED__)
@@ -3464,6 +3504,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);