exactness/src/bin/test_win_state.c

358 lines
12 KiB
C

#include <Elementary.h>
#include "tsuite.h"
typedef struct _Testitem
{
Elm_Genlist_Item *item;
int mode, onoff;
} Testitem;
static int rotate_with_resize = 0;
static void
my_bt_38_alpha_on(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *win = data;
Evas_Object *bg = evas_object_data_get(win, "bg");
evas_object_hide(bg);
elm_win_alpha_set(win, 1);
}
static void
my_bt_38_alpha_off(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Evas_Object *win = data;
Evas_Object *bg = evas_object_data_get(win, "bg");
evas_object_show(bg);
elm_win_alpha_set(win, 0);
}
static void
my_ck_38_resize(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
{
// Evas_Object *win = data;
rotate_with_resize = elm_check_state_get(obj);
}
static void
my_bt_38_rot_0(void *data, Evas_Object *obj __UNUSED__, void *event_info __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 __UNUSED__, void *event_info __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 __UNUSED__, void *event_info __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 __UNUSED__, void *event_info __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_win_move(void *data __UNUSED__, Evas_Object *obj, void *event_info __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 __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __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 __UNUSED__, Evas *e __UNUSED__, void *event_info __UNUSED__)
{
printf("FOC IN\n");
}
static void
_win_foc_out(void *data __UNUSED__, Evas *e __UNUSED__, void *event_info __UNUSED__)
{
printf("FOC OUT\n");
}
static void
_close_win(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
evas_object_del(data);
}
TEST_START(test_win_state)
{
Evas_Object *bg, *sl, *bx, *bx2, *bt, *ck;
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);
elm_win_autodel_set(win, EINA_TRUE);
bg = elm_bg_add(win);
elm_win_resize_object_add(win, bg);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
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);
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, 1);
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);
elm_box_pack_end(bx, bx2);
evas_object_show(bx2);
evas_object_resize(win, 280, 400);
evas_object_show(win);
}
TEST_END
TEST_START(test_win_state2)
{
Evas_Object *bg, *sl, *bx, *bx2, *bt, *ck;
char buf[PATH_MAX];
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);
elm_win_resize_object_add(win, bg);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
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);
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, 1);
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);
elm_box_pack_end(bx, bx2);
evas_object_show(bx2);
evas_object_resize(win, 320, 480);
evas_object_show(win);
}
TEST_END