//Compile with: //gcc -g radio_example_01.c -o radio_example_01 `pkg-config --cflags --libs elementary` #include static int val = 1; static void _cb(void *data, Evas_Object *obj, void *event_info); EAPI_MAIN int elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) { Evas_Object *win, *bx, *radio, *group, *ic; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("radio", "Radio"); elm_win_autodel_set(win, EINA_TRUE); bx = elm_box_add(win); elm_box_horizontal_set(bx, EINA_TRUE); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); group = radio = elm_radio_add(win); elm_object_text_set(radio, "Radio 1"); elm_radio_state_value_set(radio, 1); elm_radio_value_pointer_set(radio, &val); ic = elm_icon_add(win); elm_icon_standard_set(ic, "home"); elm_object_part_content_set(radio, "icon", ic); elm_box_pack_end(bx, radio); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(radio); evas_object_smart_callback_add(radio, "changed", _cb, NULL); radio = elm_radio_add(win); elm_object_text_set(radio, "Radio 2"); elm_radio_state_value_set(radio, 2); elm_radio_value_pointer_set(radio, &val); elm_radio_group_add(radio, group); ic = elm_icon_add(win); elm_icon_standard_set(ic, "file"); elm_object_part_content_set(radio, "icon", ic); elm_box_pack_end(bx, radio); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(radio); evas_object_smart_callback_add(radio, "changed", _cb, NULL); radio = elm_radio_add(win); elm_object_text_set(radio, "Radio 3"); elm_radio_state_value_set(radio, 3); elm_radio_value_pointer_set(radio, &val); elm_radio_group_add(radio, group); elm_box_pack_end(bx, radio); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(radio); evas_object_smart_callback_add(radio, "changed", _cb, NULL); radio = elm_radio_add(win); elm_object_text_set(radio, "Radio 4"); elm_radio_state_value_set(radio, 4); elm_radio_value_pointer_set(radio, &val); elm_radio_group_add(radio, group); elm_box_pack_end(bx, radio); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(radio); evas_object_smart_callback_add(radio, "changed", _cb, NULL); evas_object_show(win); elm_run(); return 0; } ELM_MAIN() static void _cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("val is now: %d\n", val); }