efl

Форк
0
/
test_ui_slider_interval.c 
116 строк · 4.3 Кб
1
#ifdef HAVE_CONFIG_H
2
# include "elementary_config.h"
3
#endif
4
#include <Efl_Ui.h>
5
#include <Elementary.h>
6

7
static double
8
_step_size_calculate(double min, double max)
9
{
10
   double step = 0.0;
11
   int steps = 0;
12

13
   steps = max - min;
14
   if (steps) step = (1.0 / steps);
15
   return step;
16
}
17

18
static void
19
_intv_slider_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
20
{
21
   double from, to;
22

23
   efl_ui_slider_interval_value_get(ev->object, &from, &to);
24
   if (from < 100)
25
     efl_ui_slider_interval_value_set(ev->object, 100, to);
26
   if (to > 500)
27
     efl_ui_slider_interval_value_set(ev->object, from, 500);
28
}
29

30
void
31
test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
32
{
33
   Eo *win, *bx, *hbx;
34
   double step;
35

36
   win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
37
                                  efl_text_set(efl_added, "Efl.Ui.Slider_Interval"),
38
                 efl_ui_win_autodel_set(efl_added, EINA_TRUE));
39

40
   bx = efl_add(EFL_UI_BOX_CLASS, win,
41
                efl_content_set(win, efl_added));
42

43
   efl_add(EFL_UI_TEXTBOX_CLASS, bx,
44
           efl_text_set(efl_added, "Horizontal"),
45
           efl_text_interactive_editable_set(efl_added, EINA_FALSE),
46
           efl_pack(bx, efl_added));
47

48
   efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
49
           efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(160, 0)),
50
           efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9),
51
           efl_pack(bx, efl_added));
52

53
   efl_add(EFL_UI_TEXTBOX_CLASS, bx,
54
           efl_text_set(efl_added, "Manual step"),
55
           efl_text_interactive_editable_set(efl_added, EINA_FALSE),
56
           efl_pack(bx, efl_added));
57

58
   step = _step_size_calculate(0, 9);
59
   efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
60
           efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(120, 0)),
61
           efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9),
62
           efl_ui_range_step_set(efl_added, step),
63
           efl_pack(bx, efl_added));
64

65
   efl_add(EFL_UI_TEXTBOX_CLASS, bx,
66
           efl_text_set(efl_added, "Disabled"),
67
           efl_text_interactive_editable_set(efl_added, EINA_FALSE),
68
           efl_pack(bx, efl_added));
69

70
   efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
71
           efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(120, 0)),
72
           efl_ui_range_limits_set(efl_added, 10, 145),
73
           efl_ui_slider_interval_value_set(efl_added, 50, 100),
74
           efl_ui_range_step_set(efl_added, step),
75
           elm_object_disabled_set(efl_added, EINA_TRUE),
76
           efl_pack(bx, efl_added));
77

78
   efl_add(EFL_UI_TEXTBOX_CLASS, bx,
79
           efl_text_set(efl_added, "Vertical"),
80
           efl_text_interactive_editable_set(efl_added, EINA_FALSE),
81
           efl_pack(bx, efl_added));
82

83
   hbx = efl_add(EFL_UI_BOX_CLASS, bx,
84
                 efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL),
85
                 efl_pack(bx, efl_added));
86

87
   efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx,
88
           efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(0, 160)),
89
           efl_ui_range_limits_set(efl_added, 10, 145),
90
           efl_ui_slider_interval_value_set(efl_added, 50, 100),
91
           efl_ui_range_step_set(efl_added, step),
92
           efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL),
93
           efl_pack(hbx, efl_added));
94

95
   efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx,
96
           efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(0, 160)),
97
           efl_ui_range_limits_set(efl_added, 10, 145),
98
           efl_ui_slider_interval_value_set(efl_added, 50, 100),
99
           efl_ui_range_step_set(efl_added, step),
100
           efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL),
101
           elm_object_disabled_set(efl_added, EINA_TRUE),
102
           efl_pack(hbx, efl_added));
103

104
   efl_add(EFL_UI_TEXTBOX_CLASS, bx,
105
           efl_text_set(efl_added, "Limited (100-500)"),
106
           efl_text_interactive_editable_set(efl_added, EINA_FALSE),
107
           efl_pack(bx, efl_added));
108

109
   efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
110
           efl_gfx_hint_size_min_set(efl_added, EINA_SIZE2D(260, 0)),
111
           efl_ui_range_limits_set(efl_added, 0, 600),
112
           efl_ui_slider_interval_value_set(efl_added, 100, 500),
113
           efl_ui_range_step_set(efl_added, step),
114
           efl_event_callback_add(efl_added, EFL_UI_RANGE_EVENT_CHANGED, _intv_slider_changed_cb, NULL),
115
           efl_pack(bx, efl_added));
116
}
117

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.