f8932a2ee1ca14a629d6dcafc7cc05bd7683df74
[framework/uifw/elementary.git] / src / bin / test_flip.c
1 #include <Elementary.h>
2 #ifndef ELM_LIB_QUICKLAUNCH
3
4 void
5 my_fl_1(void *data, Evas_Object *obj, void *event_info)
6 {
7    Evas_Object *fl = data;
8    elm_flip_go(fl, ELM_FLIP_ROTATE_Y_CENTER_AXIS);
9 }
10
11 void
12 my_fl_2(void *data, Evas_Object *obj, void *event_info)
13 {
14    Evas_Object *fl = data;
15    elm_flip_go(fl, ELM_FLIP_ROTATE_X_CENTER_AXIS);
16 }
17
18 void
19 my_fl_3(void *data, Evas_Object *obj, void *event_info)
20 {
21    Evas_Object *fl = data;
22    elm_flip_go(fl, ELM_FLIP_ROTATE_XZ_CENTER_AXIS);
23 }
24
25 void
26 my_fl_4(void *data, Evas_Object *obj, void *event_info)
27 {
28    Evas_Object *fl = data;
29    elm_flip_go(fl, ELM_FLIP_ROTATE_YZ_CENTER_AXIS);
30 }
31
32 void
33 test_flip(void *data, Evas_Object *obj, void *event_info)
34 {
35    Evas_Object *win, *bg, *bx, *bx2, *fl, *o, *bt, *ly;
36    char buf[PATH_MAX];
37    
38    win = elm_win_add(NULL, "flip", ELM_WIN_BASIC);
39    elm_win_title_set(win, "Flip");
40    elm_win_autodel_set(win, 1);
41
42    bg = elm_bg_add(win);
43    elm_win_resize_object_add(win, bg);
44    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
45    evas_object_show(bg);
46
47    bx = elm_box_add(win);
48    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
49    elm_win_resize_object_add(win, bx);
50    evas_object_show(bx);
51    
52    fl = elm_flip_add(win);
53    evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL);
54    evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
55    elm_box_pack_end(bx, fl);
56
57    o = elm_bg_add(win);
58    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
59    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
60    snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, "sky_01.jpg");
61    elm_bg_file_set(o, buf, NULL);
62    elm_flip_content_front_set(fl, o);
63    evas_object_show(o);
64    
65    ly = elm_layout_add(win);
66    snprintf(buf, sizeof(buf), "%s/objects/test.edj", PACKAGE_DATA_DIR);
67    elm_layout_file_set(ly, buf, "layout");
68    evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
69    evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
70    elm_flip_content_back_set(fl, ly);
71    evas_object_show(ly);
72
73    bt = elm_button_add(win);
74    elm_button_label_set(bt, "Button 1");
75    elm_layout_content_set(ly, "element1", bt);
76    evas_object_show(bt);
77
78    bt = elm_button_add(win);
79    elm_button_label_set(bt, "Button 2");
80    elm_layout_content_set(ly, "element2", bt);
81    evas_object_show(bt);
82
83    bt = elm_button_add(win);
84    elm_button_label_set(bt, "Button 3");
85    elm_layout_content_set(ly, "element3", bt);
86    evas_object_show(bt);
87
88    evas_object_show(fl);
89
90    bx2 = elm_box_add(win);
91    elm_box_horizontal_set(bx2, 1);
92    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
93    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
94    
95    bt = elm_button_add(win);
96    elm_button_label_set(bt, "1");
97    evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl);
98    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
99    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
100    elm_box_pack_end(bx2, bt);
101    evas_object_show(bt);
102    
103    bt = elm_button_add(win);
104    elm_button_label_set(bt, "2");
105    evas_object_smart_callback_add(bt, "clicked", my_fl_2, fl);
106    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
107    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
108    elm_box_pack_end(bx2, bt);
109    evas_object_show(bt);
110    
111    bt = elm_button_add(win);
112    elm_button_label_set(bt, "3");
113    evas_object_smart_callback_add(bt, "clicked", my_fl_3, fl);
114    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
115    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
116    elm_box_pack_end(bx2, bt);
117    evas_object_show(bt);
118    
119    bt = elm_button_add(win);
120    elm_button_label_set(bt, "4");
121    evas_object_smart_callback_add(bt, "clicked", my_fl_4, fl);
122    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
123    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
124    elm_box_pack_end(bx2, bt);
125    evas_object_show(bt);
126    
127    elm_box_pack_end(bx, bx2);
128    evas_object_show(bx2);
129
130    evas_object_resize(win, 320, 480);
131    evas_object_show(win);
132 }
133
134 void
135 test_flip2(void *data, Evas_Object *obj, void *event_info)
136 {
137    Evas_Object *win, *bg, *bx, *bx2, *fl, *o, *bt, *tb, *ic, *li;
138    char buf[PATH_MAX];
139    
140    win = elm_win_add(NULL, "flip2", ELM_WIN_BASIC);
141    elm_win_title_set(win, "Flip 2");
142    elm_win_autodel_set(win, 1);
143
144    bg = elm_bg_add(win);
145    snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, "sky_01.jpg");
146    elm_bg_file_set(bg, buf, NULL);
147    elm_win_resize_object_add(win, bg);
148    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
149    evas_object_show(bg);
150
151    bx = elm_box_add(win);
152    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
153    elm_win_resize_object_add(win, bx);
154    evas_object_show(bx);
155    
156    fl = elm_flip_add(win);
157    evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL);
158    evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
159    elm_box_pack_end(bx, fl);
160
161    o = elm_box_add(win);
162    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
163    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
164    
165    tb = elm_toolbar_add(win);
166    elm_toolbar_homogenous_set(tb, 0);
167    evas_object_size_hint_weight_set(tb, 0.0, 0.0);
168    evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0);
169
170    ic = elm_icon_add(win);
171    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
172    elm_icon_file_set(ic, buf, NULL);
173    elm_toolbar_item_add(tb, ic, "Hello", NULL, NULL);
174    
175    ic = elm_icon_add(win);
176    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
177    elm_icon_file_set(ic, buf, NULL);
178    elm_toolbar_item_add(tb, ic, "Out", NULL, NULL);
179    
180    ic = elm_icon_add(win);
181    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
182    elm_icon_file_set(ic, buf, NULL);
183    elm_toolbar_item_add(tb, ic, "There", NULL, NULL);
184    
185    ic = elm_icon_add(win);
186    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
187    elm_icon_file_set(ic, buf, NULL);
188    elm_toolbar_item_add(tb, ic, "World", NULL, NULL);
189    
190    elm_box_pack_end(o, tb);
191    evas_object_show(tb);
192    
193    li = elm_list_add(win);
194    evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
195    evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
196    
197    elm_list_item_append(li, "This is a list", NULL, NULL,  NULL, NULL);
198    elm_list_item_append(li, "Second item", NULL, NULL,  NULL, NULL);
199    elm_list_item_append(li, "3rd", NULL, NULL,  NULL, NULL);
200    elm_list_item_append(li, "Fourth", NULL, NULL,  NULL, NULL);
201    elm_list_item_append(li, "Number five is alive!", NULL, NULL,  NULL, NULL);
202    elm_list_item_append(li, "The quick brown fox jumps over the lazy dog", NULL, NULL,  NULL, NULL);
203    elm_list_item_append(li, "Booyah", NULL, NULL,  NULL, NULL);
204    elm_list_item_append(li, "And another item", NULL, NULL,  NULL, NULL);
205    elm_list_item_append(li, "More of them", NULL, NULL,  NULL, NULL);
206    elm_list_item_append(li, "Get with it", NULL, NULL,  NULL, NULL);
207    
208    elm_list_go(li);
209    
210    elm_box_pack_end(o, li);
211    evas_object_show(li);
212    
213    elm_flip_content_front_set(fl, o);
214    evas_object_show(o);
215    
216    li = elm_list_add(win);
217    evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
218    evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
219    
220    elm_list_item_append(li, "This is a list", NULL, NULL,  NULL, NULL);
221    elm_list_item_append(li, "Second item", NULL, NULL,  NULL, NULL);
222    elm_list_item_append(li, "3rd", NULL, NULL,  NULL, NULL);
223    
224    elm_list_go(li);
225    
226    elm_flip_content_back_set(fl, li);
227    evas_object_show(li);
228
229    evas_object_show(fl);
230
231    bx2 = elm_box_add(win);
232    elm_box_horizontal_set(bx2, 1);
233    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
234    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
235    
236    bt = elm_button_add(win);
237    elm_button_label_set(bt, "1");
238    evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl);
239    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
240    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
241    elm_box_pack_end(bx2, bt);
242    evas_object_show(bt);
243    
244    bt = elm_button_add(win);
245    elm_button_label_set(bt, "2");
246    evas_object_smart_callback_add(bt, "clicked", my_fl_2, fl);
247    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
248    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
249    elm_box_pack_end(bx2, bt);
250    evas_object_show(bt);
251    
252    bt = elm_button_add(win);
253    elm_button_label_set(bt, "3");
254    evas_object_smart_callback_add(bt, "clicked", my_fl_3, fl);
255    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
256    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
257    elm_box_pack_end(bx2, bt);
258    evas_object_show(bt);
259    
260    bt = elm_button_add(win);
261    elm_button_label_set(bt, "4");
262    evas_object_smart_callback_add(bt, "clicked", my_fl_4, fl);
263    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
264    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
265    elm_box_pack_end(bx2, bt);
266    evas_object_show(bt);
267    
268    elm_box_pack_end(bx, bx2);
269    evas_object_show(bx2);
270
271    evas_object_resize(win, 320, 480);
272    evas_object_show(win);
273 }
274
275 void
276 test_flip3(void *data, Evas_Object *obj, void *event_info)
277 {
278    Evas_Object *win, *bg, *bx, *bx2, *bx3, *bx4, *bx5, *fl, *fl_f, *fl_b, *o,
279                *bt, *ly, *lb;
280    char buf[PATH_MAX];
281
282    win = elm_win_add(NULL, "flip flip", ELM_WIN_BASIC);
283    elm_win_title_set(win, "Flip Flip");
284    elm_win_autodel_set(win, 1);
285
286    bg = elm_bg_add(win);
287    elm_win_resize_object_add(win, bg);
288    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
289    evas_object_show(bg);
290
291    bx = elm_box_add(win);
292    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
293    elm_win_resize_object_add(win, bx);
294    evas_object_show(bx);
295
296    fl = elm_flip_add(win);
297    evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL);
298    evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
299    elm_box_pack_end(bx, fl);
300
301    bx3 = elm_box_add(win);
302    evas_object_size_hint_align_set(bx3, EVAS_HINT_FILL, EVAS_HINT_FILL);
303    evas_object_size_hint_weight_set(bx3, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
304    evas_object_show(bx3);
305
306    fl_f = elm_flip_add(win);
307    evas_object_size_hint_align_set(fl_f, EVAS_HINT_FILL, EVAS_HINT_FILL);
308    evas_object_size_hint_weight_set(fl_f, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
309
310    bx5 = elm_box_add(win);
311    evas_object_size_hint_align_set(bx5, EVAS_HINT_FILL, EVAS_HINT_FILL);
312    evas_object_size_hint_weight_set(bx5, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
313    evas_object_show(bx5);
314
315    o = elm_bg_add(win);
316    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
317    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
318    snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, "sky_01.jpg");
319    elm_bg_file_set(o, buf, NULL);
320    evas_object_show(o);
321    elm_box_pack_end(bx5, o);
322
323    lb = elm_label_add(win);
324    evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
325    evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0);
326    elm_label_label_set(lb, "Front Flip - Front");
327    evas_object_show(lb);
328    elm_box_pack_end(bx5, lb);
329
330    elm_flip_content_front_set(fl_f, bx5);
331
332    bx5 = elm_box_add(win);
333    evas_object_size_hint_align_set(bx5, EVAS_HINT_FILL, EVAS_HINT_FILL);
334    evas_object_size_hint_weight_set(bx5, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
335    evas_object_show(bx5);
336
337    o = elm_bg_add(win);
338    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
339    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
340    snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, "sky_02.jpg");
341    elm_bg_file_set(o, buf, NULL);
342    evas_object_show(o);
343    elm_box_pack_end(bx5, o);
344
345    lb = elm_label_add(win);
346    evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
347    evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0);
348    elm_label_label_set(lb, "Front Flip - Back");
349    evas_object_show(lb);
350    elm_box_pack_end(bx5, lb);
351
352    elm_flip_content_back_set(fl_f, bx5);
353
354    evas_object_show(fl_f);
355    elm_box_pack_end(bx3, fl_f);
356
357    lb = elm_label_add(win);
358    evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
359    evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0);
360    elm_label_label_set(lb, "Main Flip - Front");
361    evas_object_show(lb);
362    elm_box_pack_end(bx3, lb);
363
364    bx4 = elm_box_add(win);
365    evas_object_size_hint_weight_set(bx4, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
366    evas_object_show(bx4);
367
368    fl_b = elm_flip_add(win);
369    evas_object_size_hint_align_set(fl_b, EVAS_HINT_FILL, EVAS_HINT_FILL);
370    evas_object_size_hint_weight_set(fl_b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
371
372    bx5 = elm_box_add(win);
373    evas_object_size_hint_align_set(bx5, EVAS_HINT_FILL, EVAS_HINT_FILL);
374    evas_object_size_hint_weight_set(bx5, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
375    evas_object_show(bx5);
376
377    o = elm_bg_add(win);
378    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
379    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
380    snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, "sky_03.jpg");
381    elm_bg_file_set(o, buf, NULL);
382    evas_object_show(o);
383    elm_box_pack_end(bx5, o);
384
385    lb = elm_label_add(win);
386    evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
387    evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0);
388    elm_label_label_set(lb, "Back Flip - Front");
389    evas_object_show(lb);
390    elm_box_pack_end(bx5, lb);
391
392    elm_flip_content_front_set(fl_b, bx5);
393
394    bx5 = elm_box_add(win);
395    evas_object_size_hint_align_set(bx5, EVAS_HINT_FILL, EVAS_HINT_FILL);
396    evas_object_size_hint_weight_set(bx5, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
397    evas_object_show(bx5);
398
399    o = elm_bg_add(win);
400    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
401    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
402    snprintf(buf, sizeof(buf), "%s/images/%s", PACKAGE_DATA_DIR, "sky_04.jpg");
403    elm_bg_file_set(o, buf, NULL);
404    evas_object_show(o);
405    elm_box_pack_end(bx5, o);
406
407    lb = elm_label_add(win);
408    evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
409    evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0);
410    elm_label_label_set(lb, "Back Flip - Back");
411    evas_object_show(lb);
412    elm_box_pack_end(bx5, lb);
413
414    elm_flip_content_back_set(fl_b, bx5);
415
416    evas_object_show(fl_b);
417    elm_box_pack_end(bx4, fl_b);
418
419    lb = elm_label_add(win);
420    evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL);
421    evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, 0);
422    elm_label_label_set(lb, "Main Flip - Back");
423    elm_box_pack_end(bx4, lb);
424    evas_object_show(lb);
425
426    elm_flip_content_front_set(fl, bx3);
427    elm_flip_content_back_set(fl, bx4);
428
429    evas_object_show(fl);
430
431    bx2 = elm_box_add(win);
432    elm_box_horizontal_set(bx2, 1);
433    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
434    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
435
436    bt = elm_button_add(win);
437    elm_button_label_set(bt, "Main Flip");
438    evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl);
439    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
440    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
441    elm_box_pack_end(bx2, bt);
442    evas_object_show(bt);
443
444    bt = elm_button_add(win);
445    elm_button_label_set(bt, "Front Flip");
446    evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl_f);
447    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
448    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
449    elm_box_pack_end(bx2, bt);
450    evas_object_show(bt);
451
452    bt = elm_button_add(win);
453    elm_button_label_set(bt, "Back Flip");
454    evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl_b);
455    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
456    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
457    elm_box_pack_end(bx2, bt);
458    evas_object_show(bt);
459
460    elm_box_pack_end(bx, bx2);
461    evas_object_show(bx2);
462
463    evas_object_resize(win, 320, 480);
464    evas_object_show(win);
465 }
466 #endif