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