From b7419f4069baa7154c4e8c04587c682337fab992 Mon Sep 17 00:00:00 2001 From: Amitesh Singh Date: Tue, 12 Dec 2017 13:58:39 +0900 Subject: [PATCH] elm test: Add test for Efl.Ui.Slider --- src/Makefile_Elementary.am | 1 + src/bin/elementary/Makefile.am | 1 + src/bin/elementary/test.c | 2 + src/bin/elementary/test_ui_slider.c | 120 ++++++++++++++++++++++++++++ 4 files changed, 124 insertions(+) create mode 100644 src/bin/elementary/test_ui_slider.c diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index 779c9eed59..d7b2e15ddc 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -901,6 +901,7 @@ bin/elementary/test_scroller.c \ bin/elementary/test_segment_control.c \ bin/elementary/test_separator.c \ bin/elementary/test_slider.c \ +bin/elementary/test_ui_slider.c \ bin/elementary/test_ui_slider_interval.c \ bin/elementary/test_ui_spin.c \ bin/elementary/test_ui_spin_button.c \ diff --git a/src/bin/elementary/Makefile.am b/src/bin/elementary/Makefile.am index dbc4437bdc..8ce36a7a8d 100644 --- a/src/bin/elementary/Makefile.am +++ b/src/bin/elementary/Makefile.am @@ -125,6 +125,7 @@ test_scroller.c \ test_segment_control.c \ test_separator.c \ test_slider.c \ +test_ui_slider.c \ test_ui_slider_interval.c \ test_slideshow.c \ test_spinner.c \ diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c index 577f600c91..8a592ab7d2 100644 --- a/src/bin/elementary/test.c +++ b/src/bin/elementary/test.c @@ -110,6 +110,7 @@ void test_scaling(void *data, Evas_Object *obj, void *event_info); void test_scaling2(void *data, Evas_Object *obj, void *event_info); void test_slider(void *data, Evas_Object *obj, void *event_info); void test_slider_interval(void *data, Evas_Object *obj, void *event_info); +void test_ui_slider(void *data, Evas_Object *obj, void *event_info); void test_actionslider(void *data, Evas_Object *obj, void *event_info); void test_genlist(void *data, Evas_Object *obj, void *event_info); void test_genlist2(void *data, Evas_Object *obj, void *event_info); @@ -1035,6 +1036,7 @@ add_tests: ADD_TEST(NULL, "Range Values", "Progressbar 2", test_progressbar2); ADD_TEST_EO(NULL, "Range Values", "Efl.Ui.Nstate", test_nstate); ADD_TEST_EO(NULL, "Range Values", "Efl.Ui.Slider_Interval", test_slider_interval); + ADD_TEST_EO(NULL, "Range Values", "Efl.Ui.Slider", test_ui_slider); //------------------------------// ADD_TEST(NULL, "Booleans", "Check", test_check); diff --git a/src/bin/elementary/test_ui_slider.c b/src/bin/elementary/test_ui_slider.c new file mode 100644 index 0000000000..8fe7047778 --- /dev/null +++ b/src/bin/elementary/test_ui_slider.c @@ -0,0 +1,120 @@ +#ifdef HAVE_CONFIG_H +# include "elementary_config.h" +#endif +#include + +static double +_step_size_calculate(double min, double max) +{ + double step = 0.0; + int steps = 0; + + steps = max - min; + if (steps) step = (1.0 / steps); + return step; +} + +static void +_slider_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev) +{ + double val; + + val = efl_ui_range_value_get(ev->object); + + printf("val = %f\n", val); + if (val > 100) + efl_ui_range_value_set(ev->object, 100); +} + +void +test_ui_slider(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Eo *win, *bx, *hbx; + double step; + + win = efl_add(EFL_UI_WIN_CLASS, NULL, + efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), + efl_text_set(efl_added, "Efl.Ui.Slider"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + + bx = efl_add(EFL_UI_BOX_CLASS, win, + efl_content_set(win, efl_added)); + + efl_add(EFL_UI_SLIDER_CLASS, bx, + efl_text_set(efl_added, "Horizontal"), + efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), + EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_NONE), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(160, 0)), + efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.5f"), + efl_pack(bx, efl_added)); + + step = _step_size_calculate(0, 9); + efl_add(EFL_UI_SLIDER_CLASS, bx, + efl_text_set(efl_added, "Manual step"), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)), + efl_ui_format_string_set(efl_added, "%1.1f units"), + efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.1f"), + efl_ui_slider_step_set(efl_added, step), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_SLIDER_CLASS, bx, + efl_text_set(efl_added, "Disabled"), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(120, 0)), + efl_ui_format_string_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), + efl_ui_range_min_max_set(efl_added, 10, 145), + efl_ui_slider_step_set(efl_added, step), + elm_object_disabled_set(efl_added, EINA_TRUE), + efl_pack(bx, efl_added)); + + hbx = efl_add(EFL_UI_BOX_CLASS, bx, + efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL), + efl_pack(bx, efl_added)); + + efl_add(EFL_UI_SLIDER_CLASS, hbx, + efl_text_set(efl_added, "Vertical"), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), + efl_ui_format_string_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), + efl_ui_range_min_max_set(efl_added, 10, 145), + efl_ui_slider_step_set(efl_added, step), + efl_ui_range_value_set(efl_added, 70), + efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), + efl_pack(hbx, efl_added)); + + efl_add(EFL_UI_SLIDER_CLASS, hbx, + efl_text_set(efl_added, "Disabled"), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), + efl_ui_format_string_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), + efl_ui_range_min_max_set(efl_added, 10, 145), + efl_ui_slider_step_set(efl_added, step), + efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), + elm_object_disabled_set(efl_added, EINA_TRUE), + efl_pack(hbx, efl_added)); + + efl_add(EFL_UI_SLIDER_CLASS, hbx, + efl_text_set(efl_added, "Always Show Indicator:"), + efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), + EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(0, 160)), + efl_ui_format_string_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), + efl_ui_range_min_max_set(efl_added, 10, 145), + efl_ui_range_value_set(efl_added, 35), + efl_ui_slider_step_set(efl_added, step), + efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL), + efl_pack(hbx, efl_added)); + + efl_add(EFL_UI_SLIDER_CLASS, bx, + efl_text_set(efl_added, "Limited (0-100)"), + efl_ui_slider_part_indicator_visible_mode_set(efl_part(efl_added, "indicator"), + EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS), + efl_gfx_size_hint_min_set(efl_added, EINA_SIZE2D(260, 0)), + efl_ui_format_string_set(efl_added, "%1.0f units"), + efl_ui_format_string_set(efl_part(efl_added, "indicator"), "%1.0f"), + efl_ui_range_min_max_set(efl_added, 0, 150), + efl_ui_slider_step_set(efl_added, step), + efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, _slider_changed_cb, NULL), + efl_pack(bx, efl_added)); +}