jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3cdd290f17560aaa85aa3027a55b73eab14c1ec8
commit 3cdd290f17560aaa85aa3027a55b73eab14c1ec8 Author: Woochan Lee <[email protected]> Date: Wed May 24 13:31:14 2017 +0900 spinner: Add signal to notify the value of spinner has been reached at min, max. Summary: The User requires this signal to handle spinner widget easily on their app. Test Plan: Spinner test on elementary_test. Reviewers: cedric, jpeg, Hermet, woohyun, Jaehyun, myoungwoon, Jaehyun_Cho Reviewed By: myoungwoon, Jaehyun_Cho Subscribers: myoungwoon, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4886 --- src/lib/elementary/elm_spinner.c | 9 +++++++++ src/lib/elementary/elm_spinner.eo | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c index 56513cd..c3921f3 100644 --- a/src/lib/elementary/elm_spinner.c +++ b/src/lib/elementary/elm_spinner.c @@ -25,12 +25,16 @@ 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_MIN_REACHED[] = "min,reached"; +static const char SIG_MAX_REACHED[] = "max,reached"; static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_CHANGED, ""}, {SIG_DELAY_CHANGED, ""}, {SIG_DRAG_START, ""}, {SIG_DRAG_STOP, ""}, + {SIG_MIN_REACHED, ""}, + {SIG_MAX_REACHED, ""}, {SIG_WIDGET_LANG_CHANGED, ""}, /**< handled by elm_widget */ {SIG_WIDGET_ACCESS_CHANGED, ""}, /**< handled by elm_widget */ {SIG_LAYOUT_FOCUSED, ""}, /**< handled by elm_layout */ @@ -265,6 +269,11 @@ _value_set(Evas_Object *obj, if (new_val == sd->val) return EINA_FALSE; sd->val = new_val; + if (sd->val == sd->val_min) + efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_MIN_REACHED, NULL); + else if (sd->val == sd->val_max) + efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_MAX_REACHED, NULL); + efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_CHANGED, NULL); elm_interface_atspi_accessible_value_changed_signal_emit(obj); ecore_timer_del(sd->delay_change_timer); diff --git a/src/lib/elementary/elm_spinner.eo b/src/lib/elementary/elm_spinner.eo index 3404205..c2c0406 100644 --- a/src/lib/elementary/elm_spinner.eo +++ b/src/lib/elementary/elm_spinner.eo @@ -170,5 +170,7 @@ class Elm.Spinner (Elm.Layout, Efl.Ui.Spin, delay,changed; [[Called when spinner delay changed]] spinner,drag,start; [[Called when spinner drag started]] spinner,drag,stop; [[Called when spinner drag stopped]] + min,reached; [[Called when spinner value reached min]] + max,reached; [[Called when spinner value reached max]] } } --
