[Elm_genlist] Added check in order to avoid unnecessary error/warning.
[framework/uifw/elementary.git] / src / examples / toolbar_example_03.c
1 /**
2  * Simple Elementary's <b>toolbar widget</b> example, illustrating its
3  * usage and API.
4  *
5  * See stdout/stderr for output. Compile with:
6  *
7  * @verbatim
8  * gcc -g toolbar_example_03.c -o toolbar_example_03 `pkg-config --cflags --libs elementary`
9  * @endverbatim
10  */
11
12 #include <Elementary.h>
13
14 static void
15 _on_done(void *data,
16          Evas_Object *obj,
17          void *event_info)
18 {
19    elm_exit();
20 }
21
22 EAPI_MAIN int
23 elm_main(int argc, char **argv)
24 {
25    Evas_Object *win, *bg, *bx, *tb, *bt, *menu;
26    Elm_Object_Item *tb_it;
27
28    win = elm_win_add(NULL, "toolbar", ELM_WIN_BASIC);
29    elm_win_title_set(win, "Toolbar Example");
30    evas_object_smart_callback_add(win, "delete,request", _on_done, NULL);
31
32    bg = elm_bg_add(win);
33    elm_win_resize_object_add(win, bg);
34    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
35    evas_object_show(bg);
36
37    bx = elm_box_add(win);
38    elm_win_resize_object_add(win, bx);
39    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
40    evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
41    evas_object_show(bx);
42
43    bt = elm_button_add(win);
44    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
45    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
46    elm_object_text_set(bt, "Button");
47    evas_object_show(bt);
48
49    tb = elm_toolbar_add(win);
50    evas_object_size_hint_weight_set(tb, 0.0, 0.0);
51    evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, 0.0);
52    evas_object_show(tb);
53
54    elm_toolbar_item_append(tb, "document-print", "Print", NULL, NULL);
55    elm_toolbar_item_append(tb, "folder-new", "Folder", NULL, NULL);
56    elm_toolbar_item_append(tb, "clock", "Clock", NULL, NULL);
57    elm_toolbar_item_append(tb, "refresh", "Update", NULL, NULL);
58
59    elm_toolbar_menu_parent_set(tb, win);
60
61    tb_it = elm_toolbar_item_append(tb, "mail-send", "Send Mail", NULL, NULL);
62    elm_toolbar_item_menu_set(tb_it, EINA_TRUE);
63
64    menu = elm_toolbar_item_menu_get(tb_it);
65    elm_menu_item_add(menu, NULL, "emptytrash", "Empty Trash", NULL, NULL);
66    elm_menu_item_add(menu, NULL, "trashcan_full", "Full Trash", NULL, NULL);
67
68    elm_toolbar_item_priority_set(tb_it, 10);
69
70    elm_box_pack_end(bx, tb);
71    elm_box_pack_end(bx, bt);
72
73    evas_object_resize(win, 230, 200);
74    evas_object_show(win);
75
76    elm_run();
77    elm_shutdown();
78
79    return 0;
80 }
81 ELM_MAIN()