svn update: 51469 (latest:51480)
[framework/uifw/elementary.git] / src / bin / test_menu.c
1 #include <Elementary.h>
2 #ifndef ELM_LIB_QUICKLAUNCH
3
4 static Evas_Object *win, *bg, *menu, *rect, *ic;;
5 static char buf[PATH_MAX];
6
7 static void
8 _show(void *data, Evas *e, Evas_Object *obj, void *event_info)
9 {
10    Evas_Event_Mouse_Down *ev = event_info; 
11    elm_menu_move(data, ev->canvas.x, ev->canvas.y);
12    evas_object_show(data);
13 }
14
15 static void 
16 _populate_4(Elm_Menu_Item *item)
17 {
18    Evas_Object *ic;
19    Elm_Menu_Item *item2, *item3;
20
21    ic = elm_icon_add(win);
22    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
23    elm_icon_file_set(ic, buf, NULL);
24    elm_menu_item_add(menu, item, ic, "menu 2", NULL, NULL);
25
26    ic = elm_icon_add(win);
27    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
28    elm_icon_file_set(ic, buf, NULL);
29
30    item2 = elm_menu_item_add(menu, item, ic, "menu 3", NULL, NULL);
31    
32    elm_menu_item_separator_add(menu, item);
33
34    ic = elm_icon_add(win);
35    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
36    elm_icon_file_set(ic, buf, NULL);
37    item3 = elm_menu_item_add(menu, item, ic, "Disabled item", NULL, NULL);
38    elm_menu_item_disabled_set(item3, 1);
39
40    ic = elm_icon_add(win);
41    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
42    elm_icon_file_set(ic, buf, NULL);
43    item3 = elm_menu_item_add(menu, item, ic, "Disabled item", NULL, NULL);
44    elm_menu_item_disabled_set(item3, 1);
45
46    ic = elm_icon_add(win);
47    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
48    elm_icon_file_set(ic, buf, NULL);
49    item3 = elm_menu_item_add(menu, item, ic, "Disabled item", NULL, NULL);
50    elm_menu_item_disabled_set(item3, 1);
51 }
52
53 static void 
54 _populate_3(Elm_Menu_Item *item)
55 {
56    Evas_Object *ic;
57    Elm_Menu_Item *item2, *item3;
58
59    ic = elm_icon_add(win);
60    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
61    elm_icon_file_set(ic, buf, NULL);
62    elm_menu_item_add(menu, item, ic, "menu 2", NULL, NULL);
63
64    ic = elm_icon_add(win);
65    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
66    elm_icon_file_set(ic, buf, NULL);
67
68    item2 = elm_menu_item_add(menu, item, ic, "menu 3", NULL, NULL);
69    
70    elm_menu_item_separator_add(menu,item);
71
72    ic = elm_icon_add(win);
73    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
74    elm_icon_file_set(ic, buf, NULL);
75    item3 = elm_menu_item_add(menu, item, ic, "Disabled item", NULL, NULL);
76    elm_menu_item_disabled_set(item3, 1);
77 }
78
79 static void 
80 _populate_2(Elm_Menu_Item *item)
81 {
82    Evas_Object *ic;
83    Elm_Menu_Item *item2, *item3;
84
85    ic = elm_icon_add(win);
86    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
87    elm_icon_file_set(ic, buf, NULL);
88    elm_menu_item_add(menu, item, ic, "menu 2", NULL, NULL);
89
90    ic = elm_icon_add(win);
91    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
92    elm_icon_file_set(ic, buf, NULL);
93
94    item2 = elm_menu_item_add(menu, item, ic, "menu 3", NULL, NULL);
95    
96    _populate_3(item2);
97
98    elm_menu_item_separator_add(menu,item);
99    elm_menu_item_separator_add(menu,item);
100    elm_menu_item_separator_add(menu,item);
101    elm_menu_item_separator_add(menu,item);
102    elm_menu_item_separator_add(menu,item);
103    elm_menu_item_separator_add(menu,item);
104    elm_menu_item_separator_add(menu,item);
105
106    ic = elm_icon_add(win);
107    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
108    elm_icon_file_set(ic, buf, NULL);
109
110    item2 = elm_menu_item_add(menu, item, ic, "menu 2", NULL, NULL);
111
112    elm_menu_item_separator_add(menu,item);
113
114    ic = elm_icon_add(win);
115    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
116    elm_icon_file_set(ic, buf, NULL);
117    item3 = elm_menu_item_add(menu, item, ic, "Disabled item", NULL, NULL);
118    elm_menu_item_disabled_set(item3, 1);
119
120    _populate_4(item2);
121 }
122
123 static void 
124 _populate_1(Elm_Menu_Item *item)
125 {
126    Elm_Menu_Item *item2;
127
128    ic = elm_icon_add(win);
129    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
130    elm_icon_file_set(ic, buf, NULL);
131    item2 = elm_menu_item_add(menu, item, ic, "menu 1", NULL, NULL);
132
133    _populate_2(item2);
134 }
135
136 void
137 test_menu(void *data, Evas_Object *obj, void *event_info)
138 {
139    Elm_Menu_Item *item;
140
141    win = elm_win_add(NULL, "Menu", ELM_WIN_BASIC);
142    elm_win_title_set(win, "Menu");
143    elm_win_autodel_set(win, 1);
144
145    bg = elm_bg_add(win);
146    elm_win_resize_object_add(win, bg);
147    evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
148    evas_object_show(bg);
149
150    rect = evas_object_rectangle_add(evas_object_evas_get(win));
151    elm_win_resize_object_add(win, rect);
152    evas_object_color_set(rect, 0, 0, 0, 0);
153    evas_object_show(rect);
154
155    menu = elm_menu_add(win);
156    item = elm_menu_item_add(menu, NULL, NULL, "first item", NULL, NULL);
157
158    ic = elm_icon_add(win);
159    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
160    elm_icon_file_set(ic, buf, NULL);
161
162    item = elm_menu_item_add(menu, NULL, ic, "second item", NULL, NULL);
163    _populate_1(item);
164
165    ic = elm_icon_add(win);
166    snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
167    elm_icon_file_set(ic, buf, NULL);
168    elm_menu_item_add(menu, item, ic, "sub menu", NULL, NULL);
169
170    evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _show, menu);
171
172    evas_object_resize(win, 350, 200);
173    evas_object_show(win);
174 }
175
176 #endif