elm genlist: Added "scroll,anim,start", "scroll,anim,stop",
authorseoz <seoz@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 23 Aug 2011 04:02:26 +0000 (04:02 +0000)
committerseoz <seoz@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 23 Aug 2011 04:02:26 +0000 (04:02 +0000)
"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: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@62710 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

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

index 97cbec9..e906434 100644 (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
index 797365d..f8b1aa0 100644 (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, ""},
@@ -1585,6 +1589,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
+_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__,
                 void *event_info __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);
index 68df571..38bc776 100644 (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, ""},
@@ -2766,6 +2774,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__)
@@ -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);