Merge remote-tracking branch 'remotes/origin/upstream'
[framework/uifw/elementary.git] / src / bin / test_check.c
1 #include <Elementary.h>
2 #ifdef HAVE_CONFIG_H
3 # include "elementary_config.h"
4 #endif
5 #ifndef ELM_LIB_QUICKLAUNCH
6 <<<<<<< HEAD
7 =======
8
9 static Eina_Bool eb;
10
11 >>>>>>> remotes/origin/upstream
12 static void
13 changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
14 {
15    Evas_Object *ck2 = data;
16    printf("ck %p to %i\n", obj, elm_check_state_get(obj));
17    elm_check_state_set(ck2, elm_check_state_get(obj));
18    printf("ck2 %p is now %i\n", ck2, elm_check_state_get(ck2));
19 }
20
21 <<<<<<< HEAD
22 =======
23 static void
24 state_changed_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
25 {
26    printf("State Pointer Value: %d\n", eb);
27 }
28
29 >>>>>>> remotes/origin/upstream
30 void
31 test_check(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
32 {
33    Evas_Object *win, *bg, *bx, *ic, *ck, *ck0;
34    char buf[PATH_MAX];
35
36    win = elm_win_add(NULL, "checks", ELM_WIN_BASIC);
37    elm_win_title_set(win, "Checks");
38    elm_win_autodel_set(win, EINA_TRUE);
39
40    bg = elm_bg_add(win);
41    elm_win_resize_object_add(win, bg);
42    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
43    evas_object_show(bg);
44
45    bx = elm_box_add(win);
46    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
47    elm_win_resize_object_add(win, bx);
48    evas_object_show(bx);
49
50    ic = elm_icon_add(win);
51    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
52    elm_icon_file_set(ic, buf, NULL);
53    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
54    ck = elm_check_add(win);
55    evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
56    evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5);
57    elm_object_text_set(ck, "Icon sized to check");
58    elm_object_part_content_set(ck, "icon", ic);
59    elm_check_state_set(ck, 1);
60    elm_box_pack_end(bx, ck);
61    evas_object_show(ck);
62    evas_object_show(ic);
63
64    ck0 = ck;
65
66    ic = elm_icon_add(win);
67    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
68    elm_icon_file_set(ic, buf, NULL);
69 <<<<<<< HEAD
70    elm_icon_scale_set(ic, 0, 0);
71 =======
72    elm_icon_resizable_set(ic, 0, 0);
73 >>>>>>> remotes/origin/upstream
74    ck = elm_check_add(win);
75    elm_object_text_set(ck, "Icon no scale");
76    elm_object_part_content_set(ck, "icon", ic);
77    elm_box_pack_end(bx, ck);
78    evas_object_show(ck);
79    evas_object_show(ic);
80
81    evas_object_smart_callback_add(ck, "changed", changed_cb, ck0);
82
83    ck = elm_check_add(win);
84    elm_object_text_set(ck, "Label Only");
85    elm_box_pack_end(bx, ck);
86    evas_object_show(ck);
87
88 <<<<<<< HEAD
89 =======
90    ck = elm_check_add(win);
91    elm_object_text_set(ck, "Using State Pointer");
92    elm_check_state_pointer_set(ck, &eb);
93    elm_box_pack_end(bx, ck);
94    evas_object_show(ck);
95
96    ck = elm_check_add(win);
97    elm_object_text_set(ck, "Check State Pointer Value");
98    elm_box_pack_end(bx, ck);
99    evas_object_show(ck);
100    evas_object_smart_callback_add(ck, "changed", state_changed_cb, NULL);
101
102 >>>>>>> remotes/origin/upstream
103    ic = elm_icon_add(win);
104    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
105    elm_icon_file_set(ic, buf, NULL);
106    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
107    ck = elm_check_add(win);
108    evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
109    evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5);
110    elm_object_text_set(ck, "Disabled check");
111    elm_object_part_content_set(ck, "icon", ic);
112    elm_check_state_set(ck, 1);
113    elm_box_pack_end(bx, ck);
114    elm_object_disabled_set(ck, 1);
115    evas_object_show(ck);
116    evas_object_show(ic);
117
118    ic = elm_icon_add(win);
119    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
120    elm_icon_file_set(ic, buf, NULL);
121 <<<<<<< HEAD
122    elm_icon_scale_set(ic, 0, 0);
123 =======
124    elm_icon_resizable_set(ic, 0, 0);
125 >>>>>>> remotes/origin/upstream
126    ck = elm_check_add(win);
127    elm_object_part_content_set(ck, "icon", ic);
128    elm_box_pack_end(bx, ck);
129    evas_object_show(ck);
130    evas_object_show(ic);
131
132    evas_object_show(win);
133 }
134 #endif