#ifdef HAVE_CONFIG_H # include "elementary_config.h" #endif #include typedef struct _Testitem { Elm_Object_Item *item; int mode, onoff; } Testitem; static int rotate_with_resize = 0; static Eina_Bool fullscreen = EINA_FALSE; static Eina_Bool floating = EINA_FALSE; static void my_bt_38_alpha_on(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; Evas_Object *bg = evas_object_data_get(win, "bg"); evas_object_hide(bg); elm_win_alpha_set(win, EINA_TRUE); } static void my_bt_38_alpha_off(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; Evas_Object *bg = evas_object_data_get(win, "bg"); evas_object_show(bg); elm_win_alpha_set(win, EINA_FALSE); } static Eina_Bool _activate_timer_cb(void *data) { printf("Activate window\n"); elm_win_activate(data); return ECORE_CALLBACK_CANCEL; } static Eina_Bool _deiconify_timer_cb(void *data) { printf("Deiconify window\n"); elm_win_iconified_set(data, EINA_FALSE); return ECORE_CALLBACK_CANCEL; } static Eina_Bool _unwith(void *data) { printf("show\n"); evas_object_show(data); elm_win_activate(data); return EINA_FALSE; } static void my_bt_38_withdraw(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; printf("withdraw, current %i\n", elm_win_withdrawn_get(win)); elm_win_withdrawn_set(win, EINA_TRUE); ecore_timer_add(10.0, _unwith, win); } static void my_bt_38_massive(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; evas_object_resize(win, 4000, 2400); } static void my_ck_38_resize(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) { rotate_with_resize = elm_check_state_get(obj); } static void my_bt_38_rot_0(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; if (rotate_with_resize) elm_win_rotation_with_resize_set(win, 0); else elm_win_rotation_set(win, 0); } static void my_bt_38_rot_90(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; if (rotate_with_resize) elm_win_rotation_with_resize_set(win, 90); else elm_win_rotation_set(win, 90); } static void my_bt_38_rot_180(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; if (rotate_with_resize) elm_win_rotation_with_resize_set(win, 180); else elm_win_rotation_set(win, 180); } static void my_bt_38_rot_270(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win = data; if (rotate_with_resize) elm_win_rotation_with_resize_set(win, 270); else elm_win_rotation_set(win, 270); } static void my_ck_38_fullscreen(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { Evas_Object *win = data; fullscreen = elm_check_state_get(obj); elm_win_fullscreen_set(win, fullscreen); } static void my_ck_38_borderless(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { Evas_Object *win = data; Eina_Bool borderless = elm_check_state_get(obj); elm_win_borderless_set(win, borderless); } static void my_ck_38_floating(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { Evas_Object *win = data; floating = elm_check_state_get(obj); elm_win_floating_mode_set(win, floating); } static void my_win_move(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) { Evas_Coord x, y; elm_win_screen_position_get(obj, &x, &y); printf("MOVE - win geom: %4i %4i\n", x, y); } static void _win_resize(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) { Evas_Coord w, h; evas_object_geometry_get(obj, NULL, NULL, &w, &h); printf("RESIZE - win geom: %4ix%4i\n", w, h); } static void _win_foc_in(void *data EINA_UNUSED, Evas *e EINA_UNUSED, void *event_info EINA_UNUSED) { printf("FOC IN\n"); } static void _win_foc_out(void *data EINA_UNUSED, Evas *e EINA_UNUSED, void *event_info EINA_UNUSED) { printf("FOC OUT\n"); } static void _close_win(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { evas_object_del(data); } static void _move_20_20(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { evas_object_move(data, 20, 20); } static void _move_0_0(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { evas_object_move(data, 0, 0); } static void _bt_win_lower(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("Lower window\n"); elm_win_lower(data); } static void _bt_win_iconify_and_activate(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("Iconify window. (current status: %i)\n", elm_win_iconified_get(data)); elm_win_iconified_set(data, EINA_TRUE); printf("This window will be activated in 5 seconds.\n"); ecore_timer_add(5.0, _activate_timer_cb, data); } static void _bt_win_iconify_and_deiconify(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("Iconify window. (current status: %i)\n", elm_win_iconified_get(data)); elm_win_iconified_set(data, EINA_TRUE); printf("This window will be deiconified in 5 seconds.\n"); ecore_timer_add(5.0, _deiconify_timer_cb, data); } static void _bt_win_center_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("Center window.\n"); elm_win_center(data, EINA_TRUE, EINA_TRUE); } static void _bt_win_maximize(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("Maximize\n"); elm_win_maximized_set(data, EINA_TRUE); } static void _bt_win_unmaximize(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("Unmaximize\n"); elm_win_maximized_set(data, EINA_FALSE); } static void _win_state_print_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("WIN: %s\n", (char *)data); } static void _win_state_focus_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("WIN FOCUS: %s\n", (char *)data); } static void _win_show(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("win: show\n"); } static void _win_hide(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { printf("win: hide\n"); } static void _bt_pressed(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) { int param = (int)(uintptr_t)(data); Eina_Bool res = EINA_FALSE; Evas_Object *win = efl_key_wref_get(obj, "win"); printf("pressed event on Button:%d\n", param); switch (param) { case 1: printf("Top Left\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP | ELM_WIN_MOVE_RESIZE_LEFT); break; case 2: printf("Top\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP); break; case 3: printf("Top Right\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_TOP | ELM_WIN_MOVE_RESIZE_RIGHT); break; case 4: printf("Left\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_LEFT); break; case 5: printf("Move win\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_MOVE); break; case 6: printf("Right\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_RIGHT); break; case 7: printf("Bottom Left\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM | ELM_WIN_MOVE_RESIZE_LEFT); break; case 8: printf("Bottom\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM); break; case 9: printf("Bottom Right\n"); res = elm_win_move_resize_start(win, ELM_WIN_MOVE_RESIZE_BOTTOM | ELM_WIN_MOVE_RESIZE_RIGHT); break; default: printf("No action\n"); break; } printf("result = %d\n", res); fflush(stdout); } void test_win_state(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *bg, *sl, *bx, *bx2, *bt, *ck, *tb, *win; win = elm_win_add(NULL, "window-states", ELM_WIN_BASIC); elm_win_title_set(win, "Window States"); evas_object_smart_callback_add(win, "moved", my_win_move, NULL); evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize, NULL); evas_event_callback_add(evas_object_evas_get(win), EVAS_CALLBACK_CANVAS_FOCUS_IN, _win_foc_in, NULL); evas_event_callback_add(evas_object_evas_get(win), EVAS_CALLBACK_CANVAS_FOCUS_OUT, _win_foc_out, NULL); evas_object_event_callback_add(win, EVAS_CALLBACK_SHOW, _win_show, NULL); evas_object_event_callback_add(win, EVAS_CALLBACK_HIDE, _win_hide, NULL); evas_object_smart_callback_add(win, "withdrawn", _win_state_print_cb, "withdrawn"); evas_object_smart_callback_add(win, "iconified", _win_state_print_cb, "iconified"); evas_object_smart_callback_add(win, "normal", _win_state_print_cb, "normal"); evas_object_smart_callback_add(win, "stick", _win_state_print_cb, "stick"); evas_object_smart_callback_add(win, "unstick", _win_state_print_cb, "unstick"); evas_object_smart_callback_add(win, "fullscreen", _win_state_print_cb, "fullscreen"); evas_object_smart_callback_add(win, "unfullscreen", _win_state_print_cb, "unfullscreen"); evas_object_smart_callback_add(win, "maximized", _win_state_print_cb, "maximized"); evas_object_smart_callback_add(win, "unmaximized", _win_state_print_cb, "unmaximized"); evas_object_smart_callback_add(win, "ioerr", _win_state_print_cb, "ioerr"); evas_object_smart_callback_add(win, "indicator,prop,changed", _win_state_print_cb, "indicator,prop,changed"); evas_object_smart_callback_add(win, "rotation,changed", _win_state_print_cb, "rotation,changed"); evas_object_smart_callback_add(win, "profile,changed", _win_state_print_cb, "profile,changed"); evas_object_smart_callback_add(win, "focused", _win_state_focus_cb, "focused"); evas_object_smart_callback_add(win, "unfocused", _win_state_focus_cb, "unfocused"); evas_object_smart_callback_add(win, "focus,out", _win_state_focus_cb, "focus,out"); evas_object_smart_callback_add(win, "focus,in", _win_state_focus_cb, "focus,in"); evas_object_smart_callback_add(win, "delete,request", _win_state_print_cb, "delete,request"); evas_object_smart_callback_add(win, "wm,rotation,changed", _win_state_print_cb, "wm,rotation,changed"); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); evas_object_data_set(win, "bg", bg); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, EINA_TRUE); elm_box_homogeneous_set(bx2, EINA_TRUE); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); bt = elm_button_add(win); elm_object_text_set(bt, "Alpha On"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_alpha_on, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Alpha Off"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_alpha_off, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Withdraw"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_withdraw, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Massive"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_massive, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Move 20 20"); evas_object_smart_callback_add(bt, "clicked", _move_20_20, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); elm_box_pack_end(bx, bx2); evas_object_show(bx2); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, EINA_TRUE); elm_box_homogeneous_set(bx2, EINA_TRUE); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); bt = elm_button_add(win); elm_object_text_set(bt, "Lower"); evas_object_smart_callback_add(bt, "clicked", _bt_win_lower, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Iconify + Act"); evas_object_smart_callback_add(bt, "clicked", _bt_win_iconify_and_activate, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(bx2); elm_object_text_set(bt, "Iconify + De"); evas_object_smart_callback_add(bt, "clicked", _bt_win_iconify_and_deiconify, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(bx2); elm_object_text_set(bt, "Maximize"); evas_object_smart_callback_add(bt, "clicked", _bt_win_maximize, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(bx2); elm_object_text_set(bt, "Unmaximize"); evas_object_smart_callback_add(bt, "clicked", _bt_win_unmaximize, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Center"); evas_object_smart_callback_add(bt, "clicked", _bt_win_center_cb, win); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(bx2, bt); evas_object_show(bt); elm_box_pack_end(bx, bx2); evas_object_show(bx2); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, EINA_TRUE); elm_box_homogeneous_set(bx2, EINA_TRUE); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); sl = elm_slider_add(win); elm_object_text_set(sl, "Test"); elm_slider_span_size_set(sl, 100); evas_object_size_hint_align_set(sl, 0.5, 0.5); evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_slider_indicator_format_set(sl, "%3.0f"); elm_slider_min_max_set(sl, 50, 150); elm_slider_value_set(sl, 50); elm_slider_inverted_set(sl, EINA_TRUE); elm_box_pack_end(bx2, sl); evas_object_show(sl); elm_box_pack_end(bx, bx2); evas_object_show(bx2); ck = elm_check_add(win); elm_object_text_set(ck, "resize"); elm_check_state_set(ck, rotate_with_resize); evas_object_smart_callback_add(ck, "changed", my_ck_38_resize, win); evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ck, 0.02, 0.99); evas_object_show(ck); elm_box_pack_end(bx, ck); ck = elm_check_add(win); elm_object_text_set(ck, "fullscreen"); elm_check_state_set(ck, fullscreen); evas_object_smart_callback_add(ck, "changed", my_ck_38_fullscreen, win); evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ck, 0.02, 0.99); evas_object_show(ck); elm_box_pack_end(bx, ck); ck = elm_check_add(win); elm_object_text_set(ck, "borderless"); elm_check_state_set(ck, fullscreen); evas_object_smart_callback_add(ck, "changed", my_ck_38_borderless, win); evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ck, 0.02, 0.99); evas_object_show(ck); elm_box_pack_end(bx, ck); ck = elm_check_add(win); elm_object_text_set(ck, "floating"); elm_check_state_set(ck, floating); evas_object_smart_callback_add(ck, "changed", my_ck_38_floating, win); evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ck, 0.02, 0.99); evas_object_show(ck); elm_box_pack_end(bx, ck); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, EINA_TRUE); elm_box_homogeneous_set(bx2, EINA_TRUE); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); bt = elm_button_add(win); elm_object_text_set(bt, "Rot 0"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_0, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Rot 90"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_90, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Rot 180"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_180, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Rot 270"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_270, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Move 0 0"); evas_object_smart_callback_add(bt, "clicked", _move_0_0, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); elm_box_pack_end(bx, bx2); evas_object_show(bx2); tb = elm_table_add(win); evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(tb); #define INTPTR(i) (void *)(intptr_t)(i) bt = elm_button_add(win); elm_object_text_set(bt, "Top Left"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); efl_key_wref_set(bt, "win", win); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(1)); elm_table_pack(tb, bt, 0, 0, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Top"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(2)); elm_table_pack(tb, bt, 1, 0, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Top Right"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(3)); elm_table_pack(tb, bt, 2, 0, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Left"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(4)); elm_table_pack(tb, bt, 0, 1, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Move"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(5)); elm_table_pack(tb, bt, 1, 1, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Right"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(6)); elm_table_pack(tb, bt, 2, 1, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Bot Left"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(7)); elm_table_pack(tb, bt, 0, 2, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Bottom"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(8)); elm_table_pack(tb, bt, 1, 2, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Bot Right"); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_smart_callback_add(bt, "pressed", _bt_pressed, INTPTR(9)); elm_table_pack(tb, bt, 2, 2, 1, 1); efl_key_wref_set(bt, "win", win); evas_object_show(bt); #undef I elm_box_pack_end(bx, tb); evas_object_resize(win, 280, 400); evas_object_show(win); } void test_win_state2(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win, *bg, *sl, *bx, *bx2, *bt, *ck; char buf[PATH_MAX]; win = elm_win_add(NULL, "window-states2", ELM_WIN_BASIC); elm_win_override_set(win, EINA_TRUE); evas_object_smart_callback_add(win, "moved", my_win_move, NULL); evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize, NULL); elm_win_title_set(win, "Window States 2"); elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); snprintf(buf, sizeof(buf), "%s/images/sky_02.jpg", elm_app_data_dir_get()); elm_bg_file_set(bg, buf, NULL); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); evas_object_data_set(win, "bg", bg); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, EINA_TRUE); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); bt = elm_button_add(win); elm_object_text_set(bt, "Alpha On"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_alpha_on, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, 0.0, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Alpha Off"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_alpha_off, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, 0.0, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Close"); evas_object_smart_callback_add(bt, "clicked", _close_win, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Move 20 20"); evas_object_smart_callback_add(bt, "clicked", _move_20_20, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); elm_box_pack_end(bx, bx2); evas_object_show(bx2); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, EINA_TRUE); elm_box_homogeneous_set(bx2, EINA_TRUE); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); sl = elm_slider_add(win); elm_object_text_set(sl, "Override Redirect"); elm_slider_span_size_set(sl, 100); evas_object_size_hint_align_set(sl, 0.5, 0.5); evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_slider_indicator_format_set(sl, "%3.0f"); elm_slider_min_max_set(sl, 50, 150); elm_slider_value_set(sl, 50); elm_slider_inverted_set(sl, EINA_TRUE); elm_box_pack_end(bx2, sl); evas_object_show(sl); elm_box_pack_end(bx, bx2); evas_object_show(bx2); ck = elm_check_add(win); elm_object_text_set(ck, "resize"); elm_check_state_set(ck, rotate_with_resize); evas_object_smart_callback_add(ck, "changed", my_ck_38_resize, win); evas_object_size_hint_weight_set(ck, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(ck, 0.02, 0.99); evas_object_show(ck); elm_box_pack_end(bx, ck); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, EINA_TRUE); elm_box_homogeneous_set(bx2, EINA_TRUE); evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_fill_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL); bt = elm_button_add(win); elm_object_text_set(bt, "Rot 0"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_0, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Rot 90"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_90, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Rot 180"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_180, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Rot 270"); evas_object_smart_callback_add(bt, "clicked", my_bt_38_rot_270, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); bt = elm_button_add(win); elm_object_text_set(bt, "Move 0 0"); evas_object_smart_callback_add(bt, "clicked", _move_0_0, win); evas_object_size_hint_fill_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0); elm_box_pack_end(bx2, bt); evas_object_show(bt); elm_box_pack_end(bx, bx2); evas_object_show(bx2); evas_object_resize(win, 320, 480); evas_object_show(win); }