diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/elementary/src/examples/spinner_example.c | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/libraries/elementary/src/examples/spinner_example.c b/libraries/elementary/src/examples/spinner_example.c new file mode 100644 index 0000000..de18047 --- /dev/null +++ b/libraries/elementary/src/examples/spinner_example.c | |||
@@ -0,0 +1,132 @@ | |||
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 | _on_done(void *data, | ||
16 | Evas_Object *obj, | ||
17 | void *event_info) | ||
18 | { | ||
19 | elm_exit(); | ||
20 | } | ||
21 | |||
22 | static void | ||
23 | _changed_cb(void *data, Evas_Object *obj, void *event_info) | ||
24 | { | ||
25 | printf("Value changed to %0.f\n", elm_spinner_value_get(obj)); | ||
26 | } | ||
27 | |||
28 | static void | ||
29 | _delay_changed_cb(void *data, Evas_Object *obj, void *event_info) | ||
30 | { | ||
31 | printf("Value delay changed to %0.f\n", elm_spinner_value_get(obj)); | ||
32 | } | ||
33 | |||
34 | EAPI_MAIN int | ||
35 | elm_main(int argc, char **argv) | ||
36 | { | ||
37 | Evas_Object *win, *bg, *bx, *sp; | ||
38 | |||
39 | win = elm_win_add(NULL, "spinner", ELM_WIN_BASIC); | ||
40 | elm_win_title_set(win, "Spinner Example"); | ||
41 | evas_object_smart_callback_add(win, "delete,request", _on_done, NULL); | ||
42 | |||
43 | bg = elm_bg_add(win); | ||
44 | elm_win_resize_object_add(win, bg); | ||
45 | evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); | ||
46 | evas_object_show(bg); | ||
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 | evas_object_smart_callback_add(sp, "changed", _changed_cb, NULL); | ||
123 | evas_object_smart_callback_add(sp, "delay,changed", _delay_changed_cb, NULL); | ||
124 | |||
125 | evas_object_show(win); | ||
126 | |||
127 | elm_run(); | ||
128 | elm_shutdown(); | ||
129 | |||
130 | return 0; | ||
131 | } | ||
132 | ELM_MAIN() | ||