2 //gcc -g radio_example_01.c -o radio_example_01 `pkg-config --cflags --libs elementary`
4 #include <Elementary.h>
8 static void _cb(void *data, Evas_Object *obj, void *event_info);
11 elm_main(int argc, char **argv)
13 Evas_Object *win, *bg, *bx, *radio, *group, *ic;
15 win = elm_win_add(NULL, "radio", ELM_WIN_BASIC);
16 elm_win_title_set(win, "Radio");
17 elm_win_autodel_set(win, EINA_TRUE);
18 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
21 elm_win_resize_object_add(win, bg);
24 bx = elm_box_add(win);
25 elm_box_horizontal_set(bx, EINA_TRUE);
26 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
27 evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
28 elm_win_resize_object_add(win, bx);
31 group = radio = elm_radio_add(win);
32 elm_object_text_set(radio, "Radio 1");
33 elm_radio_state_value_set(radio, 1);
34 elm_radio_value_pointer_set(radio, &val);
35 ic = elm_icon_add(win);
36 elm_icon_standard_set(ic, "home");
37 elm_object_part_content_set(radio, "icon", ic);
38 elm_box_pack_end(bx, radio);
39 evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
40 evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
41 evas_object_show(radio);
42 evas_object_smart_callback_add(radio, "changed", _cb, NULL);
44 radio = elm_radio_add(win);
45 elm_object_text_set(radio, "Radio 2");
46 elm_radio_state_value_set(radio, 2);
47 elm_radio_value_pointer_set(radio, &val);
48 elm_radio_group_add(radio, group);
49 ic = elm_icon_add(win);
50 elm_icon_standard_set(ic, "file");
51 elm_object_part_content_set(radio, "icon", ic);
52 elm_box_pack_end(bx, radio);
53 evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
54 evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
55 evas_object_show(radio);
56 evas_object_smart_callback_add(radio, "changed", _cb, NULL);
58 radio = elm_radio_add(win);
59 elm_object_text_set(radio, "Radio 3");
60 elm_radio_state_value_set(radio, 3);
61 elm_radio_value_pointer_set(radio, &val);
62 elm_radio_group_add(radio, group);
63 elm_box_pack_end(bx, radio);
64 evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
65 evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
66 evas_object_show(radio);
67 evas_object_smart_callback_add(radio, "changed", _cb, NULL);
69 radio = elm_radio_add(win);
70 elm_object_text_set(radio, "Radio 4");
71 elm_radio_state_value_set(radio, 4);
72 elm_box_pack_end(bx, radio);
73 evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
74 evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
75 evas_object_show(radio);
77 evas_object_show(win);
87 _cb(void *data, Evas_Object *obj, void *event_info)
89 printf("val is now: %d\n", val);