2 # include "elementary_config.h"
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
8 _bt(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
10 Evas_Object *notify = data;
11 evas_object_show(notify);
15 _bt_close(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
17 Evas_Object *notify = data;
18 evas_object_hide(notify);
22 _bt_timer_close(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
24 Evas_Object *notify = data;
25 elm_notify_timeout_set(notify, 2.0);
29 _notify_timeout(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
31 printf("Notify timed out!\n");
35 _notify_block(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
37 printf("Notify block area clicked!!\n");
41 test_notify(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
43 Evas_Object *win, *bx, *tb, *notify, *bt, *lb;
45 win = elm_win_util_standard_add("notify", "Notify");
46 elm_win_autodel_set(win, EINA_TRUE);
48 tb = elm_table_add(win);
49 elm_win_resize_object_add(win, tb);
50 evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
54 notify = elm_notify_add(win);
55 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
56 elm_notify_align_set(notify, 0.5, 0.0);
58 bx = elm_box_add(win);
59 elm_object_content_set(notify, bx);
60 elm_box_horizontal_set(bx, EINA_TRUE);
63 lb = elm_label_add(win);
64 elm_object_text_set(lb, "This position is the default.");
65 elm_box_pack_end(bx, lb);
68 bt = elm_button_add(win);
69 elm_object_text_set(bt, "Close");
70 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
71 elm_box_pack_end(bx, bt);
74 bt = elm_button_add(win);
75 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
76 elm_object_text_set(bt, "Top");
77 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
78 elm_table_pack(tb, bt, 2, 1, 1, 1);
82 notify = elm_notify_add(win);
83 elm_notify_allow_events_set(notify, EINA_FALSE);
84 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
85 elm_notify_align_set(notify, 0.5, 1.0);
87 elm_notify_timeout_set(notify, 5.0);
88 evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL);
89 evas_object_smart_callback_add(notify, "block,clicked", _notify_block, NULL);
91 bx = elm_box_add(win);
92 elm_object_content_set(notify, bx);
93 elm_box_horizontal_set(bx, EINA_TRUE);
96 lb = elm_label_add(win);
97 elm_object_text_set(lb, "Bottom position. This notify uses a timeout of 5 sec.<br/>"
98 "<b>The events outside the window are blocked.</b>");
99 elm_box_pack_end(bx, lb);
100 evas_object_show(lb);
102 bt = elm_button_add(win);
103 elm_object_text_set(bt, "Close");
104 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
105 elm_box_pack_end(bx, bt);
106 evas_object_show(bt);
108 bt = elm_button_add(win);
109 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
110 elm_object_text_set(bt, "Bottom");
111 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
112 elm_table_pack(tb, bt, 2, 3, 1, 1);
113 evas_object_show(bt);
116 notify = elm_notify_add(win);
117 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
118 elm_notify_align_set(notify, 0.0, 0.5);
119 elm_notify_timeout_set(notify, 10.0);
120 evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL);
122 bx = elm_box_add(win);
123 elm_object_content_set(notify, bx);
124 elm_box_horizontal_set(bx, EINA_TRUE);
125 evas_object_show(bx);
127 lb = elm_label_add(win);
128 elm_object_text_set(lb, "Left position. This notify uses a timeout of 10 sec.");
129 elm_box_pack_end(bx, lb);
130 evas_object_show(lb);
132 bt = elm_button_add(win);
133 elm_object_text_set(bt, "Close");
134 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
135 elm_box_pack_end(bx, bt);
136 evas_object_show(bt);
138 bt = elm_button_add(win);
139 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
140 elm_object_text_set(bt, "Left");
141 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
142 elm_table_pack(tb, bt, 1, 2, 1, 1);
143 evas_object_show(bt);
146 notify = elm_notify_add(win);
147 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
148 elm_notify_align_set(notify, 0.5, 0.5);
149 elm_notify_timeout_set(notify, 10.0);
150 evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL);
152 bx = elm_box_add(win);
153 elm_object_content_set(notify, bx);
154 elm_box_horizontal_set(bx, EINA_TRUE);
155 evas_object_show(bx);
157 lb = elm_label_add(win);
158 elm_object_text_set(lb, "Center position. This notify uses a timeout of 10 sec.");
159 elm_box_pack_end(bx, lb);
160 evas_object_show(lb);
162 bt = elm_button_add(win);
163 elm_object_text_set(bt, "Close");
164 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
165 elm_box_pack_end(bx, bt);
166 evas_object_show(bt);
168 bt = elm_button_add(win);
169 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
170 elm_object_text_set(bt, "Center");
171 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
172 elm_table_pack(tb, bt, 2, 2, 1, 1);
173 evas_object_show(bt);
176 notify = elm_notify_add(win);
177 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
178 elm_notify_align_set(notify, 1.0, 0.5);
180 bx = elm_box_add(win);
181 elm_object_content_set(notify, bx);
182 elm_box_horizontal_set(bx, EINA_TRUE);
183 evas_object_show(bx);
185 lb = elm_label_add(win);
186 elm_object_text_set(lb, "Right position.");
187 elm_box_pack_end(bx, lb);
188 evas_object_show(lb);
190 bt = elm_button_add(win);
191 elm_object_text_set(bt, "Close");
192 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
193 elm_box_pack_end(bx, bt);
194 evas_object_show(bt);
196 bt = elm_button_add(win);
197 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
198 elm_object_text_set(bt, "Right");
199 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
200 elm_table_pack(tb, bt, 3, 2, 1, 1);
201 evas_object_show(bt);
204 notify = elm_notify_add(win);
205 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
206 elm_notify_align_set(notify, 0.0, 0.0);
208 bx = elm_box_add(win);
209 elm_object_content_set(notify, bx);
210 elm_box_horizontal_set(bx, EINA_TRUE);
211 evas_object_show(bx);
213 lb = elm_label_add(win);
214 elm_object_text_set(lb, "Top Left position.");
215 elm_box_pack_end(bx, lb);
216 evas_object_show(lb);
218 bt = elm_button_add(win);
219 elm_object_text_set(bt, "Close");
220 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
221 elm_box_pack_end(bx, bt);
222 evas_object_show(bt);
224 bt = elm_button_add(win);
225 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
226 elm_object_text_set(bt, "Top Left");
227 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
228 elm_table_pack(tb, bt, 1, 1, 1, 1);
229 evas_object_show(bt);
232 notify = elm_notify_add(win);
233 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
234 elm_notify_align_set(notify, 1.0, 0.0);
236 bx = elm_box_add(win);
237 elm_object_content_set(notify, bx);
238 elm_box_horizontal_set(bx, EINA_TRUE);
239 evas_object_show(bx);
241 lb = elm_label_add(win);
242 elm_object_text_set(lb, "Top Right position.");
243 elm_box_pack_end(bx, lb);
244 evas_object_show(lb);
246 bt = elm_button_add(win);
247 elm_object_text_set(bt, "Close");
248 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
249 elm_box_pack_end(bx, bt);
250 evas_object_show(bt);
252 bt = elm_button_add(win);
253 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
254 elm_object_text_set(bt, "Top Right");
255 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
256 elm_table_pack(tb, bt, 3, 1, 1, 1);
257 evas_object_show(bt);
259 // Notify bottom left
260 notify = elm_notify_add(win);
261 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
262 elm_notify_align_set(notify, 0.0, 1.0);
264 bx = elm_box_add(win);
265 elm_object_content_set(notify, bx);
266 elm_box_horizontal_set(bx, EINA_TRUE);
267 evas_object_show(bx);
269 lb = elm_label_add(win);
270 elm_object_text_set(lb, "Bottom Left position.");
271 elm_box_pack_end(bx, lb);
272 evas_object_show(lb);
274 bt = elm_button_add(win);
275 elm_object_text_set(bt, "Close");
276 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
277 elm_box_pack_end(bx, bt);
278 evas_object_show(bt);
280 bt = elm_button_add(win);
281 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
282 elm_object_text_set(bt, "Bottom Left");
283 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
284 elm_table_pack(tb, bt, 1, 3, 1, 1);
285 evas_object_show(bt);
287 // Notify bottom right
288 notify = elm_notify_add(win);
289 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
290 elm_notify_align_set(notify, 1.0, 1.0);
292 bx = elm_box_add(win);
293 elm_object_content_set(notify, bx);
294 elm_box_horizontal_set(bx, EINA_TRUE);
295 evas_object_show(bx);
297 lb = elm_label_add(win);
298 elm_object_text_set(lb, "Bottom Right position.");
299 elm_box_pack_end(bx, lb);
300 evas_object_show(lb);
302 bt = elm_button_add(win);
303 elm_object_text_set(bt, "Close in 2s");
304 evas_object_smart_callback_add(bt, "clicked", _bt_timer_close, notify);
305 elm_box_pack_end(bx, bt);
306 evas_object_show(bt);
308 bt = elm_button_add(win);
309 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
310 elm_object_text_set(bt, "Bottom Right");
311 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
312 elm_table_pack(tb, bt, 3, 3, 1, 1);
313 evas_object_show(bt);
316 notify = elm_notify_add(win);
317 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
318 elm_notify_align_set(notify, ELM_NOTIFY_ALIGN_FILL, 0.0);
319 elm_notify_timeout_set(notify, 5.0);
321 bx = elm_box_add(win);
322 elm_object_content_set(notify, bx);
323 elm_box_horizontal_set(bx, EINA_TRUE);
324 evas_object_show(bx);
326 lb = elm_label_add(win);
327 elm_object_text_set(lb, "Fill top. This notify fills horizontal area.<br/>"
328 "<b>elm_notify_align_set(notify, ELM_NOTIFY_ALIGN_FILL, 0.0); </b>");
329 elm_box_pack_end(bx, lb);
330 evas_object_show(lb);
332 bt = elm_button_add(win);
333 elm_object_text_set(bt, "Close");
334 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
335 elm_box_pack_end(bx, bt);
336 evas_object_show(bt);
338 bt = elm_button_add(win);
339 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
340 elm_object_text_set(bt, "Top fill");
341 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
342 elm_table_pack(tb, bt, 1, 0, 3, 1);
343 evas_object_show(bt);
345 // Notify bottom fill
346 notify = elm_notify_add(win);
347 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
348 elm_notify_align_set(notify, ELM_NOTIFY_ALIGN_FILL, 1.0);
349 elm_notify_timeout_set(notify, 5.0);
351 bx = elm_box_add(win);
352 elm_object_content_set(notify, bx);
353 elm_box_horizontal_set(bx, EINA_TRUE);
354 evas_object_show(bx);
356 lb = elm_label_add(win);
357 evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
358 evas_object_size_hint_align_set(lb, 0.0, 0.5);
359 elm_object_text_set(lb, "Fill Bottom. This notify fills horizontal area.<br/>"
360 "<b>elm_notify_align_set(notify, ELM_NOTIFY_ALIGN_FILL, 1.0); </b>");
361 elm_box_pack_end(bx, lb);
362 evas_object_show(lb);
364 bt = elm_button_add(win);
365 elm_object_text_set(bt, "Close");
366 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
367 elm_box_pack_end(bx, bt);
368 evas_object_show(bt);
370 bt = elm_button_add(win);
371 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
372 elm_object_text_set(bt, "Bottom fill");
373 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
374 elm_table_pack(tb, bt, 1, 4, 3, 1);
375 evas_object_show(bt);
378 notify = elm_notify_add(win);
379 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
380 elm_notify_align_set(notify, 0.0, EVAS_HINT_FILL);
381 elm_notify_timeout_set(notify, 5.0);
383 bx = elm_box_add(win);
384 elm_object_content_set(notify, bx);
385 evas_object_show(bx);
387 lb = elm_label_add(win);
388 elm_object_text_set(lb, "Left fill.");
389 elm_box_pack_end(bx, lb);
390 evas_object_show(lb);
392 bt = elm_button_add(win);
393 elm_object_text_set(bt, "Close");
394 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
395 elm_box_pack_end(bx, bt);
396 evas_object_show(bt);
398 bt = elm_button_add(win);
399 evas_object_size_hint_align_set(bt, 0.5, EVAS_HINT_FILL);
400 elm_object_text_set(bt, "Left fill");
401 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
402 elm_table_pack(tb, bt, 0, 1, 1, 3);
403 evas_object_show(bt);
406 notify = elm_notify_add(win);
407 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
408 elm_notify_align_set(notify, 1.0, EVAS_HINT_FILL);
409 elm_notify_timeout_set(notify, 5.0);
411 bx = elm_box_add(win);
412 elm_object_content_set(notify, bx);
413 evas_object_show(bx);
415 lb = elm_label_add(win);
416 elm_object_text_set(lb, "Right fill.");
417 elm_box_pack_end(bx, lb);
418 evas_object_show(lb);
420 bt = elm_button_add(win);
421 elm_object_text_set(bt, "Close");
422 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
423 elm_box_pack_end(bx, bt);
424 evas_object_show(bt);
426 bt = elm_button_add(win);
427 evas_object_size_hint_align_set(bt, 0.5, EVAS_HINT_FILL);
428 elm_object_text_set(bt, "Right fill");
429 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
430 elm_table_pack(tb, bt, 4, 1, 1, 3);
431 evas_object_show(bt);
433 evas_object_show(win);
434 evas_object_resize(win, 400, 400);