tizen 2.4 release
[framework/uifw/elementary.git] / src / examples / radio_example_01.c
1 //Compile with:
2 //gcc -g radio_example_01.c -o radio_example_01 `pkg-config --cflags --libs elementary`
3
4 #include <Elementary.h>
5
6 static int val = 1;
7
8 static void _cb(void *data, Evas_Object *obj, void *event_info);
9
10 EAPI_MAIN int
11 elm_main(int argc, char **argv)
12 {
13    Evas_Object *win, *bx, *radio, *group, *ic;
14
15    elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
16
17    win = elm_win_util_standard_add("radio", "Radio");
18    elm_win_autodel_set(win, EINA_TRUE);
19
20    bx = elm_box_add(win);
21    elm_box_horizontal_set(bx, EINA_TRUE);
22    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
23    elm_win_resize_object_add(win, bx);
24    evas_object_show(bx);
25
26    group = radio = elm_radio_add(win);
27    elm_object_text_set(radio, "Radio 1");
28    elm_radio_state_value_set(radio, 1);
29    elm_radio_value_pointer_set(radio, &val);
30    ic = elm_icon_add(win);
31    elm_icon_standard_set(ic, "home");
32    elm_object_part_content_set(radio, "icon", ic);
33    elm_box_pack_end(bx, radio);
34    evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
35    evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
36    evas_object_show(radio);
37    evas_object_smart_callback_add(radio, "changed", _cb, NULL);
38
39    radio = elm_radio_add(win);
40    elm_object_text_set(radio, "Radio 2");
41    elm_radio_state_value_set(radio, 2);
42    elm_radio_value_pointer_set(radio, &val);
43    elm_radio_group_add(radio, group);
44    ic = elm_icon_add(win);
45    elm_icon_standard_set(ic, "file");
46    elm_object_part_content_set(radio, "icon", ic);
47    elm_box_pack_end(bx, radio);
48    evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
49    evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
50    evas_object_show(radio);
51    evas_object_smart_callback_add(radio, "changed", _cb, NULL);
52
53    radio = elm_radio_add(win);
54    elm_object_text_set(radio, "Radio 3");
55    elm_radio_state_value_set(radio, 3);
56    elm_radio_value_pointer_set(radio, &val);
57    elm_radio_group_add(radio, group);
58    elm_box_pack_end(bx, radio);
59    evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
60    evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
61    evas_object_show(radio);
62    evas_object_smart_callback_add(radio, "changed", _cb, NULL);
63
64    radio = elm_radio_add(win);
65    elm_object_text_set(radio, "Radio 4");
66    elm_radio_state_value_set(radio, 4);
67    elm_radio_value_pointer_set(radio, &val);
68    elm_radio_group_add(radio, group);
69    elm_box_pack_end(bx, radio);
70    evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
71    evas_object_size_hint_align_set(radio, EVAS_HINT_FILL, EVAS_HINT_FILL);
72    evas_object_show(radio);
73    evas_object_smart_callback_add(radio, "changed", _cb, NULL);
74
75    evas_object_show(win);
76
77    elm_run();
78
79    return 0;
80 }
81 ELM_MAIN()
82
83 static void
84 _cb(void *data, Evas_Object *obj, void *event_info)
85 {
86    printf("val is now: %d\n", val);
87 }