bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ad001028424f6f4036c1ba244b3c777c1650b14b

commit ad001028424f6f4036c1ba244b3c777c1650b14b
Author: Mateusz Denys <[email protected]>
Date:   Mon Feb 24 17:05:52 2020 +0100

    Summary: code refactoring - get rid of unneccessary Efl.Access.Value 
interface.
    
    reviewers_: l.oleksak, stanluk, bu5hm4n, zmike
    
    Reviewed By: l.oleksak
    
    Subscribers: zmike, l.oleksak, cedric, #reviewers, #committers
    
    Tags: #efl
    
    Maniphest Tasks: T8578
    
    Reviewed-by: Lukasz Oleksak <Lukas.Oleksak>
    Reviewed-by: Marcel Hollerbach <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D11304
---
 src/lib/elementary/Efl_Ui.h                  |  1 -
 src/lib/elementary/efl_access_object.h       |  2 +-
 src/lib/elementary/efl_ui_progressbar.c      |  7 ----
 src/lib/elementary/efl_ui_progressbar.eo     |  5 ++-
 src/lib/elementary/efl_ui_slider.c           | 44 ++----------------------
 src/lib/elementary/efl_ui_slider.eo          |  4 ---
 src/lib/elementary/efl_ui_slider_interval.c  | 43 ++----------------------
 src/lib/elementary/efl_ui_slider_interval.eo |  5 +--
 src/lib/elementary/efl_ui_spin.c             |  1 -
 src/lib/elementary/efl_ui_spin.eo            |  2 +-
 src/lib/elementary/efl_ui_spin_button.c      | 39 ----------------------
 src/lib/elementary/efl_ui_spin_button.eo     |  3 --
 src/lib/elementary/elm_atspi_bridge.c        | 50 ++++++++++++++++++++++------
 src/lib/elementary/elm_spinner.c             |  1 +
 14 files changed, 50 insertions(+), 157 deletions(-)

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 <efl_access_component.eo.h>
 # include <efl_access_editable_text.eo.h>
 # include <efl_access_selection.eo.h>
-# include <efl_access_value.eo.h>
 
 # include <efl_ui_theme.eo.h>
 # include <efl_config_global.eo.h>
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 <Elementary.h>
@@ -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 <Elementary.h>
 #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);

-- 


Reply via email to