aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/elementary/src/examples/spinner_example.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--libraries/elementary/src/examples/spinner_example.c132
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
14static void
15_on_done(void *data,
16 Evas_Object *obj,
17 void *event_info)
18{
19 elm_exit();
20}
21
22static 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
28static 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
34EAPI_MAIN int
35elm_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}
132ELM_MAIN()