jaehwan pushed a commit to branch master.

commit 2630a7a2974fee9c99a8a5e82c445f9657be01ea
Author: Hosang Kim <[email protected]>
Date:   Wed Jul 3 13:57:17 2013 +0900

    added callback call "scroll", "scroll,anim,start", "scroll,anim,stop", 
"scroll,drag,start", "scroll,drag,stop"
    in toolar widget.
---
 src/lib/elm_toolbar.c | 61 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 file changed, 53 insertions(+), 8 deletions(-)

diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c
index 2c34289..843de48 100644
--- a/src/lib/elm_toolbar.c
+++ b/src/lib/elm_toolbar.c
@@ -16,11 +16,21 @@ EAPI Eo_Op ELM_OBJ_TOOLBAR_BASE_ID = EO_NOOP;
 #define ELM_TOOLBAR_ITEM_FROM_INLIST(item) \
   ((item) ? EINA_INLIST_CONTAINER_GET(item, Elm_Toolbar_Item) : NULL)
 
+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_CLICKED[] = "clicked";
 static const char SIG_LONGPRESSED[] = "longpressed";
 static const char SIG_CLICKED_DOUBLE[] = "clicked,double";
 static const char SIG_LANG_CHANGED[] = "language,changed";
 static const Evas_Smart_Cb_Description _smart_callbacks[] = {
+   {SIG_SCROLL, ""},
+   {SIG_SCROLL_ANIM_START, ""},
+   {SIG_SCROLL_ANIM_STOP, ""},
+   {SIG_SCROLL_DRAG_START, ""},
+   {SIG_SCROLL_DRAG_STOP, ""},
    {SIG_CLICKED, ""},
    {SIG_LONGPRESSED, ""},
    {SIG_CLICKED_DOUBLE, ""},
@@ -1833,13 +1843,6 @@ _long_press_cb(void *data)
 }
 
 static void
-_drag_start_cb(Evas_Object *obj, void *data __UNUSED__)
-{
-   ELM_TOOLBAR_DATA_GET(obj, sd);
-   ELM_SAFE_FREE(sd->long_timer, ecore_timer_del);
-}
-
-static void
 _mouse_move_cb(Elm_Toolbar_Item *it,
                Evas *evas __UNUSED__,
                Evas_Object *obj __UNUSED__,
@@ -1920,6 +1923,44 @@ _mouse_out_cb(void *data,
 }
 
 static void
+_scroll_cb(Evas_Object *obj,
+           void *data __UNUSED__)
+{
+   evas_object_smart_callback_call(obj, SIG_SCROLL, NULL);
+}
+
+static void
+_scroll_anim_start_cb(Evas_Object *obj,
+                      void *data __UNUSED__)
+{
+   evas_object_smart_callback_call(obj, SIG_SCROLL_ANIM_START, NULL);
+}
+
+static void
+_scroll_anim_stop_cb(Evas_Object *obj,
+                     void *data __UNUSED__)
+{
+   evas_object_smart_callback_call(obj, SIG_SCROLL_ANIM_STOP, NULL);
+}
+
+static void
+_scroll_drag_start_cb(Evas_Object *obj,
+                      void *data __UNUSED__)
+{
+   ELM_TOOLBAR_DATA_GET(obj, sd);
+   ELM_SAFE_FREE(sd->long_timer, ecore_timer_del);
+
+   evas_object_smart_callback_call(obj, SIG_SCROLL_DRAG_START, NULL);
+}
+
+static void
+_scroll_drag_stop_cb(Evas_Object *obj,
+                     void *data __UNUSED__)
+{
+   evas_object_smart_callback_call(obj, SIG_SCROLL_DRAG_STOP, NULL);
+}
+
+static void
 _layout(Evas_Object *o,
         Evas_Object_Box_Data *priv,
         void *data)
@@ -2477,7 +2518,11 @@ _elm_toolbar_smart_add(Eo *obj, void *_pd, va_list *list 
EINA_UNUSED)
          (_elm_config->thumbscroll_bounce_enable, EINA_FALSE),
          elm_scrollable_interface_policy_set
          (ELM_SCROLLER_POLICY_AUTO, ELM_SCROLLER_POLICY_OFF),
-         elm_scrollable_interface_drag_start_cb_set(_drag_start_cb));
+         elm_scrollable_interface_scroll_cb_set(_scroll_cb),
+         elm_scrollable_interface_animate_start_cb_set(_scroll_anim_start_cb),
+         elm_scrollable_interface_animate_stop_cb_set(_scroll_anim_stop_cb),
+         elm_scrollable_interface_drag_start_cb_set(_scroll_drag_start_cb),
+         elm_scrollable_interface_drag_stop_cb_set(_scroll_drag_stop_cb));
 
    edje_object_signal_callback_add
      (edje, "elm,action,left", "elm", _elm_toolbar_action_left_cb, obj);

-- 

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev

Reply via email to