1 #include <Elementary.h>
3 # include "elementary_config.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, *bg, *bx, *tb, *notify, *bt, *lb;
45 win = elm_win_add(NULL, "Notify", ELM_WIN_BASIC);
46 elm_win_title_set(win, "Notify");
47 elm_win_autodel_set(win, 1);
50 elm_win_resize_object_add(win, bg);
51 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
54 tb = elm_table_add(win);
55 elm_win_resize_object_add(win, tb);
56 evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
59 notify = elm_notify_add(win);
60 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
62 bx = elm_box_add(win);
63 elm_notify_content_set(notify, bx);
64 elm_box_horizontal_set(bx, 1);
67 lb = elm_label_add(win);
68 elm_label_label_set(lb, "This position is the default.");
69 elm_box_pack_end(bx, lb);
72 bt = elm_button_add(win);
73 elm_button_label_set(bt, "Close");
74 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
75 elm_box_pack_end(bx, bt);
78 bt = elm_button_add(win);
79 elm_button_label_set(bt, "Top");
80 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
81 elm_table_pack(tb, bt, 1, 0, 1, 1);
84 notify = elm_notify_add(win);
85 elm_notify_repeat_events_set(notify, EINA_FALSE);
86 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
87 elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_BOTTOM);
88 elm_notify_timeout_set(notify, 5.0);
89 evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL);
90 evas_object_smart_callback_add(notify, "block,clicked", _notify_block, NULL);
92 bx = elm_box_add(win);
93 elm_notify_content_set(notify, bx);
94 elm_box_horizontal_set(bx, 1);
97 lb = elm_label_add(win);
98 elm_label_label_set(lb, "Bottom position. This notify use a timeout of 5 sec.<br>"
99 "<b>The events outside the window are blocked.</b>");
100 elm_box_pack_end(bx, lb);
101 evas_object_show(lb);
103 bt = elm_button_add(win);
104 elm_button_label_set(bt, "Close");
105 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
106 elm_box_pack_end(bx, bt);
107 evas_object_show(bt);
109 bt = elm_button_add(win);
110 elm_button_label_set(bt, "Bottom");
111 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
112 elm_table_pack(tb, bt, 1, 2, 1, 1);
113 evas_object_show(bt);
115 notify = elm_notify_add(win);
116 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
117 elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_LEFT);
118 elm_notify_timeout_set(notify, 10.0);
119 evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL);
121 bx = elm_box_add(win);
122 elm_notify_content_set(notify, bx);
123 elm_box_horizontal_set(bx, 1);
124 evas_object_show(bx);
126 lb = elm_label_add(win);
127 elm_label_label_set(lb, "Left position. This notify use a timeout of 10 sec.");
128 elm_box_pack_end(bx, lb);
129 evas_object_show(lb);
131 bt = elm_button_add(win);
132 elm_button_label_set(bt, "Close");
133 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
134 elm_box_pack_end(bx, bt);
135 evas_object_show(bt);
137 bt = elm_button_add(win);
138 elm_button_label_set(bt, "Left");
139 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
140 elm_table_pack(tb, bt, 0, 1, 1, 1);
141 evas_object_show(bt);
143 notify = elm_notify_add(win);
144 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
145 elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_CENTER);
146 elm_notify_timeout_set(notify, 10);
147 elm_notify_timeout_set(notify, 10.0);
148 evas_object_smart_callback_add(notify, "timeout", _notify_timeout, NULL);
150 bx = elm_box_add(win);
151 elm_notify_content_set(notify, bx);
152 elm_box_horizontal_set(bx, 1);
153 evas_object_show(bx);
155 lb = elm_label_add(win);
156 elm_label_label_set(lb, "Center position. This notify use a timeout of 10 sec.");
157 elm_box_pack_end(bx, lb);
158 evas_object_show(lb);
160 bt = elm_button_add(win);
161 elm_button_label_set(bt, "Close");
162 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
163 elm_box_pack_end(bx, bt);
164 evas_object_show(bt);
166 bt = elm_button_add(win);
167 elm_button_label_set(bt, "Center");
168 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
169 elm_table_pack(tb, bt, 1, 1, 1, 1);
170 evas_object_show(bt);
172 notify = elm_notify_add(win);
173 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
174 elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_RIGHT);
176 bx = elm_box_add(win);
177 elm_notify_content_set(notify, bx);
178 elm_box_horizontal_set(bx, 1);
179 evas_object_show(bx);
181 lb = elm_label_add(win);
182 elm_label_label_set(lb, "Right position.");
183 elm_box_pack_end(bx, lb);
184 evas_object_show(lb);
186 bt = elm_button_add(win);
187 elm_button_label_set(bt, "Close");
188 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
189 elm_box_pack_end(bx, bt);
190 evas_object_show(bt);
192 bt = elm_button_add(win);
193 elm_button_label_set(bt, "Right");
194 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
195 elm_table_pack(tb, bt, 2, 1, 1, 1);
196 evas_object_show(bt);
198 notify = elm_notify_add(win);
199 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
200 elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_TOP_LEFT);
202 bx = elm_box_add(win);
203 elm_notify_content_set(notify, bx);
204 elm_box_horizontal_set(bx, 1);
205 evas_object_show(bx);
207 lb = elm_label_add(win);
208 elm_label_label_set(lb, "Top Left position.");
209 elm_box_pack_end(bx, lb);
210 evas_object_show(lb);
212 bt = elm_button_add(win);
213 elm_button_label_set(bt, "Close");
214 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
215 elm_box_pack_end(bx, bt);
216 evas_object_show(bt);
218 bt = elm_button_add(win);
219 elm_button_label_set(bt, "Top Left");
220 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
221 elm_table_pack(tb, bt, 0, 0, 1, 1);
222 evas_object_show(bt);
224 notify = elm_notify_add(win);
225 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
226 elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_TOP_RIGHT);
228 bx = elm_box_add(win);
229 elm_notify_content_set(notify, bx);
230 elm_box_horizontal_set(bx, 1);
231 evas_object_show(bx);
233 lb = elm_label_add(win);
234 elm_label_label_set(lb, "Top Right position.");
235 elm_box_pack_end(bx, lb);
236 evas_object_show(lb);
238 bt = elm_button_add(win);
239 elm_button_label_set(bt, "Close");
240 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
241 elm_box_pack_end(bx, bt);
242 evas_object_show(bt);
244 bt = elm_button_add(win);
245 elm_button_label_set(bt, "Top Right");
246 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
247 elm_table_pack(tb, bt, 2, 0, 1, 1);
248 evas_object_show(bt);
250 notify = elm_notify_add(win);
251 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
252 elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_BOTTOM_LEFT);
254 bx = elm_box_add(win);
255 elm_notify_content_set(notify, bx);
256 elm_box_horizontal_set(bx, 1);
257 evas_object_show(bx);
259 lb = elm_label_add(win);
260 elm_label_label_set(lb, "Bottom Left position.");
261 elm_box_pack_end(bx, lb);
262 evas_object_show(lb);
264 bt = elm_button_add(win);
265 elm_button_label_set(bt, "Close");
266 evas_object_smart_callback_add(bt, "clicked", _bt_close, notify);
267 elm_box_pack_end(bx, bt);
268 evas_object_show(bt);
270 bt = elm_button_add(win);
271 elm_button_label_set(bt, "Bottom Left");
272 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
273 elm_table_pack(tb, bt, 0, 2, 1, 1);
274 evas_object_show(bt);
276 notify = elm_notify_add(win);
277 evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
278 elm_notify_orient_set(notify, ELM_NOTIFY_ORIENT_BOTTOM_RIGHT);
280 bx = elm_box_add(win);
281 elm_notify_content_set(notify, bx);
282 elm_box_horizontal_set(bx, 1);
283 evas_object_show(bx);
285 lb = elm_label_add(win);
286 elm_label_label_set(lb, "Bottom Right position.");
287 elm_box_pack_end(bx, lb);
288 evas_object_show(lb);
290 bt = elm_button_add(win);
291 elm_button_label_set(bt, "Close in 2s");
292 evas_object_smart_callback_add(bt, "clicked", _bt_timer_close, notify);
293 elm_box_pack_end(bx, bt);
294 evas_object_show(bt);
296 bt = elm_button_add(win);
297 elm_button_label_set(bt, "Bottom Right");
298 evas_object_smart_callback_add(bt, "clicked", _bt, notify);
299 elm_table_pack(tb, bt, 2, 2, 1, 1);
300 evas_object_show(bt);
302 evas_object_show(win);
303 evas_object_resize(win, 300, 350);