summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Sadoine <chris@indefini.org>2013-10-23 22:43:02 +0900
committerDaniel Juyung Seo <seojuyung2@gmail.com>2013-10-23 23:03:50 +0900
commitc456cf83a0b318c5d031c73c83e7f3fedb357a62 (patch)
treed16c445b7f73fc5fd062b167f7a72297412a75c9
parent5d124a279949a80671beafdcec3c5dcc00dd6bac (diff)
downloadelementary-c456cf83a0b318c5d031c73c83e7f3fedb357a62.tar.gz
spinner: added signals "spinner,drag,start" and "spinner,drag,stop"
Reviewers: seoz CC: seoz Differential Revision: https://phab.enlightenment.org/D271
-rw-r--r--ChangeLog4
-rw-r--r--NEWS1
-rw-r--r--src/bin/test_spinner.c19
-rw-r--r--src/lib/elm_spinner.c8
-rw-r--r--src/lib/elm_spinner.h2
5 files changed, 34 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e403324a7..a1657cd2a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1719,3 +1719,7 @@
2013-10-22 Amitesh Singh (_ami_)
* slider : Show popup on left/right/up/down key down press and hide on left/right/up/down key up press.
+
+2013-10-23 Christophe Sadoine
+
+ * spinner: added signals "spinner,drag,start" and "spinner,drag,stop".
diff --git a/NEWS b/NEWS
index d56d0e0bc..edaf5a9c2 100644
--- a/NEWS
+++ b/NEWS
@@ -99,6 +99,7 @@ Additions:
* Add elm_object_item_signal_emit support in hoversel. This works only when the item is created.
* Add elm_fileselector_multi_select_set/get() and elm_fileselector_selected_paths_get to support multi-selection.
* Add elm_fileselector_hidden_visible_set/get() to show or hide hidden files/directories.
+ * Add signals "spinner,drag,start" and "spinner,drag,stop" to the spinner widget.
Improvements:
diff --git a/src/bin/test_spinner.c b/src/bin/test_spinner.c
index 0e9f9507f..d1b5dad5b 100644
--- a/src/bin/test_spinner.c
+++ b/src/bin/test_spinner.c
@@ -3,6 +3,21 @@
#endif
#include <Elementary.h>
#ifndef ELM_LIB_QUICKLAUNCH
+
+static void
+_spinner_drag_start_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+ void *event EINA_UNUSED)
+{
+ printf("spinner drag started\n");
+}
+
+static void
+_spinner_drag_stop_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
+ void *event EINA_UNUSED)
+{
+ printf("spinner drag stopped\n");
+}
+
void
test_spinner(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
@@ -24,6 +39,10 @@ test_spinner(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_i
elm_spinner_min_max_set(sp, -50.0, 250.0);
evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_smart_callback_add(sp, "spinner,drag,start",
+ _spinner_drag_start_cb, NULL);
+ evas_object_smart_callback_add(sp, "spinner,drag,stop",
+ _spinner_drag_stop_cb, NULL);
elm_box_pack_end(bx, sp);
evas_object_show(sp);
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index 6f91eebf5..5040e20fd 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -17,6 +17,8 @@ EAPI Eo_Op ELM_OBJ_SPINNER_BASE_ID = EO_NOOP;
#define MY_CLASS_NAME "elm_spinner"
static const char SIG_CHANGED[] = "changed";
+static const char SIG_DRAG_START[] = "spinner,drag,start";
+static const char SIG_DRAG_STOP[] = "spinner,drag,stop";
static const char SIG_DELAY_CHANGED[] = "delay,changed";
static const char SIG_LANG_CHANGED[] = "language,changed";
@@ -24,6 +26,8 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] = {
{SIG_CHANGED, ""},
{SIG_DELAY_CHANGED, ""},
{SIG_LANG_CHANGED, ""},
+ {SIG_DRAG_START, ""},
+ {SIG_DRAG_STOP, ""},
{"focused", ""}, /**< handled by elm_widget */
{"unfocused", ""}, /**< handled by elm_widget */
{NULL, NULL}
@@ -204,6 +208,8 @@ _drag_start_cb(void *data,
ELM_SPINNER_DATA_GET(data, sd);
sd->drag_start_val = sd->val;
+
+ evas_object_smart_callback_call(obj, SIG_DRAG_START, NULL);
}
static void
@@ -218,6 +224,8 @@ _drag_stop_cb(void *data,
sd->drag_start_val = 0;
edje_object_part_drag_value_set
(wd->resize_obj, "elm.dragable.slider", 0.0, 0.0);
+
+ evas_object_smart_callback_call(obj, SIG_DRAG_STOP, NULL);
}
static void
diff --git a/src/lib/elm_spinner.h b/src/lib/elm_spinner.h
index 8393f3faf..a6ced26c5 100644
--- a/src/lib/elm_spinner.h
+++ b/src/lib/elm_spinner.h
@@ -34,6 +34,8 @@
* - @c "language,changed" - the program's language changed
* - @c "focused" - When the spinner has received focus. (since 1.8)
* - @c "unfocused" - When the spinner has lost focus. (since 1.8)
+ * - @c "spinner,drag,start" - When dragging has started. (since 1.8)
+ * - @c "spinner,drag,stop" - When dragging has stopped. (since 1.8)
*
* Available styles for it:
* - @c "default";