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