1 #include <Elementary.h>
3 # include "elementary_config.h"
5 #ifndef ELM_LIB_QUICKLAUNCH
8 Evas_Object *obj __UNUSED__,
9 void *event_info __UNUSED__)
11 elm_list_item_show(data);
15 scroll_top(void *data __UNUSED__,
16 Evas_Object *obj __UNUSED__,
17 void *event_info __UNUSED__)
19 printf("Top edge!\n");
23 scroll_bottom(void *data __UNUSED__,
24 Evas_Object *obj __UNUSED__,
25 void *event_info __UNUSED__)
27 printf("Bottom edge!\n");
31 scroll_left(void *data __UNUSED__,
32 Evas_Object *obj __UNUSED__,
33 void *event_info __UNUSED__)
35 printf("Left edge!\n");
39 scroll_right(void *data __UNUSED__,
40 Evas_Object *obj __UNUSED__,
41 void *event_info __UNUSED__)
43 printf("Right edge!\n");
47 test_list(void *data __UNUSED__,
48 Evas_Object *obj __UNUSED__,
49 void *event_info __UNUSED__)
51 Evas_Object *win, *bg, *li, *ic, *ic2, *bx, *tb2, *bt;
53 Elm_Object_Item *list_it1, *list_it2, *list_it3, *list_it4, *list_it5;
55 win = elm_win_add(NULL, "list", ELM_WIN_BASIC);
56 elm_win_title_set(win, "List");
57 elm_win_autodel_set(win, EINA_TRUE);
60 elm_win_resize_object_add(win, bg);
61 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
64 li = elm_list_add(win);
65 elm_win_resize_object_add(win, li);
66 elm_list_mode_set(li, ELM_LIST_LIMIT);
67 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
69 ic = elm_icon_add(win);
70 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
71 elm_icon_file_set(ic, buf, NULL);
72 elm_icon_scale_set(ic, 1, 1);
73 list_it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL);
74 ic = elm_icon_add(win);
75 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
76 elm_icon_scale_set(ic, 0, 0);
77 elm_icon_file_set(ic, buf, NULL);
78 elm_list_item_append(li, "world", ic, NULL, NULL, NULL);
79 ic = elm_icon_add(win);
80 elm_icon_standard_set(ic, "edit");
81 elm_icon_scale_set(ic, 0, 0);
82 elm_list_item_append(li, ".", ic, NULL, NULL, NULL);
84 ic = elm_icon_add(win);
85 elm_icon_standard_set(ic, "delete");
86 elm_icon_scale_set(ic, 0, 0);
87 ic2 = elm_icon_add(win);
88 elm_icon_standard_set(ic2, "clock");
89 elm_icon_scale_set(ic2, 0, 0);
90 list_it2 = elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
92 bx = elm_box_add(win);
93 elm_box_horizontal_set(bx, EINA_TRUE);
95 ic = elm_icon_add(win);
96 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
97 elm_icon_file_set(ic, buf, NULL);
98 elm_icon_scale_set(ic, 0, 0);
99 evas_object_size_hint_align_set(ic, 0.5, 0.5);
100 elm_box_pack_end(bx, ic);
101 evas_object_show(ic);
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 elm_icon_scale_set(ic, 0, 0);
107 evas_object_size_hint_align_set(ic, 0.5, 0.0);
108 elm_box_pack_end(bx, ic);
109 evas_object_show(ic);
111 ic = elm_icon_add(win);
112 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
113 elm_icon_file_set(ic, buf, NULL);
114 elm_icon_scale_set(ic, 0, 0);
115 evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_EXPAND);
116 elm_box_pack_end(bx, ic);
117 evas_object_show(ic);
118 elm_list_item_append(li, "are", bx, NULL, NULL, NULL);
120 elm_list_item_append(li, "you", NULL, NULL, NULL, NULL);
121 list_it3 = elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL);
122 elm_list_item_append(li, "out", NULL, NULL, NULL, NULL);
123 elm_list_item_append(li, "there", NULL, NULL, NULL, NULL);
124 elm_list_item_append(li, "today", NULL, NULL, NULL, NULL);
125 elm_list_item_append(li, "?", NULL, NULL, NULL, NULL);
126 list_it4 = elm_list_item_append(li, "Here", NULL, NULL, NULL, NULL);
127 elm_list_item_append(li, "are", NULL, NULL, NULL, NULL);
128 elm_list_item_append(li, "some", NULL, NULL, NULL, NULL);
129 elm_list_item_append(li, "more", NULL, NULL, NULL, NULL);
130 elm_list_item_append(li, "items", NULL, NULL, NULL, NULL);
131 elm_list_item_append(li, "Is this label long enough?", NULL, NULL, NULL, NULL);
132 list_it5 = elm_list_item_append(li, "Maybe this one is even longer so we can test long long items.", NULL, NULL, NULL, NULL);
136 evas_object_show(li);
138 tb2 = elm_table_add(win);
139 evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
140 elm_win_resize_object_add(win, tb2);
142 bt = elm_button_add(win);
143 elm_object_text_set(bt, "Hello");
144 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it1);
145 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
146 evas_object_size_hint_align_set(bt, 0.9, 0.5);
147 elm_table_pack(tb2, bt, 0, 0, 1, 1);
148 evas_object_show(bt);
150 bt = elm_button_add(win);
151 elm_object_text_set(bt, "How");
152 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it2);
153 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
154 evas_object_size_hint_align_set(bt, 0.9, 0.5);
155 elm_table_pack(tb2, bt, 0, 1, 1, 1);
156 evas_object_show(bt);
158 bt = elm_button_add(win);
159 elm_object_text_set(bt, "doing");
160 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it3);
161 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
162 evas_object_size_hint_align_set(bt, 0.9, 0.5);
163 elm_table_pack(tb2, bt, 0, 2, 1, 1);
164 evas_object_show(bt);
166 bt = elm_button_add(win);
167 elm_object_text_set(bt, "Here");
168 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it4);
169 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
170 evas_object_size_hint_align_set(bt, 0.9, 0.5);
171 elm_table_pack(tb2, bt, 0, 3, 1, 1);
172 evas_object_show(bt);
174 bt = elm_button_add(win);
175 elm_object_text_set(bt, "Maybe this...");
176 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it5);
177 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
178 evas_object_size_hint_align_set(bt, 0.9, 0.5);
179 elm_table_pack(tb2, bt, 0, 4, 1, 1);
180 evas_object_show(bt);
182 evas_object_show(tb2);
184 evas_object_resize(win, 320, 300);
185 evas_object_show(win);
187 evas_object_smart_callback_add(li, "scroll,edge,top", scroll_top, NULL);
188 evas_object_smart_callback_add(li, "scroll,edge,bottom", scroll_bottom, NULL);
189 evas_object_smart_callback_add(li, "scroll,edge,left", scroll_left, NULL);
190 evas_object_smart_callback_add(li, "scroll,edge,right", scroll_right, NULL);
194 test_list_horizontal(void *data __UNUSED__,
195 Evas_Object *obj __UNUSED__,
196 void *event_info __UNUSED__)
198 Evas_Object *win, *bg, *li, *ic, *ic2, *bx, *tb2, *bt;
200 Elm_Object_Item *list_it1, *list_it2, *list_it3, *list_it4;
202 win = elm_win_add(NULL, "list-horizontal", ELM_WIN_BASIC);
203 elm_win_title_set(win, "List Horizontal");
204 elm_win_autodel_set(win, EINA_TRUE);
206 bg = elm_bg_add(win);
207 elm_win_resize_object_add(win, bg);
208 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
209 evas_object_show(bg);
211 li = elm_list_add(win);
212 elm_list_horizontal_set(li, EINA_TRUE);
213 elm_list_mode_set(li, ELM_LIST_LIMIT);
214 elm_win_resize_object_add(win, li);
215 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
217 ic = elm_icon_add(win);
218 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
219 elm_icon_file_set(ic, buf, NULL);
220 elm_icon_scale_set(ic, 1, 1);
221 list_it1 = elm_list_item_append(li, "Hello", ic, NULL, NULL, NULL);
222 ic = elm_icon_add(win);
223 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
224 elm_icon_scale_set(ic, 0, 0);
225 elm_icon_file_set(ic, buf, NULL);
226 elm_list_item_append(li, "world", ic, NULL, NULL, NULL);
227 ic = elm_icon_add(win);
228 elm_icon_standard_set(ic, "edit");
229 elm_icon_scale_set(ic, 0, 0);
230 elm_list_item_append(li, ".", ic, NULL, NULL, NULL);
232 ic = elm_icon_add(win);
233 elm_icon_standard_set(ic, "delete");
234 elm_icon_scale_set(ic, 0, 0);
235 ic2 = elm_icon_add(win);
236 elm_icon_standard_set(ic2, "clock");
237 elm_icon_scale_set(ic2, 0, 0);
238 list_it2 = elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
240 bx = elm_box_add(win);
242 ic = elm_icon_add(win);
243 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
244 elm_icon_file_set(ic, buf, NULL);
245 elm_icon_scale_set(ic, 0, 0);
246 evas_object_size_hint_align_set(ic, 0.5, 0.5);
247 elm_box_pack_end(bx, ic);
248 evas_object_show(ic);
250 ic = elm_icon_add(win);
251 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
252 elm_icon_file_set(ic, buf, NULL);
253 elm_icon_scale_set(ic, 0, 0);
254 evas_object_size_hint_align_set(ic, 0.5, 0.0);
255 elm_box_pack_end(bx, ic);
256 evas_object_show(ic);
258 elm_list_item_append(li, "are", bx, NULL, NULL, NULL);
260 elm_list_item_append(li, "you", NULL, NULL, NULL, NULL);
261 list_it3 = elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL);
262 elm_list_item_append(li, "out", NULL, NULL, NULL, NULL);
263 elm_list_item_append(li, "there", NULL, NULL, NULL, NULL);
264 elm_list_item_append(li, "today", NULL, NULL, NULL, NULL);
265 elm_list_item_append(li, "?", NULL, NULL, NULL, NULL);
267 list_it4 = elm_list_item_append(li, "And", NULL, NULL, NULL, NULL);
268 elm_list_item_append(li, "here", NULL, NULL, NULL, NULL);
269 elm_list_item_append(li, "we", NULL, NULL, NULL, NULL);
270 elm_list_item_append(li, "are", NULL, NULL, NULL, NULL);
271 elm_list_item_append(li, "done", NULL, NULL, NULL, NULL);
272 elm_list_item_append(li, "with", NULL, NULL, NULL, NULL);
273 elm_list_item_append(li, "items.", NULL, NULL, NULL, NULL);
277 evas_object_show(li);
279 tb2 = elm_table_add(win);
280 evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
281 elm_win_resize_object_add(win, tb2);
283 bt = elm_button_add(win);
284 elm_object_text_set(bt, "Hello");
285 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it1);
286 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
287 evas_object_size_hint_align_set(bt, 0.5, 0.9);
288 elm_table_pack(tb2, bt, 0, 0, 1, 1);
289 evas_object_show(bt);
291 bt = elm_button_add(win);
292 elm_object_text_set(bt, "How");
293 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it2);
294 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
295 evas_object_size_hint_align_set(bt, 0.5, 0.9);
296 elm_table_pack(tb2, bt, 1, 0, 1, 1);
297 evas_object_show(bt);
299 bt = elm_button_add(win);
300 elm_object_text_set(bt, "doing");
301 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it3);
302 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
303 evas_object_size_hint_align_set(bt, 0.5, 0.9);
304 elm_table_pack(tb2, bt, 2, 0, 1, 1);
305 evas_object_show(bt);
307 bt = elm_button_add(win);
308 elm_object_text_set(bt, "And");
309 evas_object_smart_callback_add(bt, "clicked", my_show_it, list_it4);
310 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
311 evas_object_size_hint_align_set(bt, 0.5, 0.9);
312 elm_table_pack(tb2, bt, 3, 0, 1, 1);
313 evas_object_show(bt);
315 evas_object_show(tb2);
317 evas_object_resize(win, 320, 300);
318 evas_object_show(win);
324 my_li2_clear(void *data,
325 Evas_Object *obj __UNUSED__,
326 void *event_info __UNUSED__)
328 elm_list_clear(data);
332 my_li2_sel(void *data __UNUSED__,
334 void *event_info __UNUSED__)
336 Elm_Object_Item *list_it = elm_list_selected_item_get(obj);
337 elm_list_item_selected_set(list_it, 0);
341 test_list2(void *data __UNUSED__,
342 Evas_Object *obj __UNUSED__,
343 void *event_info __UNUSED__)
345 Evas_Object *win, *bg, *li, *ic, *ic2, *bx, *bx2, *bt;
347 Elm_Object_Item *list_it;
349 win = elm_win_add(NULL, "list2", ELM_WIN_BASIC);
350 elm_win_title_set(win, "List 2");
351 elm_win_autodel_set(win, EINA_TRUE);
353 bg = elm_bg_add(win);
354 snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get());
355 elm_bg_file_set(bg, buf, NULL);
356 elm_win_resize_object_add(win, bg);
357 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
358 evas_object_show(bg);
360 bx = elm_box_add(win);
361 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
362 elm_win_resize_object_add(win, bx);
363 evas_object_show(bx);
365 li = elm_list_add(win);
366 evas_object_size_hint_align_set(li, EVAS_HINT_FILL, EVAS_HINT_FILL);
367 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
368 elm_list_mode_set(li, ELM_LIST_LIMIT);
369 // elm_list_multi_select_set(li, 1);
371 ic = elm_icon_add(win);
372 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
373 elm_icon_file_set(ic, buf, NULL);
374 list_it = elm_list_item_append(li, "Hello", ic, NULL, my_li2_sel, NULL);
375 elm_list_item_selected_set(list_it, EINA_TRUE);
376 ic = elm_icon_add(win);
377 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
378 elm_icon_scale_set(ic, 0, 0);
379 elm_icon_file_set(ic, buf, NULL);
380 elm_list_item_append(li, "world", ic, NULL, NULL, NULL);
381 ic = elm_icon_add(win);
382 elm_icon_standard_set(ic, "edit");
383 elm_icon_scale_set(ic, 0, 0);
384 elm_list_item_append(li, ".", ic, NULL, NULL, NULL);
386 ic = elm_icon_add(win);
387 elm_icon_standard_set(ic, "delete");
388 elm_icon_scale_set(ic, 0, 0);
389 ic2 = elm_icon_add(win);
390 elm_icon_standard_set(ic2, "clock");
391 elm_icon_scale_set(ic2, 0, 0);
392 elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
394 bx2 = elm_box_add(win);
395 elm_box_horizontal_set(bx2, EINA_TRUE);
397 ic = elm_icon_add(win);
398 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
399 elm_icon_file_set(ic, buf, NULL);
400 elm_icon_scale_set(ic, 0, 0);
401 evas_object_size_hint_align_set(ic, 0.5, 0.5);
402 elm_box_pack_end(bx2, ic);
403 evas_object_show(ic);
405 ic = elm_icon_add(win);
406 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
407 elm_icon_file_set(ic, buf, NULL);
408 elm_icon_scale_set(ic, 0, 0);
409 evas_object_size_hint_align_set(ic, 0.5, 0.0);
410 elm_box_pack_end(bx2, ic);
411 evas_object_show(ic);
412 elm_list_item_append(li, "are", bx2, NULL, NULL, NULL);
414 elm_list_item_append(li, "you", NULL, NULL, NULL, NULL);
415 elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL);
416 elm_list_item_append(li, "out", NULL, NULL, NULL, NULL);
417 elm_list_item_append(li, "there", NULL, NULL, NULL, NULL);
418 elm_list_item_append(li, "today", NULL, NULL, NULL, NULL);
419 elm_list_item_append(li, "?", NULL, NULL, NULL, NULL);
420 elm_list_item_append(li, "Here", NULL, NULL, NULL, NULL);
421 elm_list_item_append(li, "are", NULL, NULL, NULL, NULL);
422 elm_list_item_append(li, "some", NULL, NULL, NULL, NULL);
423 elm_list_item_append(li, "more", NULL, NULL, NULL, NULL);
424 elm_list_item_append(li, "items", NULL, NULL, NULL, NULL);
425 elm_list_item_append(li, "Longer label.", NULL, NULL, NULL, NULL);
429 elm_box_pack_end(bx, li);
430 evas_object_show(li);
432 bx2 = elm_box_add(win);
433 elm_box_horizontal_set(bx2, EINA_TRUE);
434 elm_box_homogeneous_set(bx2, EINA_TRUE);
435 evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
436 evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
438 bt = elm_button_add(win);
439 elm_object_text_set(bt, "Clear");
440 evas_object_smart_callback_add(bt, "clicked", my_li2_clear, li);
441 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
442 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
443 elm_box_pack_end(bx2, bt);
444 evas_object_show(bt);
446 elm_box_pack_end(bx, bx2);
447 evas_object_show(bx2);
449 evas_object_resize(win, 320, 300);
450 evas_object_show(win);
456 _bt_clicked(void *data __UNUSED__,
457 Evas_Object *obj __UNUSED__,
458 void *event_info __UNUSED__)
460 printf("button was clicked\n");
464 _it_clicked(void *data __UNUSED__,
465 Evas_Object *obj __UNUSED__,
466 void *event_info __UNUSED__)
468 printf("item was clicked\n");
472 test_list3(void *data __UNUSED__,
473 Evas_Object *obj __UNUSED__,
474 void *event_info __UNUSED__)
476 Evas_Object *win, *bg, *li, *ic, *ic2, *bx;
479 win = elm_win_add(NULL, "list3", ELM_WIN_BASIC);
480 elm_win_title_set(win, "List 3");
481 elm_win_autodel_set(win, EINA_TRUE);
483 bg = elm_bg_add(win);
484 elm_win_resize_object_add(win, bg);
485 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
486 evas_object_show(bg);
488 li = elm_list_add(win);
489 elm_win_resize_object_add(win, li);
490 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
491 elm_list_mode_set(li, ELM_LIST_COMPRESS);
493 ic = elm_icon_add(win);
494 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
495 elm_icon_scale_set(ic, 0, 0);
496 elm_icon_file_set(ic, buf, NULL);
497 ic2 = elm_button_add(win);
498 elm_object_text_set(ic2, "Click me");
499 evas_object_smart_callback_add(ic2, "clicked", _bt_clicked, NULL);
500 evas_object_propagate_events_set(ic2, 0);
501 elm_list_item_append(li, "Hello", ic, ic2, _it_clicked, NULL);
503 ic = elm_icon_add(win);
504 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
505 elm_icon_scale_set(ic, 0, 0);
506 elm_icon_file_set(ic, buf, NULL);
507 ic2 = elm_button_add(win);
508 elm_object_text_set(ic2, "Click me");
509 evas_object_smart_callback_add(ic2, "clicked", _bt_clicked, NULL);
510 elm_list_item_append(li, "world", ic, ic2, _it_clicked, NULL);
512 ic = elm_icon_add(win);
513 elm_icon_standard_set(ic, "edit");
514 elm_icon_scale_set(ic, 0, 0);
515 elm_list_item_append(li, ".", ic, NULL, NULL, NULL);
517 ic = elm_icon_add(win);
518 elm_icon_standard_set(ic, "delete");
519 elm_icon_scale_set(ic, 0, 0);
520 ic2 = elm_icon_add(win);
521 elm_icon_standard_set(ic2, "clock");
522 elm_icon_scale_set(ic2, 0, 0);
523 elm_list_item_append(li, "How", ic, ic2, NULL, NULL);
525 bx = elm_box_add(win);
526 elm_box_horizontal_set(bx, EINA_TRUE);
528 ic = elm_icon_add(win);
529 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
530 elm_icon_file_set(ic, buf, NULL);
531 elm_icon_scale_set(ic, 0, 0);
532 evas_object_size_hint_align_set(ic, 0.5, 0.5);
533 elm_box_pack_end(bx, ic);
534 evas_object_show(ic);
536 ic = elm_icon_add(win);
537 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
538 elm_icon_file_set(ic, buf, NULL);
539 elm_icon_scale_set(ic, 0, 0);
540 evas_object_size_hint_align_set(ic, 0.5, 0.0);
541 elm_box_pack_end(bx, ic);
542 evas_object_show(ic);
544 ic = elm_icon_add(win);
545 snprintf(buf, sizeof(buf), "%s/images/logo_small.png", elm_app_data_dir_get());
546 elm_icon_file_set(ic, buf, NULL);
547 elm_icon_scale_set(ic, 0, 0);
548 evas_object_size_hint_align_set(ic, 0.0, EVAS_HINT_EXPAND);
549 elm_box_pack_end(bx, ic);
550 evas_object_show(ic);
552 elm_list_item_append(li, "are", bx, NULL, NULL, NULL);
553 elm_list_item_append(li, "you", NULL, NULL, NULL, NULL);
554 elm_list_item_append(li, "doing", NULL, NULL, NULL, NULL);
555 elm_list_item_append(li, "out", NULL, NULL, NULL, NULL);
556 elm_list_item_append(li, "there", NULL, NULL, NULL, NULL);
557 elm_list_item_append(li, "today", NULL, NULL, NULL, NULL);
558 elm_list_item_append(li, "?", NULL, NULL, NULL, NULL);
559 elm_list_item_append(li, "Here", NULL, NULL, NULL, NULL);
560 elm_list_item_append(li, "are", NULL, NULL, NULL, NULL);
561 elm_list_item_append(li, "some", NULL, NULL, NULL, NULL);
562 elm_list_item_append(li, "more", NULL, NULL, NULL, NULL);
563 elm_list_item_append(li, "items", NULL, NULL, NULL, NULL);
564 elm_list_item_append(li, "Is this label long enough?", NULL, NULL, NULL, NULL);
565 elm_list_item_append(li, "Maybe this one is even longer so we can test long long items.", NULL, NULL, NULL, NULL);
569 evas_object_show(li);
571 evas_object_resize(win, 320, 300);
572 evas_object_show(win);
575 ///////////////////////////////////////////////////////////////////////////////////////
579 Evas_Object *naviframe, *win;
583 test_list4_back_cb(void *data,
584 Evas_Object *obj __UNUSED__,
585 void *event_info __UNUSED__)
587 struct Pginfo *info = data;
590 elm_naviframe_item_pop(info->naviframe);
594 test_list4_swipe(void *data,
595 Evas_Object *obj __UNUSED__,
598 Evas_Object *box, *entry, *button;
599 struct Pginfo *info = data;
601 if ((!event_info) || (!data)) return;
603 item_data = elm_object_item_data_get(event_info);
605 box = elm_box_add(info->win);
606 elm_box_horizontal_set(box, EINA_FALSE);
607 elm_box_homogeneous_set(box, EINA_FALSE);
608 evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
609 evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
610 evas_object_show(box);
612 entry = elm_entry_add(info->win);
613 elm_entry_scrollable_set(entry, EINA_TRUE);
614 elm_entry_editable_set(entry, EINA_FALSE);
615 elm_object_text_set(entry, item_data);
616 evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
617 evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
618 evas_object_show(entry);
620 button = elm_button_add(info->win);
621 elm_object_text_set(button, "back");
622 evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0);
623 evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0);
624 evas_object_smart_callback_add(button, "clicked", test_list4_back_cb, info);
625 evas_object_show(button);
627 elm_box_pack_start(box, entry);
628 elm_box_pack_end(box, button);
630 elm_naviframe_item_simple_push(info->naviframe, box);
634 test_list4(void *data __UNUSED__,
635 Evas_Object *obj __UNUSED__,
636 void *event_info __UNUSED__)
638 Evas_Object *win, *bg, *li, *ic, *ic2, *naviframe;
639 static struct Pginfo info = {NULL, NULL};
642 win = elm_win_add(NULL, "list4", ELM_WIN_BASIC);
643 elm_win_title_set(win, "List 4");
644 elm_win_autodel_set(win, EINA_TRUE);
647 bg = elm_bg_add(win);
648 elm_win_resize_object_add(win, bg);
649 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
650 evas_object_show(bg);
652 naviframe = elm_naviframe_add(win);
653 elm_win_resize_object_add(win, naviframe);
654 evas_object_size_hint_weight_set(naviframe, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
655 evas_object_size_hint_align_set(naviframe, EVAS_HINT_FILL, EVAS_HINT_FILL);
656 evas_object_show(naviframe);
657 info.naviframe = naviframe;
659 li = elm_list_add(win);
660 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
661 elm_list_mode_set(li, ELM_LIST_COMPRESS);
662 evas_object_smart_callback_add(li, "swipe", test_list4_swipe, &info);
663 elm_naviframe_item_simple_push(naviframe, li);
665 static char pf_data[] = "Pink Floyd were formed in 1965, and originally consisted of university" \
666 "students Roger Waters, Nick Mason, Richard Wright, and Syd Barrett. The group were a popular" \
667 "fixture on London's underground music scene, and under Barrett's leadership released two " \
668 "charting singles, \"Arnold Layne\" and \"See Emily Play\", and a successful debut album, " \
669 "ThePiper at the Gates of Dawn. In 1968, guitarist and singer David Gilmour joined the " \
670 "line-up. Barrett was soon removed, due to his increasingly erratic behaviour. Following " \
671 "Barrett's departure, bass player and singer Roger Waters became the band's lyricist and " \
672 "conceptual leader, with Gilmour assuming lead guitar and much of the vocals. With this " \
673 "line-up, Floyd went on to achieve worldwide critical and commercial success with the " \
674 "conceptalbums The Dark Side of the Moon, Wish You Were Here, Animals, and The Wall.";
675 ic = elm_icon_add(win);
676 snprintf(buf, sizeof(buf), "%s/images/mystrale.jpg", elm_app_data_dir_get());
677 elm_icon_scale_set(ic, 0, 0);
678 elm_icon_file_set(ic, buf, NULL);
679 elm_list_item_append(li, "Pink Floyd", ic, NULL, NULL, &pf_data);
681 static char ds_data[] = "Dire Straits were a British rock band, formed by Mark Knopfler " \
682 "(lead vocals and lead guitar), his younger brother David Knopfler (rhythm guitar and " \
683 "backing vocals), John Illsley (bass guitar and backing vocals), and Pick Withers (drums " \
684 "and percussion), and managed by Ed Bicknell, active between 1977 and 1995. Although the " \
685 "band was formed in an era when punk rock was at the forefront, Dire Straits played a more "
686 "bluesy style, albeit with a stripped-down sound that appealed to audiences weary of the " \
687 "overproduced stadium rock of the 1970s.[citation needed] In their early days, Mark and " \
688 "David requested that pub owners turn down their sound so that patrons could converse " \
689 "while the band played, an indication of their unassuming demeanor. Despite this oddly " \
690 "self-effacing approach to rock and roll, Dire Straits soon became hugely successful, with " \
691 "their first album going multi-platinum globally.";
692 ic = elm_icon_add(win);
693 snprintf(buf, sizeof(buf), "%s/images/mystrale_2.jpg", elm_app_data_dir_get());
694 elm_icon_scale_set(ic, 0, 0);
695 elm_icon_file_set(ic, buf, NULL);
696 elm_list_item_append(li, "Dire Straits", ic, NULL, NULL, &ds_data);
698 static char uh_data[] = "Uriah Heep are an English hard rock band. The band released several " \
699 "commercially successful albums in the 1970s such as Uriah Heep Live (1973), but their " \
700 "audience declined by the 1980s, to the point where they became essentially a cult band in " \
701 "the United States and United Kingdom. Uriah Heep maintain a significant following in " \
702 "Germany, the Netherlands, Scandinavia, the Balkans, Japan and Russia, where they still " \
703 "perform at stadium-sized venues.";
704 ic = elm_icon_add(win);
705 snprintf(buf, sizeof(buf), "%s/images/icon_17.png", elm_app_data_dir_get());
706 elm_icon_scale_set(ic, 1, 1);
707 elm_icon_file_set(ic, buf, NULL);
708 elm_list_item_append(li, "Uriah Heep", ic, NULL, NULL, &uh_data);
710 static char r_data[] = "Rush is a Canadian rock band formed in August 1968, in the Willowdale " \
711 "neighbourhood of Toronto, Ontario. The band is composed of bassist, keyboardist, and lead " \
712 "vocalist Geddy Lee, guitarist Alex Lifeson, and drummer and lyricist Neil Peart. The band " \
713 "and its membership went through a number of re-configurations between 1968 and 1974, " \
714 "achieving their current form when Peart replaced original drummer John Rutsey in July 1974, " \
715 "two weeks before the group's first United States tour.";
716 ic = elm_icon_add(win);
717 snprintf(buf, sizeof(buf), "%s/images/icon_21.png", elm_app_data_dir_get());
718 elm_icon_scale_set(ic, 0, 0);
719 elm_icon_file_set(ic, buf, NULL);
720 ic2 = elm_icon_add(win);
721 elm_icon_standard_set(ic2, "clock");
722 elm_icon_scale_set(ic2, 0, 0);
723 elm_list_item_append(li, "Rush", ic, ic2, NULL, &r_data);
727 evas_object_show(li);
728 evas_object_resize(win, 320, 300);
729 evas_object_show(win);
732 /////////////////////////////////////////////////////////////////////////////////////////
735 Evas_Object *win, *list;
739 test_list5_item_del(void *data,
740 Evas_Object *obj __UNUSED__,
741 void *event_info __UNUSED__)
743 elm_object_item_del(data);
747 test_list5_swipe(void *data __UNUSED__,
748 Evas_Object *obj __UNUSED__,
752 struct list5_data_cb *info = elm_object_item_data_get(event_info);
754 if (elm_object_item_part_content_get(event_info, "end")) return;
756 button = elm_button_add(info->win);
757 elm_object_text_set(button, "delete");
758 evas_object_propagate_events_set(button, 0);
759 evas_object_smart_callback_add(button, "clicked", test_list5_item_del,
761 elm_object_item_part_content_set(event_info, "end", button);
765 test_list5(void *data __UNUSED__,
766 Evas_Object *obj __UNUSED__,
767 void *event_info __UNUSED__)
769 Evas_Object *win, *bg, *li;
770 static struct list5_data_cb info;
772 win = elm_win_add(NULL, "list5", ELM_WIN_BASIC);
773 elm_win_title_set(win, "List 5");
774 elm_win_autodel_set(win, EINA_TRUE);
777 bg = elm_bg_add(win);
778 elm_win_resize_object_add(win, bg);
779 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
780 evas_object_show(bg);
782 li = elm_list_add(win);
783 evas_object_size_hint_weight_set(li, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
784 elm_list_mode_set(li, ELM_LIST_COMPRESS);
785 evas_object_smart_callback_add(li, "swipe", test_list5_swipe, NULL);
786 elm_win_resize_object_add(win, li);
787 evas_object_show(li);
790 elm_list_item_append(li, "Network", NULL, NULL, NULL, &info);
791 elm_list_item_append(li, "Audio", NULL, NULL, NULL, &info);
794 evas_object_resize(win, 320, 300);
795 evas_object_show(win);