fixed plugin image size problem
[framework/uifw/elementary.git] / src / bin / test_check.c
1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
6
7 static Eina_Bool eb;
8
9 static void
10 changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
11 {
12    Evas_Object *ck2 = data;
13    printf("ck %p to %i\n", obj, elm_check_state_get(obj));
14    elm_check_state_set(ck2, elm_check_state_get(obj));
15    printf("ck2 %p is now %i\n", ck2, elm_check_state_get(ck2));
16 }
17
18 static void
19 state_changed_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
20 {
21    printf("State Pointer Value: %d\n", eb);
22 }
23
24 void
25 test_check(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
26 {
27    Evas_Object *win, *bx, *ic, *ck, *ck0;
28    char buf[PATH_MAX];
29
30    win = elm_win_util_standard_add("check", "Check");
31    elm_win_autodel_set(win, EINA_TRUE);
32
33    bx = elm_box_add(win);
34    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
35    elm_win_resize_object_add(win, bx);
36    evas_object_show(bx);
37
38    ic = elm_icon_add(win);
39    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
40    elm_icon_file_set(ic, buf, NULL);
41    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
42    ck = elm_check_add(win);
43    evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
44    evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5);
45    elm_object_text_set(ck, "Icon sized to check");
46    elm_object_part_content_set(ck, "icon", ic);
47    elm_check_state_set(ck, EINA_TRUE);
48    elm_box_pack_end(bx, ck);
49    evas_object_show(ck);
50    evas_object_show(ic);
51
52    ck0 = ck;
53
54    ic = elm_icon_add(win);
55    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
56    elm_icon_file_set(ic, buf, NULL);
57    elm_icon_resizable_set(ic, EINA_FALSE, EINA_FALSE);
58    ck = elm_check_add(win);
59    elm_object_text_set(ck, "Icon not resizable");
60    elm_object_part_content_set(ck, "icon", ic);
61    elm_box_pack_end(bx, ck);
62    evas_object_show(ck);
63    evas_object_show(ic);
64
65    evas_object_smart_callback_add(ck, "changed", changed_cb, ck0);
66
67    ck = elm_check_add(win);
68    elm_object_text_set(ck, "Label Only");
69    elm_box_pack_end(bx, ck);
70    evas_object_show(ck);
71
72    ck = elm_check_add(win);
73    elm_object_text_set(ck, "Use State Pointer");
74    elm_check_state_pointer_set(ck, &eb);
75    elm_box_pack_end(bx, ck);
76    evas_object_show(ck);
77
78    ck = elm_check_add(win);
79    elm_object_text_set(ck, "Print State Pointer Value");
80    elm_box_pack_end(bx, ck);
81    evas_object_show(ck);
82    evas_object_smart_callback_add(ck, "changed", state_changed_cb, NULL);
83
84    ic = elm_icon_add(win);
85    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
86    elm_icon_file_set(ic, buf, NULL);
87    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
88    ck = elm_check_add(win);
89    evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
90    evas_object_size_hint_align_set(ck, EVAS_HINT_FILL, 0.5);
91    elm_object_text_set(ck, "Disabled check");
92    elm_object_part_content_set(ck, "icon", ic);
93    elm_check_state_set(ck, EINA_TRUE);
94    elm_box_pack_end(bx, ck);
95    elm_object_disabled_set(ck, EINA_TRUE);
96    evas_object_show(ck);
97    evas_object_show(ic);
98
99    ic = elm_icon_add(win);
100    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
101    elm_icon_file_set(ic, buf, NULL);
102    elm_icon_resizable_set(ic, EINA_FALSE, EINA_FALSE);
103    ck = elm_check_add(win);
104    elm_object_part_content_set(ck, "icon", ic);
105    elm_box_pack_end(bx, ck);
106    evas_object_show(ck);
107    evas_object_show(ic);
108
109    evas_object_show(win);
110 }
111
112 void
113 test_check_toggle(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
114 {
115    Evas_Object *win, *bx, *ic, *tg;
116    char buf[PATH_MAX];
117
118    win = elm_win_util_standard_add("check-toggle", "Check Toggle");
119    elm_win_autodel_set(win, EINA_TRUE);
120
121    bx = elm_box_add(win);
122    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
123    elm_win_resize_object_add(win, bx);
124    evas_object_show(bx);
125
126    ic = elm_icon_add(win);
127    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
128    elm_icon_file_set(ic, buf, NULL);
129    evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
130
131    tg = elm_check_add(win);
132    elm_object_style_set(tg, "toggle");
133    evas_object_size_hint_weight_set(tg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
134    evas_object_size_hint_align_set(tg, EVAS_HINT_FILL, 0.5);
135    elm_object_text_set(tg, "Icon sized to toggle");
136    elm_object_part_content_set(tg, "icon", ic);
137    elm_check_state_set(tg, EINA_TRUE);
138    elm_object_part_text_set(tg, "on", "Yes");
139    elm_object_part_text_set(tg, "off", "No");
140    elm_box_pack_end(bx, tg);
141    evas_object_show(tg);
142    evas_object_show(ic);
143
144    ic = elm_icon_add(win);
145    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
146    elm_icon_file_set(ic, buf, NULL);
147    elm_icon_resizable_set(ic, EINA_FALSE, EINA_FALSE);
148
149    tg = elm_check_add(win);
150    elm_object_style_set(tg, "toggle");
151    elm_object_text_set(tg, "Icon no scale");
152    elm_object_part_content_set(tg, "icon", ic);
153    elm_box_pack_end(bx, tg);
154    evas_object_show(tg);
155    evas_object_show(ic);
156
157    ic = elm_icon_add(win);
158    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
159    elm_icon_file_set(ic, buf, NULL);
160    elm_icon_resizable_set(ic, EINA_FALSE, EINA_FALSE);
161
162    tg = elm_check_add(win);
163    elm_object_style_set(tg, "toggle");
164    elm_object_text_set(tg, "Disabled toggle");
165    elm_object_part_content_set(tg, "icon", ic);
166    elm_object_disabled_set(tg, EINA_TRUE);
167    elm_box_pack_end(bx, tg);
168    evas_object_show(tg);
169    evas_object_show(ic);
170
171    tg = elm_check_add(win);
172    elm_object_style_set(tg, "toggle");
173    elm_object_text_set(tg, "Label Only");
174    elm_object_part_text_set(tg, "on", "Big long fun times label");
175    elm_object_part_text_set(tg, "off", "Small long happy fun label");
176    elm_box_pack_end(bx, tg);
177    evas_object_show(tg);
178
179    ic = elm_icon_add(win);
180    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
181    elm_icon_file_set(ic, buf, NULL);
182    elm_icon_resizable_set(ic, EINA_FALSE, EINA_FALSE);
183
184    tg = elm_check_add(win);
185    elm_object_style_set(tg, "toggle");
186    elm_object_part_content_set(tg, "icon", ic);
187    elm_box_pack_end(bx, tg);
188    evas_object_show(tg);
189    evas_object_show(ic);
190
191    evas_object_show(win);
192 }
193 #endif