From 4ca83755ed1668f57c9e8818acec46bca27c2d07 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Wed, 21 Jun 2017 15:33:16 +0900 Subject: [PATCH] slider: Fix slider legacy API See 4e79dd0f02811a013b461d4839f14a48ee9b1c2f That patch was absurd. Do not change the use of a legacy stable API when you change an EO API. If you need to do that then there is very clearly a problem in the patch. This reverts the test case to use the legacy API (which in turn calls the EO API anyway so both are tested). Fixes T5587 --- src/bin/elementary/test_slider.c | 36 +++++++++++------------ src/lib/elementary/efl_ui_slider.c | 32 +++++++++++++++++++-- src/lib/elementary/elm_slider_legacy.h | 40 +++++++++++++++++++++++++- 3 files changed, 86 insertions(+), 22 deletions(-) diff --git a/src/bin/elementary/test_slider.c b/src/bin/elementary/test_slider.c index 17c028932a..9956a9be78 100644 --- a/src/bin/elementary/test_slider.c +++ b/src/bin/elementary/test_slider.c @@ -63,7 +63,7 @@ _change_range_print_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_inf { double from, to; - efl_ui_range_interval_get(obj, &from, &to); + elm_slider_range_get(obj, &from, &to); printf("range values:- from: %f, to: %f\n", from, to); } @@ -332,8 +332,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0); elm_object_disabled_set(sl, EINA_TRUE); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); - efl_ui_range_interval_set(sl, 20, 100); + elm_slider_range_enabled_set(sl, EINA_TRUE); + elm_slider_range_set(sl, 20, 100); elm_box_pack_end(bx3, sl); evas_object_show(sl); @@ -345,8 +345,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_unit_format_set(sl, "%1.5f units"); elm_slider_indicator_format_set(sl, "%1.5f"); elm_slider_span_size_set(sl, 160); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); - efl_ui_range_interval_set(sl, 0.4, 0.9); + elm_slider_range_enabled_set(sl, EINA_TRUE); + elm_slider_range_set(sl, 0.4, 0.9); elm_box_pack_end(bx3, sl); evas_object_show(sl); @@ -360,7 +360,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_step_set(sl, step); evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); + elm_slider_range_enabled_set(sl, EINA_TRUE); elm_box_pack_end(bx3, sl); evas_object_show(sl); @@ -375,7 +375,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_indicator_show_on_focus_set(sl, EINA_TRUE); evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); + elm_slider_range_enabled_set(sl, EINA_TRUE); elm_box_pack_end(bx3, sl); evas_object_show(sl); @@ -393,7 +393,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_span_size_set(sl, 120); evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5); evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); + elm_slider_range_enabled_set(sl, EINA_TRUE); elm_box_pack_end(bx3, sl); evas_object_show(sl); @@ -412,7 +412,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_inverted_set(sl, EINA_TRUE); evas_object_size_hint_align_set(sl, 0.5, 0.5); evas_object_size_hint_weight_set(sl, 0.0, 0.0); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); + elm_slider_range_enabled_set(sl, EINA_TRUE); elm_box_pack_end(bx3, sl); evas_object_show(sl); @@ -431,7 +431,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_object_disabled_set(sl, EINA_TRUE); evas_object_size_hint_align_set(sl, 0.5, 0.5); evas_object_size_hint_weight_set(sl, 0.0, 0.0); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); + elm_slider_range_enabled_set(sl, EINA_TRUE); elm_slider_inverted_set(sl, EINA_TRUE); elm_box_pack_end(bx3, sl); evas_object_show(sl); @@ -446,8 +446,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_indicator_format_set(sl, "%3.0f"); elm_slider_min_max_set(sl, 50, 150); elm_object_scale_set(sl, 2.0); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); - efl_ui_range_interval_set(sl, 100, 145); + elm_slider_range_enabled_set(sl, EINA_TRUE); + elm_slider_range_set(sl, 100, 145); elm_box_pack_end(bx3, sl); evas_object_show(sl); @@ -460,8 +460,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in evas_object_show(bx4); sl = elm_slider_add(bx4); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); - efl_ui_range_interval_set(sl, 0.2, 0.9); + elm_slider_range_enabled_set(sl, EINA_TRUE); + elm_slider_range_set(sl, 0.2, 0.9); elm_slider_horizontal_set(sl, EINA_FALSE); elm_object_text_set(sl, "Vertical"); elm_slider_unit_format_set(sl, "%1.1f units"); @@ -490,11 +490,11 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_slider_indicator_format_set(sl, "%1.1f"); elm_object_scale_set(sl, 1.0); elm_slider_horizontal_set(sl, EINA_FALSE); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); + elm_slider_range_enabled_set(sl, EINA_TRUE); elm_box_pack_end(bx4, sl); evas_object_show(sl); elm_slider_min_max_set(sl, 50, 150); - efl_ui_range_interval_set(sl, 100, 130); + elm_slider_range_set(sl, 100, 130); ic = elm_icon_add(bx4); snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get()); @@ -514,8 +514,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_in elm_object_scale_set(sl, 1.0); elm_slider_horizontal_set(sl, EINA_FALSE); elm_object_disabled_set(sl, EINA_TRUE); - efl_ui_range_interval_enabled_set(sl, EINA_TRUE); - efl_ui_range_interval_set(sl, 0.2, 0.9); + elm_slider_range_enabled_set(sl, EINA_TRUE); + elm_slider_range_set(sl, 0.2, 0.9); elm_box_pack_end(bx4, sl); evas_object_show(sl); diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c index 1e8ff115ea..9e5c1b1226 100644 --- a/src/lib/elementary/efl_ui_slider.c +++ b/src/lib/elementary/efl_ui_slider.c @@ -1683,10 +1683,31 @@ _efl_ui_slider_elm_interface_atspi_widget_action_elm_actions_get(Eo *obj EINA_UN // A11Y Accessibility - END -/* Internal EO APIs and hidden overrides */ +/* Legacy APIs */ -#define EFL_UI_SLIDER_EXTRA_OPS \ - EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_slider) +EAPI void +elm_slider_range_enabled_set(Evas_Object *obj, Eina_Bool enable) +{ + efl_ui_range_interval_enabled_set(obj, enable); +} + +EAPI Eina_Bool +elm_slider_range_enabled_get(const Evas_Object *obj) +{ + return efl_ui_range_interval_enabled_get(obj); +} + +EAPI void +elm_slider_range_set(Evas_Object *obj, double from, double to) +{ + efl_ui_range_interval_set(obj, from, to); +} + +EAPI void +elm_slider_range_get(const Evas_Object *obj, double *from, double *to) +{ + efl_ui_range_interval_get(obj, from, to); +} EAPI void elm_slider_min_max_set(Evas_Object *obj, double min, double max) @@ -1700,4 +1721,9 @@ elm_slider_min_max_get(const Evas_Object *obj, double *min, double *max) efl_ui_range_min_max_get(obj, min, max); } +/* Internal EO APIs and hidden overrides */ + +#define EFL_UI_SLIDER_EXTRA_OPS \ + EFL_CANVAS_GROUP_ADD_DEL_OPS(efl_ui_slider) + #include "efl_ui_slider.eo.c" diff --git a/src/lib/elementary/elm_slider_legacy.h b/src/lib/elementary/elm_slider_legacy.h index fa9c6695c2..07d29c1cfb 100644 --- a/src/lib/elementary/elm_slider_legacy.h +++ b/src/lib/elementary/elm_slider_legacy.h @@ -193,4 +193,42 @@ EAPI void elm_slider_min_max_set(Evas_Object *obj, double min, double max); */ EAPI void elm_slider_min_max_get(const Evas_Object *obj, double *min, double *max); -#include "efl_ui_slider.eo.legacy.h" \ No newline at end of file +/** + * @brief This enables two indicators in slider. + * + * @param[in] enable @c true if two indicators are enabled, @c false otherwise + * + * @since 1.18 + */ +EAPI void elm_slider_range_enabled_set(Evas_Object *obj, Eina_Bool enable); + +/** + * @brief This enables two indicators in slider. + * + * @return @c true if two indicators are enabled, @c false otherwise + * + * @since 1.18 + */ +EAPI Eina_Bool elm_slider_range_enabled_get(const Evas_Object *obj); + +/** + * @brief Sets up a start and end range point for the slider + * + * @param[in] from Range minimum value + * @param[in] to Range maximum value + * + * @since 1.18 + */ +EAPI void elm_slider_range_set(Evas_Object *obj, double from, double to); + +/** + * @brief Sets up a start and end range point for the slider + * + * @param[out] from Range minimum value + * @param[out] to Range maximum value + * + * @since 1.18 + */ +EAPI void elm_slider_range_get(const Evas_Object *obj, double *from, double *to); + +#include "efl_ui_slider.eo.legacy.h"