diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h index c010581c74..5bed200264 100644 --- a/src/lib/elementary/Efl_Ui.h +++ b/src/lib/elementary/Efl_Ui.h @@ -148,7 +148,6 @@ EAPI void efl_ui_focus_relation_free(Efl_Ui_Focus_Relations *rel); # include # include # include -# include # include # include diff --git a/src/lib/elementary/efl_access_object.h b/src/lib/elementary/efl_access_object.h index 4ad1ede4e5..7f711a55c7 100644 --- a/src/lib/elementary/efl_access_object.h +++ b/src/lib/elementary/efl_access_object.h @@ -78,7 +78,7 @@ efl_access_attribute_free(Efl_Access_Attribute *attr); * Emits Accessible 'PropertyChanged' signal for 'Value' property. */ #define efl_access_value_changed_signal_emit(obj) \ - efl_access_object_event_emit(obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "value"); + efl_access_object_event_emit(obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "value"); /** * Emits Accessible 'ChildrenChanged' signal with added child as argument. diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c index 0bc3f9ca86..74697dbf85 100644 --- a/src/lib/elementary/efl_ui_progressbar.c +++ b/src/lib/elementary/efl_ui_progressbar.c @@ -4,7 +4,6 @@ #define EFL_ACCESS_OBJECT_PROTECTED #define ELM_LAYOUT_PROTECTED -#define EFL_ACCESS_VALUE_PROTECTED #define EFL_PART_PROTECTED #define EFL_UI_FORMAT_PROTECTED @@ -650,12 +649,6 @@ _efl_ui_progressbar_part_efl_ui_range_display_range_value_get(const Eo *obj, voi return _progressbar_part_value_get(sd, pd->part); } -EOLIAN static void -_efl_ui_progressbar_efl_access_value_value_and_text_get(const Eo *obj EINA_UNUSED, Efl_Ui_Progressbar_Data *_pd, double *value, const char **text EINA_UNUSED) -{ - if (value) *value = _pd->val; -} - EOLIAN static void _efl_ui_progressbar_part_efl_ui_range_display_range_limits_set(Eo *obj, void *_pd EINA_UNUSED, double min, double max) { diff --git a/src/lib/elementary/efl_ui_progressbar.eo b/src/lib/elementary/efl_ui_progressbar.eo index 9108298901..abd4d9b49b 100644 --- a/src/lib/elementary/efl_ui_progressbar.eo +++ b/src/lib/elementary/efl_ui_progressbar.eo @@ -1,5 +1,5 @@ -class Efl.Ui.Progressbar extends Efl.Ui.Layout_Base implements Efl.Ui.Range_Display, Efl.Ui.Format, - Efl.Ui.Layout_Orientable, Efl.Access.Value, +class @beta Efl.Ui.Progressbar extends Efl.Ui.Layout_Base implements Efl.Ui.Range_Display, Efl.Ui.Format, + Efl.Ui.Layout_Orientable, Efl.Text, Efl.Content, Efl.Text_Markup { [[Progress bar widget. @@ -53,7 +53,6 @@ class Efl.Ui.Progressbar extends Efl.Ui.Layout_Base implements Efl.Ui.Range_Dis Efl.Ui.Layout_Orientable.orientation { get; set; } Efl.Ui.Format.apply_formatted_value; Efl.Part.part_get; - Efl.Access.Value.value_and_text { get; } Efl.Text.text { get; set; } Efl.Text_Markup.markup { get; set; } Efl.Content.content { get; set; } diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c index 920dcfada2..a1abab72b8 100644 --- a/src/lib/elementary/efl_ui_slider.c +++ b/src/lib/elementary/efl_ui_slider.c @@ -4,7 +4,6 @@ #define EFL_ACCESS_OBJECT_PROTECTED #define EFL_ACCESS_WIDGET_ACTION_PROTECTED -#define EFL_ACCESS_VALUE_PROTECTED #define ELM_LAYOUT_PROTECTED #include @@ -37,7 +36,7 @@ _delay_change(void *data) efl_event_callback_call(data, EFL_UI_RANGE_EVENT_STEADY, NULL); if (_elm_config->atspi_mode) - efl_access_value_changed_signal_emit(data); + efl_access_object_event_emit(data, EFL_UI_RANGE_EVENT_CHANGED, NULL); return ECORE_CALLBACK_CANCEL; } @@ -76,7 +75,7 @@ _emit_events(Eo *obj, Efl_Ui_Slider_Data *sd) // emit accessibility event also if value was changed by API if (_elm_config->atspi_mode) - efl_access_value_changed_signal_emit(obj); + efl_access_object_event_emit(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); } static void @@ -795,45 +794,6 @@ _efl_ui_slider_efl_ui_focus_object_on_focus_update(Eo *obj, Efl_Ui_Slider_Data * // A11Y Accessibility -EOLIAN static void -_efl_ui_slider_efl_access_value_value_and_text_get(const Eo *obj EINA_UNUSED, Efl_Ui_Slider_Data *sd, double *value, const char **text) -{ - if (value) *value = sd->val; - if (text) *text = NULL; -} - -EOLIAN static Eina_Bool -_efl_ui_slider_efl_access_value_value_and_text_set(Eo *obj, Efl_Ui_Slider_Data *sd, double value, const char *text EINA_UNUSED) -{ - if (value < sd->val_min) value = sd->val_min; - if (value > sd->val_max) value = sd->val_max; - - efl_event_callback_call(obj, EFL_UI_SLIDER_EVENT_SLIDER_DRAG_START, NULL); - - if (fabs(value - sd->val) > DBL_EPSILON) - { - _user_value_update(obj, value); - } - - efl_event_callback_call(obj, EFL_UI_SLIDER_EVENT_SLIDER_DRAG_STOP, NULL); - - return EINA_TRUE; -} - -EOLIAN static void -_efl_ui_slider_efl_access_value_range_get(const Eo *obj EINA_UNUSED, Efl_Ui_Slider_Data *sd, double *lower, double *upper, const char **descr) -{ - if (lower) *lower = sd->val_min; - if (upper) *upper = sd->val_max; - if (descr) *descr = NULL; -} - -EOLIAN static double -_efl_ui_slider_efl_access_value_increment_get(const Eo *obj EINA_UNUSED, Efl_Ui_Slider_Data *sd) -{ - return sd->step; -} - EOLIAN const Efl_Access_Action_Data * _efl_ui_slider_efl_access_widget_action_elm_actions_get(const Eo *obj EINA_UNUSED, Efl_Ui_Slider_Data *pd EINA_UNUSED) { diff --git a/src/lib/elementary/efl_ui_slider.eo b/src/lib/elementary/efl_ui_slider.eo index 992a1308fd..7a7d6bd614 100644 --- a/src/lib/elementary/efl_ui_slider.eo +++ b/src/lib/elementary/efl_ui_slider.eo @@ -1,5 +1,4 @@ class Efl.Ui.Slider extends Efl.Ui.Layout_Base implements Efl.Ui.Range_Interactive, Efl.Ui.Layout_Orientable, - Efl.Access.Value, Efl.Access.Widget.Action { [[Elementary slider class @@ -23,9 +22,6 @@ class Efl.Ui.Slider extends Efl.Ui.Layout_Base implements Efl.Ui.Range_Interacti Efl.Ui.Range_Display.range_limits {get; set; } Efl.Ui.Range_Interactive.range_step { get; set; } Efl.Ui.Layout_Orientable.orientation { get; set; } - Efl.Access.Value.value_and_text { get; set; } - Efl.Access.Value.range { get; } - Efl.Access.Value.increment { get; } Efl.Access.Widget.Action.elm_actions { get; } } events { diff --git a/src/lib/elementary/efl_ui_slider_interval.c b/src/lib/elementary/efl_ui_slider_interval.c index e5fe1f5243..70b5be46d2 100644 --- a/src/lib/elementary/efl_ui_slider_interval.c +++ b/src/lib/elementary/efl_ui_slider_interval.c @@ -4,7 +4,6 @@ #define EFL_ACCESS_OBJECT_PROTECTED #define EFL_ACCESS_WIDGET_ACTION_PROTECTED -#define EFL_ACCESS_VALUE_PROTECTED #include #include "elm_priv.h" @@ -34,7 +33,7 @@ _delay_change(void *data) efl_event_callback_call(data, EFL_UI_RANGE_EVENT_STEADY, NULL); if (_elm_config->atspi_mode) - efl_access_value_changed_signal_emit(data); + efl_access_object_event_emit(data, EFL_UI_RANGE_EVENT_CHANGED, NULL); return ECORE_CALLBACK_CANCEL; } @@ -89,7 +88,7 @@ _val_set(Evas_Object *obj) // emit accessibility event also if value was changed by API if (_elm_config->atspi_mode) - efl_access_value_changed_signal_emit(obj); + efl_access_object_event_emit(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); evas_object_smart_changed(obj); } @@ -871,44 +870,6 @@ _efl_ui_slider_interval_efl_ui_layout_orientable_orientation_get(const Eo *obj E } // A11Y Accessibility -EOLIAN static void -_efl_ui_slider_interval_efl_access_value_value_and_text_get(const Eo *obj EINA_UNUSED, Efl_Ui_Slider_Interval_Data *sd, double *value, const char **text) -{ - if (value) *value = sd->val; - if (text) *text = NULL; -} - -EOLIAN static Eina_Bool -_efl_ui_slider_interval_efl_access_value_value_and_text_set(Eo *obj, Efl_Ui_Slider_Interval_Data *sd, double value, const char *text EINA_UNUSED) -{ - double oldval = sd->val; - - if (value < sd->val_min) value = sd->val_min; - if (value > sd->val_max) value = sd->val_max; - - efl_event_callback_call(obj, EFL_UI_SLIDER_INTERVAL_EVENT_SLIDER_DRAG_START, NULL); - sd->val = value; - _val_set(obj); - sd->val = oldval; - _slider_update(obj, EINA_TRUE); - efl_event_callback_call(obj, EFL_UI_SLIDER_INTERVAL_EVENT_SLIDER_DRAG_STOP, NULL); - - return EINA_TRUE; -} - -EOLIAN static void -_efl_ui_slider_interval_efl_access_value_range_get(const Eo *obj EINA_UNUSED, Efl_Ui_Slider_Interval_Data *sd, double *lower, double *upper, const char **descr) -{ - if (lower) *lower = sd->val_min; - if (upper) *upper = sd->val_max; - if (descr) *descr = NULL; -} - -EOLIAN static double -_efl_ui_slider_interval_efl_access_value_increment_get(const Eo *obj EINA_UNUSED, Efl_Ui_Slider_Interval_Data *sd) -{ - return sd->step; -} EOLIAN const Efl_Access_Action_Data * _efl_ui_slider_interval_efl_access_widget_action_elm_actions_get(const Eo *obj EINA_UNUSED, Efl_Ui_Slider_Interval_Data *pd EINA_UNUSED) diff --git a/src/lib/elementary/efl_ui_slider_interval.eo b/src/lib/elementary/efl_ui_slider_interval.eo index d62726f2ee..4eab8cea5f 100644 --- a/src/lib/elementary/efl_ui_slider_interval.eo +++ b/src/lib/elementary/efl_ui_slider_interval.eo @@ -1,5 +1,5 @@ class @beta Efl.Ui.Slider_Interval extends Efl.Ui.Layout_Base implements Efl.Ui.Range_Interactive, - Efl.Ui.Layout_Orientable, Efl.Access.Value, Efl.Access.Widget.Action + Efl.Ui.Layout_Orientable, Efl.Access.Widget.Action { [[An interval slider. @@ -29,9 +29,6 @@ class @beta Efl.Ui.Slider_Interval extends Efl.Ui.Layout_Base implements Efl.Ui. Efl.Ui.Range_Display.range_limits {get; set; } Efl.Ui.Range_Interactive.range_step { get; set; } Efl.Ui.Layout_Orientable.orientation { get; set; } - Efl.Access.Value.value_and_text { get; set; } - Efl.Access.Value.range { get; } - Efl.Access.Value.increment { get; } Efl.Access.Widget.Action.elm_actions { get; } } events { diff --git a/src/lib/elementary/efl_ui_spin.c b/src/lib/elementary/efl_ui_spin.c index 0cf72890b0..cbd1c95d66 100644 --- a/src/lib/elementary/efl_ui_spin.c +++ b/src/lib/elementary/efl_ui_spin.c @@ -3,7 +3,6 @@ #endif #define EFL_ACCESS_OBJECT_PROTECTED -#define EFL_ACCESS_VALUE_PROTECTED #define EFL_ACCESS_WIDGET_ACTION_PROTECTED #define EFL_UI_FORMAT_PROTECTED diff --git a/src/lib/elementary/efl_ui_spin.eo b/src/lib/elementary/efl_ui_spin.eo index cb5c2cc898..2dac6ec69a 100644 --- a/src/lib/elementary/efl_ui_spin.eo +++ b/src/lib/elementary/efl_ui_spin.eo @@ -1,5 +1,5 @@ class Efl.Ui.Spin extends Efl.Ui.Layout_Base implements Efl.Ui.Range_Display, -Efl.Ui.Format, Efl.Access.Value, Efl.Access.Widget.Action +Efl.Ui.Format, Efl.Access.Widget.Action { [[A Spin. diff --git a/src/lib/elementary/efl_ui_spin_button.c b/src/lib/elementary/efl_ui_spin_button.c index 6dc0dbe897..b44a93f30b 100644 --- a/src/lib/elementary/efl_ui_spin_button.c +++ b/src/lib/elementary/efl_ui_spin_button.c @@ -3,7 +3,6 @@ #endif #define EFL_ACCESS_OBJECT_PROTECTED -#define EFL_ACCESS_VALUE_PROTECTED #define EFL_ACCESS_WIDGET_ACTION_PROTECTED #define EFL_UI_FOCUS_COMPOSITION_PROTECTED #define EFL_UI_FORMAT_PROTECTED @@ -758,44 +757,6 @@ _efl_ui_spin_button_efl_access_widget_action_elm_actions_get(const Eo *obj EINA_ // A11Y Accessibility -EOLIAN static void -_efl_ui_spin_button_efl_access_value_value_and_text_get(const Eo *obj EINA_UNUSED, Efl_Ui_Spin_Button_Data *sd EINA_UNUSED, double *value, const char **text) -{ - Efl_Ui_Spin_Data *pd = efl_data_scope_get(obj, EFL_UI_SPIN_CLASS); - - if (value) *value = pd->val; - if (text) *text = NULL; -} - -EOLIAN static Eina_Bool -_efl_ui_spin_button_efl_access_value_value_and_text_set(Eo *obj, Efl_Ui_Spin_Button_Data *sd EINA_UNUSED, double value, const char *text EINA_UNUSED) -{ - Efl_Ui_Spin_Data *pd = efl_data_scope_get(obj, EFL_UI_SPIN_CLASS); - - if (pd->val_min > value) return EINA_FALSE; - if (pd->val_max < value) return EINA_FALSE; - - efl_ui_range_value_set(obj, value); - - return EINA_TRUE; -} - -EOLIAN static void -_efl_ui_spin_button_efl_access_value_range_get(const Eo *obj EINA_UNUSED, Efl_Ui_Spin_Button_Data *sd EINA_UNUSED, double *lower, double *upper, const char **descr) -{ - Efl_Ui_Spin_Data *pd = efl_data_scope_get(obj, EFL_UI_SPIN_CLASS); - - if (lower) *lower = pd->val_min; - if (upper) *upper = pd->val_max; - if (descr) *descr = NULL; -} - -EOLIAN static double -_efl_ui_spin_button_efl_access_value_increment_get(const Eo *obj EINA_UNUSED, Efl_Ui_Spin_Button_Data *pd) -{ - return pd->step; -} - EOLIAN static const char* _efl_ui_spin_button_efl_access_object_i18n_name_get(const Eo *obj, Efl_Ui_Spin_Button_Data *sd EINA_UNUSED) { diff --git a/src/lib/elementary/efl_ui_spin_button.eo b/src/lib/elementary/efl_ui_spin_button.eo index f5e4a11c9c..5f41f48391 100644 --- a/src/lib/elementary/efl_ui_spin_button.eo +++ b/src/lib/elementary/efl_ui_spin_button.eo @@ -71,9 +71,6 @@ class Efl.Ui.Spin_Button extends Efl.Ui.Spin Efl.Ui.Range_Display.range_value { set; } Efl.Ui.Layout_Orientable.orientation { get; set; } Efl.Access.Object.i18n_name { get; } - Efl.Access.Value.value_and_text { get; set; } - Efl.Access.Value.range { get; } - Efl.Access.Value.increment { get; } Efl.Access.Widget.Action.elm_actions { get; } Efl.Ui.Format.apply_formatted_value; Efl.Ui.Range_Interactive.range_step { get; set; } diff --git a/src/lib/elementary/elm_atspi_bridge.c b/src/lib/elementary/elm_atspi_bridge.c index 2e9f987561..b3e8f9a245 100644 --- a/src/lib/elementary/elm_atspi_bridge.c +++ b/src/lib/elementary/elm_atspi_bridge.c @@ -118,6 +118,7 @@ static int _init_count = 0; static void _state_changed_signal_send(void *data, const Efl_Event *event); static void _bounds_changed_signal_send(void *data, const Efl_Event *event); static void _property_changed_signal_send(void *data, const Efl_Event *event); +static void _value_property_changed_signal_send(void *data, const Efl_Event *event); static void _children_changed_signal_send(void *data, const Efl_Event *event); static void _window_signal_send(void *data, const Efl_Event *event); static void _visible_data_changed_signal_send(void *data, const Efl_Event *event); @@ -168,7 +169,8 @@ static const Elm_Atspi_Bridge_Event_Handler event_handlers[] = { { EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_CARET_MOVED, _text_caret_moved_send }, { EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_INSERTED, _text_text_inserted_send }, { EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_REMOVED, _text_text_removed_send }, - { EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_SELECTION_CHANGED, _text_selection_changed_send } + { EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_SELECTION_CHANGED, _text_selection_changed_send }, + { EFL_UI_RANGE_EVENT_CHANGED, _value_property_changed_signal_send } }; enum _Atspi_Object_Child_Event_Type @@ -2162,7 +2164,12 @@ _value_properties_set(const Eldbus_Service_Interface *interface, const char *pro Eo *bridge = eldbus_service_object_data_get(interface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_VALUE_INTERFACE, request_msg); + if (elm_widget_is_legacy(obj)) { + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_VALUE_INTERFACE, request_msg); + } + else if(efl_isa(obj, EFL_UI_RANGE_DISPLAY_INTERFACE)) { + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_UI_RANGE_DISPLAY_INTERFACE, request_msg); + } if (!eldbus_message_iter_arguments_get(iter, "d", &value)) { @@ -2171,7 +2178,13 @@ _value_properties_set(const Eldbus_Service_Interface *interface, const char *pro if (!strcmp(property, "CurrentValue")) { - ret = efl_access_value_and_text_set(obj, value, NULL); + if (elm_widget_is_legacy(obj)) + ret = efl_access_value_and_text_set(obj, value, NULL); + else if(efl_isa(obj, EFL_UI_RANGE_DISPLAY_INTERFACE)) { + efl_ui_range_value_set(obj, value); + ret = (efl_ui_range_value_get(obj) == value); + } + else ret = EINA_FALSE; Eldbus_Message *answer = eldbus_message_method_return_new(request_msg); eldbus_message_arguments_append(answer, "b", ret); return answer; @@ -2190,29 +2203,32 @@ _value_properties_get(const Eldbus_Service_Interface *interface, const char *pro Eo *bridge = eldbus_service_object_data_get(interface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_VALUE_INTERFACE, request_msg, error); + ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_UI_RANGE_DISPLAY_INTERFACE, request_msg, error); if (!strcmp(property, "CurrentValue")) { - efl_access_value_and_text_get(obj, &value, NULL); + value = efl_ui_range_value_get(obj); eldbus_message_iter_basic_append(iter, 'd', value); return EINA_TRUE; } if (!strcmp(property, "MinimumValue")) { - efl_access_value_range_get(obj, &value, NULL, NULL); + efl_ui_range_limits_get(obj, &value, NULL); eldbus_message_iter_basic_append(iter, 'd', value); return EINA_TRUE; } if (!strcmp(property, "MaximumValue")) { - efl_access_value_range_get(obj, NULL, &value, NULL); + efl_ui_range_limits_get(obj, NULL, &value); eldbus_message_iter_basic_append(iter, 'd', value); return EINA_TRUE; } if (!strcmp(property, "MinimumIncrement")) { - value = efl_access_value_increment_get(obj); + if(efl_isa(obj, EFL_UI_RANGE_INTERACTIVE_INTERFACE)) { + value = efl_ui_range_step_get(obj); + } + else { value = 0; } eldbus_message_iter_basic_append(iter, 'd', value); return EINA_TRUE; } @@ -2508,7 +2524,10 @@ _collection_iter_match_rule_get(Eldbus_Message_Iter *iter, struct collection_mat else if (!strcmp(ifc_name, "image")) class = EFL_ACCESS_SELECTION_INTERFACE; else if (!strcmp(ifc_name, "value")) - class = EFL_ACCESS_VALUE_INTERFACE; + { + class = EFL_ACCESS_VALUE_INTERFACE; + rule->ifaces = eina_list_append(rule->ifaces, EFL_UI_RANGE_DISPLAY_INTERFACE); //alternative interface + } if (class) rule->ifaces = eina_list_append(rule->ifaces, class); @@ -3185,6 +3204,8 @@ _iter_interfaces_append(Eldbus_Message_Iter *iter, const Eo *obj) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_TEXT); if (efl_isa(obj, EFL_ACCESS_VALUE_INTERFACE)) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_VALUE); + if (efl_isa(obj, EFL_UI_RANGE_DISPLAY_INTERFACE)) + eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_VALUE); eldbus_message_iter_container_close(iter, iter_array); } @@ -3952,7 +3973,7 @@ _property_changed_signal_send(void *data, const Efl_Event *event) { prop = ATSPI_OBJECT_PROPERTY_VALUE; atspi_desc = "accessible-value"; - } + } if (prop == ATSPI_OBJECT_PROPERTY_LAST) { ERR("Unrecognized property name!"); @@ -3970,6 +3991,15 @@ _property_changed_signal_send(void *data, const Efl_Event *event) &_event_obj_signals[ATSPI_OBJECT_EVENT_PROPERTY_CHANGED], atspi_desc, 0, 0, NULL); } +static void +_value_property_changed_signal_send(void *data, const Efl_Event *event) +{ + ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(data, pd); + + _bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_OBJECT, + &_event_obj_signals[ATSPI_OBJECT_EVENT_PROPERTY_CHANGED], "accessible-value", 0, 0, NULL); +} + static void _visible_data_changed_signal_send(void *data, const Efl_Event *event) { diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c index 355b9469fb..6be95b7d3a 100644 --- a/src/lib/elementary/elm_spinner.c +++ b/src/lib/elementary/elm_spinner.c @@ -280,6 +280,7 @@ _value_set(Evas_Object *obj, efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_CHANGED, NULL); efl_access_value_changed_signal_emit(obj); + efl_access_object_event_emit(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); ecore_timer_del(sd->delay_change_timer); sd->delay_change_timer = ecore_timer_add(ELM_SPINNER_DELAY_CHANGE_TIME, _delay_change_timer_cb, obj);