2 * Simple Elementary's <b>spinner widget</b> example, illustrating its
5 * See stdout/stderr for output. Compile with:
8 * gcc -g `pkg-config --cflags --libs elementary` spinner_example.c -o spinner_example
12 #include <Elementary.h>
14 # include "elementary_config.h"
20 _on_done(void *data __UNUSED__,
21 Evas_Object *obj __UNUSED__,
22 void *event_info __UNUSED__)
28 _changed_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
30 printf("Value changed to %0.f\n", elm_spinner_value_get(obj));
34 _delay_changed_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
36 printf("Value delay changed to %0.f\n", elm_spinner_value_get(obj));
40 elm_main(int argc __UNUSED__, char **argv __UNUSED__)
42 Evas_Object *win, *bg, *bx, *sp;
44 win = elm_win_add(NULL, "spinner", ELM_WIN_BASIC);
45 elm_win_title_set(win, "Spinner Example");
46 evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
49 elm_win_resize_object_add(win, bg);
50 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
53 bx = elm_box_add(win);
54 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
55 elm_win_resize_object_add(win, bx);
59 sp = elm_spinner_add(win);
60 evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
61 evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
62 elm_box_pack_end(bx, sp);
66 sp = elm_spinner_add(win);
67 elm_spinner_label_format_set(sp, "Percentage %%%1.2f something");
68 evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
69 evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
70 elm_box_pack_end(bx, sp);
73 /* min max, step and wrap */
74 sp = elm_spinner_add(win);
75 elm_spinner_label_format_set(sp, "%1.1f units");
76 elm_spinner_step_set(sp, 1.5);
77 elm_spinner_wrap_set(sp, EINA_TRUE);
78 elm_spinner_min_max_set(sp, -50.0, 250.0);
79 evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
80 evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
81 elm_box_pack_end(bx, sp);
85 sp = elm_spinner_add(win);
86 elm_object_style_set(sp, "vertical");
87 elm_spinner_interval_set(sp, 0.2);
88 evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
89 evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
90 elm_box_pack_end(bx, sp);
93 /* disabled edition */
94 sp = elm_spinner_add(win);
95 elm_spinner_editable_set(sp, EINA_FALSE);
96 evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
97 evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
98 elm_box_pack_end(bx, sp);
102 sp = elm_spinner_add(win);
103 elm_spinner_editable_set(sp, EINA_FALSE);
104 elm_spinner_min_max_set(sp, 1, 12);
105 elm_spinner_special_value_add(sp, 1, "January");
106 elm_spinner_special_value_add(sp, 2, "February");
107 elm_spinner_special_value_add(sp, 3, "March");
108 elm_spinner_special_value_add(sp, 4, "April");
109 elm_spinner_special_value_add(sp, 5, "May");
110 elm_spinner_special_value_add(sp, 6, "June");
111 elm_spinner_special_value_add(sp, 7, "July");
112 elm_spinner_special_value_add(sp, 8, "August");
113 elm_spinner_special_value_add(sp, 9, "September");
114 elm_spinner_special_value_add(sp, 10, "October");
115 elm_spinner_special_value_add(sp, 11, "November");
116 elm_spinner_special_value_add(sp, 12, "December");
117 evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
118 evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
119 elm_box_pack_end(bx, sp);
120 evas_object_show(sp);
122 sp = elm_spinner_add(win);
123 evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);
124 evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
125 elm_box_pack_end(bx, sp);
126 evas_object_show(sp);
127 evas_object_smart_callback_add(sp, "changed", _changed_cb, NULL);
128 evas_object_smart_callback_add(sp, "delay,changed", _delay_changed_cb, NULL);
130 evas_object_show(win);