efl

Форк
0
/
spinner_example.c 
134 строки · 4.4 Кб
1
/**
2
 * Simple Elementary's <b>spinner widget</b> example, illustrating its
3
 * usage and API.
4
 *
5
 * See stdout/stderr for output. Compile with:
6
 *
7
 * @verbatim
8
 * gcc -g spinner_example.c -o spinner_example `pkg-config --cflags --libs elementary`
9
 * @endverbatim
10
 */
11

12
#include <Elementary.h>
13

14
static void
15
_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
16
{
17
   printf("Value changed to %0.f\n", elm_spinner_value_get(obj));
18
}
19

20
static void
21
_delay_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)
22
{
23
   printf("Value delay changed to %0.f\n", elm_spinner_value_get(obj));
24
}
25

26
static void
27
_focused_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
28
{
29
   printf("spinner focused\n");
30
}
31

32
static void
33
_unfocused_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
34
{
35
   printf("spinner unfocused\n");
36
}
37

38
EAPI_MAIN int
39
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
40
{
41
   Evas_Object *win, *bx, *sp;
42

43
   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
44

45
   win = elm_win_util_standard_add("spinner", "Spinner Example");
46
   elm_win_autodel_set(win, EINA_TRUE);
47

48
   bx = elm_box_add(win);
49
   evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
50
   elm_win_resize_object_add(win, bx);
51
   evas_object_show(bx);
52

53
   /* default */
54
   sp = elm_spinner_add(win);
55
   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
56
   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
57
   elm_box_pack_end(bx, sp);
58
   evas_object_show(sp);
59

60
   /* format */
61
   sp = elm_spinner_add(win);
62
   elm_spinner_label_format_set(sp, "Percentage %%%1.2f something");
63
   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
64
   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
65
   elm_box_pack_end(bx, sp);
66
   evas_object_show(sp);
67

68
   /* min max, step and wrap */
69
   sp = elm_spinner_add(win);
70
   elm_spinner_label_format_set(sp, "%1.1f units");
71
   elm_spinner_step_set(sp, 1.5);
72
   elm_spinner_wrap_set(sp, EINA_TRUE);
73
   elm_spinner_min_max_set(sp, -50.0, 250.0);
74
   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
75
   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
76
   elm_box_pack_end(bx, sp);
77
   evas_object_show(sp);
78

79
   /* vertical */
80
   sp = elm_spinner_add(win);
81
   elm_object_style_set(sp, "vertical");
82
   elm_spinner_interval_set(sp, 0.2);
83
   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
84
   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
85
   elm_box_pack_end(bx, sp);
86
   evas_object_show(sp);
87

88
   /* disabled edition */
89
   sp = elm_spinner_add(win);
90
   elm_spinner_editable_set(sp, EINA_FALSE);
91
   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
92
   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
93
   elm_box_pack_end(bx, sp);
94
   evas_object_show(sp);
95

96
   /* special values */
97
   sp = elm_spinner_add(win);
98
   elm_spinner_editable_set(sp, EINA_FALSE);
99
   elm_spinner_min_max_set(sp, 1, 12);
100
   elm_spinner_special_value_add(sp, 1, "January");
101
   elm_spinner_special_value_add(sp, 2, "February");
102
   elm_spinner_special_value_add(sp, 3, "March");
103
   elm_spinner_special_value_add(sp, 4, "April");
104
   elm_spinner_special_value_add(sp, 5, "May");
105
   elm_spinner_special_value_add(sp, 6, "June");
106
   elm_spinner_special_value_add(sp, 7, "July");
107
   elm_spinner_special_value_add(sp, 8, "August");
108
   elm_spinner_special_value_add(sp, 9, "September");
109
   elm_spinner_special_value_add(sp, 10, "October");
110
   elm_spinner_special_value_add(sp, 11, "November");
111
   elm_spinner_special_value_add(sp, 12, "December");
112
   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
113
   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
114
   elm_box_pack_end(bx, sp);
115
   evas_object_show(sp);
116

117
   sp = elm_spinner_add(win);
118
   evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
119
   evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
120
   elm_box_pack_end(bx, sp);
121
   evas_object_show(sp);
122
   elm_spinner_editable_set(sp, EINA_TRUE);
123
   evas_object_smart_callback_add(sp, "focused", _focused_cb, NULL);
124
   evas_object_smart_callback_add(sp, "unfocused", _unfocused_cb, NULL);
125
   evas_object_smart_callback_add(sp, "changed", _changed_cb, NULL);
126
   evas_object_smart_callback_add(sp, "delay,changed", _delay_changed_cb, NULL);
127

128
   evas_object_show(win);
129

130
   elm_run();
131

132
   return 0;
133
}
134
ELM_MAIN()
135

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

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

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

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