Initialize Tizen 2.3
[framework/uifw/elementary.git] / wearable / src / bin / test_flip.c
1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
6
7 void
8 my_fl_1(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
9 {
10    Evas_Object *fl = data;
11    elm_flip_go(fl, ELM_FLIP_ROTATE_Y_CENTER_AXIS);
12 }
13
14 void
15 my_fl_2(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
16 {
17    Evas_Object *fl = data;
18    elm_flip_go(fl, ELM_FLIP_ROTATE_X_CENTER_AXIS);
19 }
20
21 void
22 my_fl_3(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
23 {
24    Evas_Object *fl = data;
25    elm_flip_go(fl, ELM_FLIP_ROTATE_XZ_CENTER_AXIS);
26 }
27
28 void
29 my_fl_4(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
30 {
31    Evas_Object *fl = data;
32    elm_flip_go(fl, ELM_FLIP_ROTATE_YZ_CENTER_AXIS);
33 }
34
35 void
36 my_fl_5(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
37 {
38    Evas_Object *fl = data;
39    elm_flip_go(fl, ELM_FLIP_CUBE_LEFT);
40 }
41
42 void
43 my_fl_6(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
44 {
45    Evas_Object *fl = data;
46    elm_flip_go(fl, ELM_FLIP_CUBE_RIGHT);
47 }
48
49 void
50 my_fl_7(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
51 {
52    Evas_Object *fl = data;
53    elm_flip_go(fl, ELM_FLIP_CUBE_UP);
54 }
55
56 void
57 my_fl_8(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
58 {
59    Evas_Object *fl = data;
60    elm_flip_go(fl, ELM_FLIP_CUBE_DOWN);
61 }
62
63 void
64 my_fl_front(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
65 {
66    Evas_Object *fl = data;
67    elm_flip_go_to(fl, EINA_TRUE, ELM_FLIP_ROTATE_X_CENTER_AXIS);
68 }
69
70 void
71 my_fl_back(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
72 {
73    Evas_Object *fl = data;
74    elm_flip_go_to(fl, EINA_FALSE, ELM_FLIP_ROTATE_X_CENTER_AXIS);
75 }
76
77 void
78 test_flip(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
79 {
80    Evas_Object *win, *bx, *bx2, *fl, *o, *bt, *ly;
81    char buf[PATH_MAX];
82
83    win = elm_win_util_standard_add("flip", "Flip");
84    elm_win_focus_highlight_enabled_set(win, EINA_TRUE);
85    elm_win_autodel_set(win, EINA_TRUE);
86
87    bx = elm_box_add(win);
88    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
89    elm_win_resize_object_add(win, bx);
90    evas_object_show(bx);
91
92    fl = elm_flip_add(win);
93    evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL);
94    evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
95    elm_box_pack_end(bx, fl);
96
97    o = elm_bg_add(win);
98    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
99    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
100    snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_01.jpg");
101    elm_bg_file_set(o, buf, NULL);
102    elm_object_part_content_set(fl, "front", o);
103    evas_object_show(o);
104
105    ly = elm_layout_add(win);
106    snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
107    elm_layout_file_set(ly, buf, "layout");
108    evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
109    evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
110    elm_object_part_content_set(fl, "back", ly);
111    evas_object_show(ly);
112
113    bt = elm_button_add(ly);
114    elm_object_text_set(bt, "Button 1");
115    elm_object_part_content_set(ly, "element1", bt);
116
117    bt = elm_button_add(ly);
118    elm_object_text_set(bt, "Button 2");
119    elm_object_part_content_set(ly, "element2", bt);
120
121    bt = elm_button_add(ly);
122    elm_object_text_set(bt, "Button 3");
123    elm_object_part_content_set(ly, "element3", bt);
124
125    evas_object_show(fl);
126
127    bx2 = elm_box_add(win);
128    elm_box_horizontal_set(bx2, EINA_TRUE);
129    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
130    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
131
132    bt = elm_button_add(win);
133    elm_object_text_set(bt, "1");
134    evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl);
135    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
136    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
137    elm_box_pack_end(bx2, bt);
138    evas_object_show(bt);
139
140    bt = elm_button_add(win);
141    elm_object_text_set(bt, "2");
142    evas_object_smart_callback_add(bt, "clicked", my_fl_2, fl);
143    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
144    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
145    elm_box_pack_end(bx2, bt);
146    evas_object_show(bt);
147
148    bt = elm_button_add(win);
149    elm_object_text_set(bt, "3");
150    evas_object_smart_callback_add(bt, "clicked", my_fl_3, fl);
151    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
152    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
153    elm_box_pack_end(bx2, bt);
154    evas_object_show(bt);
155
156    bt = elm_button_add(win);
157    elm_object_text_set(bt, "4");
158    evas_object_smart_callback_add(bt, "clicked", my_fl_4, fl);
159    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
160    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
161    elm_box_pack_end(bx2, bt);
162    evas_object_show(bt);
163
164    elm_box_pack_end(bx, bx2);
165    evas_object_show(bx2);
166
167    bx2 = elm_box_add(win);
168    elm_box_horizontal_set(bx2, EINA_TRUE);
169    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
170    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
171
172    bt = elm_button_add(win);
173    elm_object_text_set(bt, "5");
174    evas_object_smart_callback_add(bt, "clicked", my_fl_5, fl);
175    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
176    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
177    elm_box_pack_end(bx2, bt);
178    evas_object_show(bt);
179
180    bt = elm_button_add(win);
181    elm_object_text_set(bt, "6");
182    evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl);
183    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
184    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
185    elm_box_pack_end(bx2, bt);
186    evas_object_show(bt);
187
188    bt = elm_button_add(win);
189    elm_object_text_set(bt, "7");
190    evas_object_smart_callback_add(bt, "clicked", my_fl_7, fl);
191    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
192    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
193    elm_box_pack_end(bx2, bt);
194    evas_object_show(bt);
195
196    bt = elm_button_add(win);
197    elm_object_text_set(bt, "8");
198    evas_object_smart_callback_add(bt, "clicked", my_fl_8, fl);
199    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
200    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
201    elm_box_pack_end(bx2, bt);
202    evas_object_show(bt);
203
204    elm_box_pack_end(bx, bx2);
205    evas_object_show(bx2);
206
207    evas_object_resize(win, 320, 480);
208    evas_object_show(win);
209 }
210
211 void
212 test_flip2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
213 {
214    Evas_Object *win, *bg, *bx, *bx2, *fl, *o, *bt, *tb, *li, *en;
215    char buf[PATH_MAX];
216
217    win = elm_win_add(NULL, "flip2", ELM_WIN_BASIC);
218    elm_win_title_set(win, "Flip 2");
219    elm_win_autodel_set(win, EINA_TRUE);
220
221    bg = elm_bg_add(win);
222    snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_01.jpg");
223    elm_bg_file_set(bg, buf, NULL);
224    elm_win_resize_object_add(win, bg);
225    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
226    evas_object_show(bg);
227
228    bx = elm_box_add(win);
229    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
230    elm_win_resize_object_add(win, bx);
231    evas_object_show(bx);
232
233    fl = elm_flip_add(win);
234    evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL);
235    evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
236    elm_box_pack_end(bx, fl);
237
238    o = elm_box_add(win);
239    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
240    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
241
242    tb = elm_toolbar_add(win);
243    elm_toolbar_homogeneous_set(tb, 0);
244    evas_object_size_hint_weight_set(tb, 0.0, 0.0);
245    evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0);
246
247    elm_toolbar_item_append(tb, "arrow_left", "Hello", NULL, NULL);
248    elm_toolbar_item_append(tb, "arrow_right", "Out", NULL, NULL);
249    elm_toolbar_item_append(tb, "home", "There", NULL, NULL);
250    elm_toolbar_item_append(tb, "refresh", "World", NULL, NULL);
251
252    elm_box_pack_end(o, tb);
253    evas_object_show(tb);
254
255    li = elm_list_add(win);
256    evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
257    evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
258
259    elm_list_item_append(li, "This is a list", NULL, NULL,  NULL, NULL);
260    elm_list_item_append(li, "Second item", NULL, NULL,  NULL, NULL);
261    elm_list_item_append(li, "3rd", NULL, NULL,  NULL, NULL);
262    elm_list_item_append(li, "Fourth", NULL, NULL,  NULL, NULL);
263    elm_list_item_append(li, "Number five is alive!", NULL, NULL,  NULL, NULL);
264    elm_list_item_append(li, "The quick brown fox jumps over the lazy dog", NULL, NULL,  NULL, NULL);
265    elm_list_item_append(li, "Booyah", NULL, NULL,  NULL, NULL);
266    elm_list_item_append(li, "And another item", NULL, NULL,  NULL, NULL);
267    elm_list_item_append(li, "More of them", NULL, NULL,  NULL, NULL);
268    elm_list_item_append(li, "Get with it", NULL, NULL,  NULL, NULL);
269
270    elm_list_go(li);
271
272    elm_box_pack_end(o, li);
273    evas_object_show(li);
274
275    elm_object_part_content_set(fl, "front", o);
276    evas_object_show(o);
277
278    en = elm_entry_add(win);
279    elm_entry_scrollable_set(en, EINA_TRUE);
280    elm_entry_line_wrap_set(en, ELM_WRAP_NONE);
281    snprintf(buf, sizeof(buf),
282             "This is an entry widget in this window that<br/>"
283             "uses markup <b>like this</> for styling and<br/>"
284             "formatting <em>like this</>, as well as<br/>"
285             "<a href=X><link>links in the text</></a>, so enter text<br/>"
286             "in here to edit it. By the way, links are<br/>"
287             "called <a href=anc-02>Anchors</a> so you will need<br/>"
288             "to refer to them this way.<br/>"
289             "<br/>"
290
291             "Also you can stick in items with (relsize + ascent): "
292             "<item relsize=16x16 vsize=ascent href=emoticon/evil-laugh></item>"
293             " (full) "
294             "<item relsize=16x16 vsize=full href=emoticon/guilty-smile></item>"
295             " (to the left)<br/>"
296
297             "Also (size + ascent): "
298             "<item size=16x16 vsize=ascent href=emoticon/haha></item>"
299             " (full) "
300             "<item size=16x16 vsize=full href=emoticon/happy-panting></item>"
301             " (before this)<br/>"
302
303             "And as well (absize + ascent): "
304             "<item absize=64x64 vsize=ascent href=emoticon/knowing-grin></item>"
305             " (full) "
306             "<item absize=64x64 vsize=full href=emoticon/not-impressed></item>"
307             " or even paths to image files on disk too like: "
308             "<item absize=96x128 vsize=full href=file://%s/images/sky_01.jpg></item>"
309             " ... end."
310             , elm_app_data_dir_get()
311            );
312    elm_object_text_set(en, buf);
313    evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
314    evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
315
316    elm_object_part_content_set(fl, "back", en);
317    evas_object_show(en);
318
319    evas_object_show(fl);
320
321    bx2 = elm_box_add(win);
322    elm_box_horizontal_set(bx2, EINA_TRUE);
323    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
324    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
325
326    bt = elm_button_add(win);
327    elm_object_text_set(bt, "1");
328    evas_object_smart_callback_add(bt, "clicked", my_fl_1, fl);
329    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
330    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
331    elm_box_pack_end(bx2, bt);
332    evas_object_show(bt);
333
334    bt = elm_button_add(win);
335    elm_object_text_set(bt, "2");
336    evas_object_smart_callback_add(bt, "clicked", my_fl_2, fl);
337    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
338    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
339    elm_box_pack_end(bx2, bt);
340    evas_object_show(bt);
341
342    bt = elm_button_add(win);
343    elm_object_text_set(bt, "3");
344    evas_object_smart_callback_add(bt, "clicked", my_fl_3, fl);
345    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
346    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
347    elm_box_pack_end(bx2, bt);
348    evas_object_show(bt);
349
350    bt = elm_button_add(win);
351    elm_object_text_set(bt, "4");
352    evas_object_smart_callback_add(bt, "clicked", my_fl_4, fl);
353    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
354    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
355    elm_box_pack_end(bx2, bt);
356    evas_object_show(bt);
357
358    bt = elm_button_add(win);
359    elm_object_text_set(bt, "5");
360    evas_object_smart_callback_add(bt, "clicked", my_fl_5, fl);
361    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
362    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
363    elm_box_pack_end(bx2, bt);
364    evas_object_show(bt);
365
366    bt = elm_button_add(win);
367    elm_object_text_set(bt, "6");
368    evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl);
369    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
370    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
371    elm_box_pack_end(bx2, bt);
372    evas_object_show(bt);
373
374    elm_box_pack_end(bx, bx2);
375    evas_object_show(bx2);
376
377    evas_object_resize(win, 320, 480);
378    evas_object_show(win);
379 }
380
381 void
382 test_flip3(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
383 {
384    Evas_Object *win, *bx, *bx2, *fl, *fl_f, *fl_b, *o, *bt, *fr;
385    char buf[PATH_MAX];
386
387    win = elm_win_util_standard_add("flip3", "Flip Flip");
388    elm_win_autodel_set(win, EINA_TRUE);
389
390    bx = elm_box_add(win);
391    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
392    elm_win_resize_object_add(win, bx);
393    evas_object_show(bx);
394
395    fl = elm_flip_add(win);
396    evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL);
397    evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
398    elm_box_pack_end(bx, fl);
399    evas_object_show(fl);
400
401    fr = elm_frame_add(win);
402    elm_object_text_set(fr, "Front");
403    evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL);
404    evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
405    elm_object_part_content_set(fl, "front", fr);
406    evas_object_show(fr);
407
408    fl_f = elm_flip_add(win);
409    evas_object_size_hint_align_set(fl_f, EVAS_HINT_FILL, EVAS_HINT_FILL);
410    evas_object_size_hint_weight_set(fl_f, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
411    elm_object_content_set(fr, fl_f);
412    evas_object_show(fl_f);
413
414    o = elm_bg_add(win);
415    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
416    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
417    snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_01.jpg");
418    elm_bg_file_set(o, buf, NULL);
419    elm_object_part_content_set(fl_f, "front", o);
420    evas_object_show(o);
421
422    o = elm_bg_add(win);
423    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
424    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
425    snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_02.jpg");
426    elm_bg_file_set(o, buf, NULL);
427    elm_object_part_content_set(fl_f, "back", o);
428    evas_object_show(o);
429
430    fr = elm_frame_add(win);
431    elm_object_text_set(fr, "Back");
432    evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL);
433    evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
434    elm_object_part_content_set(fl, "back", fr);
435    evas_object_show(fr);
436
437    fl_b = elm_flip_add(win);
438    evas_object_size_hint_align_set(fl_b, EVAS_HINT_FILL, EVAS_HINT_FILL);
439    evas_object_size_hint_weight_set(fl_b, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
440    elm_object_content_set(fr, fl_b);
441    evas_object_show(fl_b);
442
443    o = elm_bg_add(win);
444    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
445    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
446    snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_03.jpg");
447    elm_bg_file_set(o, buf, NULL);
448    elm_object_part_content_set(fl_b, "front", o);
449    evas_object_show(o);
450
451    o = elm_bg_add(win);
452    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
453    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
454    snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_04.jpg");
455    elm_bg_file_set(o, buf, NULL);
456    elm_object_part_content_set(fl_b, "back", o);
457    evas_object_show(o);
458
459    bx2 = elm_box_add(win);
460    elm_box_horizontal_set(bx2, EINA_TRUE);
461    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
462    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
463
464    bt = elm_button_add(win);
465    elm_object_text_set(bt, "Main Flip");
466    evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl);
467    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
468    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
469    elm_box_pack_end(bx2, bt);
470    evas_object_show(bt);
471
472    bt = elm_button_add(win);
473    elm_object_text_set(bt, "Front Flip");
474    evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl_f);
475    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
476    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
477    elm_box_pack_end(bx2, bt);
478    evas_object_show(bt);
479
480    bt = elm_button_add(win);
481    elm_object_text_set(bt, "Back Flip");
482    evas_object_smart_callback_add(bt, "clicked", my_fl_6, fl_b);
483    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
484    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
485    elm_box_pack_end(bx2, bt);
486    evas_object_show(bt);
487
488    elm_box_pack_end(bx, bx2);
489    evas_object_show(bx2);
490
491    evas_object_resize(win, 320, 480);
492    evas_object_show(win);
493 }
494
495
496 static void
497 my_fl_go(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
498 {
499    Evas_Object *win = data;
500    Evas_Object *fl = evas_object_data_get(win, "fl");
501    elm_flip_go(fl, ELM_FLIP_PAGE_LEFT);
502 }
503
504 static void
505 my_fl_ch(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
506 {
507    Evas_Object *win = data;
508    Evas_Object *fl = evas_object_data_get(win, "fl");
509    Evas_Object *rdg = evas_object_data_get(win, "rdg");
510    elm_flip_interaction_set(fl, elm_radio_value_get(rdg));
511 }
512
513 void
514 test_flip4(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
515 {
516    Evas_Object *win, *bx, *fl, *im, *li, *bt, *rd, *rdg;
517    char buf[PATH_MAX];
518
519    win = elm_win_util_standard_add("flip-interactive", "Flip Interactive");
520    elm_win_autodel_set(win, EINA_TRUE);
521
522    bx = elm_box_add(win);
523    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
524    elm_win_resize_object_add(win, bx);
525    evas_object_show(bx);
526
527    fl = elm_flip_add(win);
528    evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL);
529    evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
530    elm_box_pack_end(bx, fl);
531    evas_object_data_set(win, "fl", fl);
532
533    elm_flip_interaction_set(fl, ELM_FLIP_INTERACTION_NONE);
534    elm_flip_interaction_direction_enabled_set(fl, ELM_FLIP_DIRECTION_UP, EINA_TRUE);
535    elm_flip_interaction_direction_enabled_set(fl, ELM_FLIP_DIRECTION_DOWN, EINA_TRUE);
536    elm_flip_interaction_direction_enabled_set(fl, ELM_FLIP_DIRECTION_LEFT, EINA_TRUE);
537    elm_flip_interaction_direction_enabled_set(fl, ELM_FLIP_DIRECTION_RIGHT, EINA_TRUE);
538    elm_flip_interaction_direction_hitsize_set(fl, ELM_FLIP_DIRECTION_UP, 0.25);
539    elm_flip_interaction_direction_hitsize_set(fl, ELM_FLIP_DIRECTION_DOWN, 0.25);
540    elm_flip_interaction_direction_hitsize_set(fl, ELM_FLIP_DIRECTION_LEFT, 0.25);
541    elm_flip_interaction_direction_hitsize_set(fl, ELM_FLIP_DIRECTION_RIGHT, 0.25);
542    evas_object_show(fl);
543
544    im = evas_object_image_filled_add(evas_object_evas_get(win));
545    evas_object_size_hint_weight_set(im, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
546    snprintf(buf, sizeof(buf), "%s/images/%s",
547             elm_app_data_dir_get(), "twofish.jpg");
548    evas_object_image_file_set(im, buf, NULL);
549    elm_object_part_content_set(fl, "front", im);
550    evas_object_show(im);
551
552 #if 0
553    im = evas_object_image_filled_add(evas_object_evas_get(win));
554    evas_object_size_hint_weight_set(im, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
555    snprintf(buf, sizeof(buf), "%s/images/%s",
556             elm_app_data_dir_get(), "sky_04.jpg");
557    evas_object_image_file_set(im, buf, NULL);
558    elm_object_part_content_set(fl, "back", im);
559    evas_object_show(im);
560 #else
561    li = elm_list_add(win);
562    evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
563    elm_list_item_append(li, "Item 0", NULL, NULL, NULL, NULL);
564    elm_list_item_append(li, "Item 1", NULL, NULL, NULL, NULL);
565    elm_list_item_append(li, "Item 2", NULL, NULL, NULL, NULL);
566    elm_list_item_append(li, "Item 3 (Which is very long just for testing purposes)", NULL, NULL, NULL, NULL);
567    elm_list_go(li);
568    elm_object_part_content_set(fl, "back", li);
569    evas_object_show(li);
570 #endif
571
572    rd = elm_radio_add(win);
573    evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL);
574    evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
575    elm_radio_state_value_set(rd, ELM_FLIP_INTERACTION_NONE);
576    elm_object_text_set(rd, "None");
577    elm_box_pack_end(bx, rd);
578    evas_object_show(rd);
579    evas_object_smart_callback_add(rd, "changed", my_fl_ch, win);
580    rdg = rd;
581    evas_object_data_set(win, "rdg", rdg);
582
583    rd = elm_radio_add(win);
584    evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL);
585    evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
586    elm_radio_state_value_set(rd, ELM_FLIP_INTERACTION_ROTATE);
587    elm_object_text_set(rd, "Rotate");
588    elm_radio_group_add(rd, rdg);
589    elm_box_pack_end(bx, rd);
590    evas_object_show(rd);
591    evas_object_smart_callback_add(rd, "changed", my_fl_ch, win);
592
593    rd = elm_radio_add(win);
594    evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL);
595    evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
596    elm_radio_state_value_set(rd, ELM_FLIP_INTERACTION_CUBE);
597    elm_object_text_set(rd, "Cube");
598    elm_radio_group_add(rd, rdg);
599    elm_box_pack_end(bx, rd);
600    evas_object_show(rd);
601    evas_object_smart_callback_add(rd, "changed", my_fl_ch, win);
602
603    rd = elm_radio_add(win);
604    evas_object_size_hint_align_set(rd, EVAS_HINT_FILL, EVAS_HINT_FILL);
605    evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, 0.0);
606    elm_radio_state_value_set(rd, ELM_FLIP_INTERACTION_PAGE);
607    elm_object_text_set(rd, "Page");
608    elm_radio_group_add(rd, rdg);
609    elm_box_pack_end(bx, rd);
610    evas_object_show(rd);
611    evas_object_smart_callback_add(rd, "changed", my_fl_ch, win);
612
613    bt = elm_button_add(win);
614    elm_object_text_set(bt, "Flip page");
615    evas_object_smart_callback_add(bt, "clicked", my_fl_go, win);
616    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
617    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
618    elm_box_pack_end(bx, bt);
619    evas_object_show(bt);
620
621    evas_object_resize(win, 320, 480);
622    evas_object_show(win);
623 }
624
625 void
626 test_flip5(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
627 {
628    Evas_Object *win, *bx, *bx2, *fl, *o, *bt, *ly;
629    char buf[PATH_MAX];
630
631    win = elm_win_util_standard_add("flip4", "Flip 4");
632    elm_win_autodel_set(win, EINA_TRUE);
633
634    bx = elm_box_add(win);
635    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
636    elm_win_resize_object_add(win, bx);
637    evas_object_show(bx);
638
639    fl = elm_flip_add(win);
640    evas_object_size_hint_align_set(fl, EVAS_HINT_FILL, EVAS_HINT_FILL);
641    evas_object_size_hint_weight_set(fl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
642    elm_box_pack_end(bx, fl);
643
644    o = elm_bg_add(win);
645    evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
646    evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
647    snprintf(buf, sizeof(buf), "%s/images/%s", elm_app_data_dir_get(), "sky_01.jpg");
648    elm_bg_file_set(o, buf, NULL);
649    elm_object_part_content_set(fl, "front", o);
650    evas_object_show(o);
651
652    ly = elm_layout_add(win);
653    snprintf(buf, sizeof(buf), "%s/objects/test.edj", elm_app_data_dir_get());
654    elm_layout_file_set(ly, buf, "layout");
655    evas_object_size_hint_align_set(ly, EVAS_HINT_FILL, EVAS_HINT_FILL);
656    evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
657    elm_object_part_content_set(fl, "back", ly);
658    evas_object_show(ly);
659
660    bt = elm_button_add(ly);
661    elm_object_text_set(bt, "Button 1");
662    elm_object_part_content_set(ly, "element1", bt);
663
664    bt = elm_button_add(ly);
665    elm_object_text_set(bt, "Button 2");
666    elm_object_part_content_set(ly, "element2", bt);
667
668    bt = elm_button_add(ly);
669    elm_object_text_set(bt, "Button 3");
670    elm_object_part_content_set(ly, "element3", bt);
671
672    evas_object_show(fl);
673
674    bx2 = elm_box_add(win);
675    elm_box_horizontal_set(bx2, EINA_TRUE);
676    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
677    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
678
679    bt = elm_button_add(win);
680    elm_object_text_set(bt, "Show Front");
681    evas_object_smart_callback_add(bt, "clicked", my_fl_front, fl);
682    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
683    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
684    elm_box_pack_end(bx2, bt);
685    evas_object_show(bt);
686
687    bt = elm_button_add(win);
688    elm_object_text_set(bt, "Show Back");
689    evas_object_smart_callback_add(bt, "clicked", my_fl_back, fl);
690    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
691    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
692    elm_box_pack_end(bx2, bt);
693    evas_object_show(bt);
694
695    elm_box_pack_end(bx, bx2);
696    evas_object_show(bx2);
697
698    evas_object_resize(win, 320, 480);
699    evas_object_show(win);
700 }
701 #endif