2 # include "elementary_config.h"
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
6 typedef struct _Testitem
12 static int rotate_with_resize = 0;
15 my_bt_38_alpha_on(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
17 Evas_Object *win = data;
18 Evas_Object *bg = evas_object_data_get(win, "bg");
20 elm_win_alpha_set(win, EINA_TRUE);
24 my_bt_38_alpha_off(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
26 Evas_Object *win = data;
27 Evas_Object *bg = evas_object_data_get(win, "bg");
29 elm_win_alpha_set(win, EINA_FALSE);
36 elm_win_activate(data);
44 evas_object_show(data);
45 elm_win_activate(data);
50 my_bt_38_iconify(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
52 Evas_Object *win = data;
53 printf("iconify, current %i\n", elm_win_iconified_get(win));
54 elm_win_iconified_set(win, EINA_TRUE);
55 ecore_timer_add(10.0, _unic, win);
59 my_bt_38_withdraw(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
61 Evas_Object *win = data;
62 printf("withdraw, current %i\n", elm_win_withdrawn_get(win));
63 elm_win_withdrawn_set(win, EINA_TRUE);
64 ecore_timer_add(10.0, _unwith, win);
68 my_ck_38_resize(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
70 // Evas_Object *win = data;
71 rotate_with_resize = elm_check_state_get(obj);
75 my_bt_38_rot_0(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
77 Evas_Object *win = data;
78 if (rotate_with_resize)
79 elm_win_rotation_with_resize_set(win, 0);
81 elm_win_rotation_set(win, 0);
85 my_bt_38_rot_90(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
87 Evas_Object *win = data;
88 if (rotate_with_resize)
89 elm_win_rotation_with_resize_set(win, 90);
91 elm_win_rotation_set(win, 90);
95 my_bt_38_rot_180(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
97 Evas_Object *win = data;
98 if (rotate_with_resize)
99 elm_win_rotation_with_resize_set(win, 180);
101 elm_win_rotation_set(win, 180);
105 my_bt_38_rot_270(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
107 Evas_Object *win = data;
108 if (rotate_with_resize)
109 elm_win_rotation_with_resize_set(win, 270);
111 elm_win_rotation_set(win, 270);
115 my_win_move(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
118 elm_win_screen_position_get(obj, &x, &y);
119 printf("MOVE - win geom: %4i %4i\n", x, y);
123 _win_resize(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
126 evas_object_geometry_get(obj, NULL, NULL, &w, &h);
127 printf("RESIZE - win geom: %4ix%4i\n", w, h);
131 _win_foc_in(void *data __UNUSED__, Evas *e __UNUSED__, void *event_info __UNUSED__)
137 _win_foc_out(void *data __UNUSED__, Evas *e __UNUSED__, void *event_info __UNUSED__)
143 _close_win(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
145 evas_object_del(data);
149 test_win_state(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
151 Evas_Object *win, *bg, *sl, *bx, *bx2, *bt, *ck;
153 win = elm_win_add(NULL, "window-states", ELM_WIN_BASIC);
154 elm_win_title_set(win, "Window States");
155 evas_object_smart_callback_add(win, "moved", my_win_move, NULL);
156 evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize, NULL);
157 evas_event_callback_add(evas_object_evas_get(win), EVAS_CALLBACK_CANVAS_FOCUS_IN, _win_foc_in, NULL);
158 evas_event_callback_add(evas_object_evas_get(win), EVAS_CALLBACK_CANVAS_FOCUS_OUT, _win_foc_out, NULL);
159 elm_win_autodel_set(win, EINA_TRUE);
161 bg = elm_bg_add(win);
162 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
163 elm_win_resize_object_add(win, bg);
164 evas_object_show(bg);
165 evas_object_data_set(win, "bg", bg);
167 bx = elm_box_add(win);
168 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
169 elm_win_resize_object_add(win, bx);
170 evas_object_show(bx);
172 bx2 = elm_box_add(win);
173 elm_box_horizontal_set(bx2, EINA_TRUE);
174 elm_box_homogeneous_set(bx2, EINA_TRUE);
175 evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
176 evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
178 bt = elm_button_add(win);
179 elm_object_text_set(bt, "Alpha On");
180 evas_object_smart_callback_add(bt, "clicked", my_bt_38_alpha_on, win);
181 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
182 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
183 elm_box_pack_end(bx2, bt);
184 evas_object_show(bt);
186 bt = elm_button_add(win);
187 elm_object_text_set(bt, "Alpha Off");
188 evas_object_smart_callback_add(bt, "clicked", my_bt_38_alpha_off, win);
189 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
190 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
191 elm_box_pack_end(bx2, bt);
192 evas_object_show(bt);
194 bt = elm_button_add(win);
195 elm_object_text_set(bt, "Iconify");
196 evas_object_smart_callback_add(bt, "clicked", my_bt_38_iconify, win);
197 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
198 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
199 elm_box_pack_end(bx2, bt);
200 evas_object_show(bt);
202 bt = elm_button_add(win);
203 elm_object_text_set(bt, "Withdraw");
204 evas_object_smart_callback_add(bt, "clicked", my_bt_38_withdraw, win);
205 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
206 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
207 elm_box_pack_end(bx2, bt);
208 evas_object_show(bt);
210 elm_box_pack_end(bx, bx2);
211 evas_object_show(bx2);
213 bx2 = elm_box_add(win);
214 elm_box_horizontal_set(bx2, EINA_TRUE);
215 elm_box_homogeneous_set(bx2, EINA_TRUE);
216 evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
217 evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
219 sl = elm_slider_add(win);
220 elm_object_text_set(sl, "Test");
221 elm_slider_span_size_set(sl, 100);
222 evas_object_size_hint_align_set(sl, 0.5, 0.5);
223 evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
224 elm_slider_indicator_format_set(sl, "%3.0f");
225 elm_slider_min_max_set(sl, 50, 150);
226 elm_slider_value_set(sl, 50);
227 elm_slider_inverted_set(sl, EINA_TRUE);
228 elm_box_pack_end(bx2, sl);
229 evas_object_show(sl);
231 elm_box_pack_end(bx, bx2);
232 evas_object_show(bx2);
234 ck = elm_check_add(win);
235 elm_object_text_set(ck, "resize");
236 elm_check_state_set(ck, rotate_with_resize);
237 evas_object_smart_callback_add(ck, "changed", my_ck_38_resize, win);
238 evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
239 evas_object_size_hint_align_set(ck, 0.02, 0.99);
240 evas_object_show(ck);
241 elm_box_pack_end(bx, ck);
243 bx2 = elm_box_add(win);
244 elm_box_horizontal_set(bx2, EINA_TRUE);
245 elm_box_homogeneous_set(bx2, EINA_TRUE);
246 evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
247 evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
249 bt = elm_button_add(win);
250 elm_object_text_set(bt, "Rot 0");
251 evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_0, win);
252 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
253 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
254 elm_box_pack_end(bx2, bt);
255 evas_object_show(bt);
257 bt = elm_button_add(win);
258 elm_object_text_set(bt, "Rot 90");
259 evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_90, win);
260 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
261 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
262 elm_box_pack_end(bx2, bt);
263 evas_object_show(bt);
265 bt = elm_button_add(win);
266 elm_object_text_set(bt, "Rot 180");
267 evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_180, win);
268 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
269 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
270 elm_box_pack_end(bx2, bt);
271 evas_object_show(bt);
273 bt = elm_button_add(win);
274 elm_object_text_set(bt, "Rot 270");
275 evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_270, win);
276 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
277 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
278 elm_box_pack_end(bx2, bt);
279 evas_object_show(bt);
281 elm_box_pack_end(bx, bx2);
282 evas_object_show(bx2);
284 evas_object_resize(win, 280, 400);
285 evas_object_show(win);
289 test_win_state2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
291 Evas_Object *win, *bg, *sl, *bx, *bx2, *bt, *ck;
294 win = elm_win_add(NULL, "window-states2", ELM_WIN_BASIC);
295 elm_win_override_set(win, EINA_TRUE);
296 evas_object_smart_callback_add(win, "moved", my_win_move, NULL);
297 evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize, NULL);
298 elm_win_title_set(win, "Window States 2");
299 elm_win_autodel_set(win, EINA_TRUE);
301 bg = elm_bg_add(win);
302 snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get());
303 elm_bg_file_set(bg, buf, NULL);
304 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
305 elm_win_resize_object_add(win, bg);
306 evas_object_show(bg);
307 evas_object_data_set(win, "bg", bg);
309 bx = elm_box_add(win);
310 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
311 elm_win_resize_object_add(win, bx);
312 evas_object_show(bx);
314 bx2 = elm_box_add(win);
315 elm_box_horizontal_set(bx2, EINA_TRUE);
316 evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
317 evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
319 bt = elm_button_add(win);
320 elm_object_text_set(bt, "Alpha On");
321 evas_object_smart_callback_add(bt, "clicked", my_bt_38_alpha_on, win);
322 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
323 evas_object_size_hint_weight_set(bt, 0.0, 0.0);
324 elm_box_pack_end(bx2, bt);
325 evas_object_show(bt);
327 bt = elm_button_add(win);
328 elm_object_text_set(bt, "Alpha Off");
329 evas_object_smart_callback_add(bt, "clicked", my_bt_38_alpha_off, win);
330 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
331 evas_object_size_hint_weight_set(bt, 0.0, 0.0);
332 elm_box_pack_end(bx2, bt);
333 evas_object_show(bt);
335 bt = elm_button_add(win);
336 elm_object_text_set(bt, "Close");
337 evas_object_smart_callback_add(bt, "clicked", _close_win, win);
338 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
339 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
340 elm_box_pack_end(bx2, bt);
341 evas_object_show(bt);
343 elm_box_pack_end(bx, bx2);
344 evas_object_show(bx2);
346 bx2 = elm_box_add(win);
347 elm_box_horizontal_set(bx2, EINA_TRUE);
348 elm_box_homogeneous_set(bx2, EINA_TRUE);
349 evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
350 evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
352 sl = elm_slider_add(win);
353 elm_object_text_set(sl, "Override Redirect");
354 elm_slider_span_size_set(sl, 100);
355 evas_object_size_hint_align_set(sl, 0.5, 0.5);
356 evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
357 elm_slider_indicator_format_set(sl, "%3.0f");
358 elm_slider_min_max_set(sl, 50, 150);
359 elm_slider_value_set(sl, 50);
360 elm_slider_inverted_set(sl, EINA_TRUE);
361 elm_box_pack_end(bx2, sl);
362 evas_object_show(sl);
364 elm_box_pack_end(bx, bx2);
365 evas_object_show(bx2);
367 ck = elm_check_add(win);
368 elm_object_text_set(ck, "resize");
369 elm_check_state_set(ck, rotate_with_resize);
370 evas_object_smart_callback_add(ck, "changed", my_ck_38_resize, win);
371 evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
372 evas_object_size_hint_align_set(ck, 0.02, 0.99);
373 evas_object_show(ck);
374 elm_box_pack_end(bx, ck);
376 bx2 = elm_box_add(win);
377 elm_box_horizontal_set(bx2, EINA_TRUE);
378 elm_box_homogeneous_set(bx2, EINA_TRUE);
379 evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
380 evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
382 bt = elm_button_add(win);
383 elm_object_text_set(bt, "Rot 0");
384 evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_0, win);
385 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
386 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
387 elm_box_pack_end(bx2, bt);
388 evas_object_show(bt);
390 bt = elm_button_add(win);
391 elm_object_text_set(bt, "Rot 90");
392 evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_90, win);
393 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
394 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
395 elm_box_pack_end(bx2, bt);
396 evas_object_show(bt);
398 bt = elm_button_add(win);
399 elm_object_text_set(bt, "Rot 180");
400 evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_180, win);
401 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
402 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
403 elm_box_pack_end(bx2, bt);
404 evas_object_show(bt);
406 bt = elm_button_add(win);
407 elm_object_text_set(bt, "Rot 270");
408 evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_270, win);
409 evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
410 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
411 elm_box_pack_end(bx2, bt);
412 evas_object_show(bt);
414 elm_box_pack_end(bx, bx2);
415 evas_object_show(bx2);
417 evas_object_resize(win, 320, 480);
418 evas_object_show(win);