EFL_START_TEST(focus_unregister_twice)
{
- Efl_Ui_Focus_Object *r1 = efl_add_ref(FOCUS_TEST_CLASS, NULL);
- Efl_Ui_Focus_Object *r2 = efl_add_ref(FOCUS_TEST_CLASS, NULL);
+ Efl_Ui_Focus_Object *r1, *r2;
- Efl_Ui_Focus_Manager *m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, r1)
- );
+ Efl_Ui_Focus_Manager *m = focus_test_manager_new(&r1, EINA_TRUE);
+ r2 = efl_add_ref(FOCUS_TEST_CLASS, NULL);
fail_if(!efl_ui_focus_manager_calc_register(m, r2, r1, NULL));
efl_ui_focus_manager_calc_unregister(m, r1);
efl_ui_focus_manager_calc_unregister(m, r1);
efl_unref(r2);
- efl_unref(r1);
efl_unref(m);
}
EFL_START_TEST(focus_register_twice)
{
- Efl_Ui_Focus_Object *r1 = focus_test_object_new("r1", 0, 0, 10, 10);
- Efl_Ui_Focus_Object *r2 = focus_test_object_new("r2", 0, 10, 10, 10);
+ Efl_Ui_Focus_Object *r1, *r2, *r3;
- Efl_Ui_Focus_Manager *m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, r1)
- );
+ Efl_Ui_Focus_Manager *m = focus_test_manager_new(&r1, EINA_TRUE);
+ Efl_Ui_Focus_Manager *m2 = focus_test_manager_new(&r3, EINA_TRUE);
+
+ r2 = efl_add_ref(FOCUS_TEST_CLASS, NULL);
fail_if(!efl_ui_focus_manager_calc_register(m, r2, r1, NULL));
//same confguration don't error out
fail_if(!efl_ui_focus_manager_calc_register(m, r2, r1, NULL));
+
+ EXPECT_ERROR_START;
//different confidurations error out
- fail_if(efl_ui_focus_manager_calc_register(m, r2, r1, r1));
+ fail_if(efl_ui_focus_manager_calc_register(m, r2, r1, m2));
+ EXPECT_ERROR_END;
- efl_unref(r1);
efl_unref(m);
}
focus_test_setup_cross(&middle, &south, &north, &east, &west);
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
efl_ui_focus_manager_calc_register(m, middle, root, NULL);
efl_ui_focus_manager_calc_register(m, north, root, NULL);
efl_ui_focus_manager_calc_register(m, south, root, NULL);
south_east = focus_test_object_new("south_east", 60, 60, 5, 5);
south_west = focus_test_object_new("south_west", 20, 60, 5, 5);
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
efl_ui_focus_manager_calc_register(m, middle, root, NULL);
efl_ui_focus_manager_calc_register(m, north_east, root, NULL);
efl_ui_focus_manager_calc_register(m, north_west, root, NULL);
EFL_END_TEST
EFL_START_TEST(redirect)
{
- TEST_OBJ_NEW(root, 0, 0, 20, 20);
- TEST_OBJ_NEW(root2, 0, 0, 20, 20);
+ Efl_Ui_Focus_Object *root, *root2;
TEST_OBJ_NEW(one, 0, 0, 20, 20);
TEST_OBJ_NEW(two, 20, 0, 20, 20);
- Efl_Ui_Focus_Manager *m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root)
- );
-
- Efl_Ui_Focus_Manager *m2 = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root2)
- );
+ Efl_Ui_Focus_Manager *m = focus_test_manager_new(&root, EINA_TRUE);
+ Efl_Ui_Focus_Manager *m2 = focus_test_manager_new(&root2, EINA_TRUE);
efl_ui_focus_manager_calc_register(m2, one, root2, NULL);
efl_ui_focus_manager_calc_register(m2, two, root2, NULL);
focus_test_setup_cross(&middle, &south, &north, &east, &west);
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
efl_ui_focus_manager_calc_register(m, middle, root, NULL);
efl_ui_focus_manager_calc_register(m, south, root, NULL);
efl_ui_focus_manager_calc_register(m, north, root, NULL);
TEST_OBJ_NEW(root, 0, 0, 20, 20);
- m = focus_test_manager_new(&lroot);
+ m = focus_test_manager_new(&lroot, EINA_TRUE);
fail_if(!m);
EFL_START_TEST(logical_chain_multi_redirect)
{
Efl_Ui_Focus_Manager *m, *m2, *m3, *m4;
- Efl_Ui_Focus_Object *root,*root2, *root3, *root4, *c1_1, *c1_2, *c1_3, *c2, *c3, *c4;
+ Efl_Ui_Focus_Object *root,*root2, *root3, *root4, *c2, *c3, *c4;
- m = focus_test_manager_new(&root);
- m2 = focus_test_manager_new(&root2);
- m3 = focus_test_manager_new(&root3);
- m4 = focus_test_manager_new(&root4);
- c1_1 = focus_test_object_new("child1", 0, 0, 20, 20);
- c1_2 = focus_test_object_new("child2", 0, 0, 20, 20);
- c1_3 = focus_test_object_new("child3", 0, 0, 20, 20);
- focus_test_manager_set(c1_1, m2);
- focus_test_manager_set(c1_2, m3);
- focus_test_manager_set(c1_3, m4);
- c2 = focus_test_object_new("child1", 0, 0, 20, 20);
- c3 = focus_test_object_new("child2", 0, 0, 20, 20);
- c4 = focus_test_object_new("child3", 0, 0, 20, 20);
+ m = focus_test_manager_new(&root, EINA_TRUE);
- Efl_Ui_Focus_Object *objects[] = {c2, c3, c4, NULL};
+ //Create 3 linked focus managers
+ m2 = focus_test_manager_new(&root2, EINA_FALSE);
+ efl_ui_focus_manager_calc_register_logical(m, root2, root, m2);
+ focus_test_manager_set(root2, m);
+
+ m3 = focus_test_manager_new(&root3, EINA_FALSE);
+ efl_ui_focus_manager_calc_register_logical(m, root3, root, m3);
+ focus_test_manager_set(root3, m);
- efl_ui_focus_manager_calc_register(m, c1_1, root, m2);
- efl_ui_focus_manager_calc_register(m, c1_2, root, m3);
- efl_ui_focus_manager_calc_register(m, c1_3, root, m4);
+ m4 = focus_test_manager_new(&root4, EINA_FALSE);
+ efl_ui_focus_manager_calc_register_logical(m, root4, root, m4);
+ focus_test_manager_set(root4, m);
+ c2 = focus_test_object_new("child1", 0, 0, 20, 20);
+ c3 = focus_test_object_new("child2", 0, 0, 20, 20);
+ c4 = focus_test_object_new("child3", 0, 0, 20, 20);
efl_ui_focus_manager_calc_register(m2, c2, root2, NULL);
efl_ui_focus_manager_calc_register(m3, c3, root3, NULL);
efl_ui_focus_manager_calc_register(m4, c4, root4, NULL);
+ Efl_Ui_Focus_Object *objects[] = {c2, c3, c4, NULL};
_check_chain(m, objects);
efl_unref(m2);
Efl_Ui_Focus_Manager *m, *m2;
Efl_Ui_Focus_Object *root,*root2, *c1_1, *c1_2, *c1_3, *c2_1, *c2_2, *c2_3;
- m = focus_test_manager_new(&root);
- m2 = focus_test_manager_new(&root2);
+ m = focus_test_manager_new(&root, EINA_TRUE);
+ m2 = focus_test_manager_new(&root2, EINA_FALSE);
+ focus_test_manager_set(root2, m);
c1_1 = focus_test_object_new("child1", 0, 0, 20, 20);
- c1_2 = focus_test_object_new("child2", 0, 0, 20, 20);
- focus_test_manager_set(c1_2, m2);
+ c1_2 = root2;
c1_3 = focus_test_object_new("child3", 0, 0, 20, 20);
c2_1 = focus_test_object_new("child1", 0, 0, 20, 20);
c2_2 = focus_test_object_new("child2", 0, 0, 20, 20);
{
Efl_Ui_Focus_Manager *m;
+ EXPECT_ERROR_START;
m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL);
+ EXPECT_ERROR_END;
fail_if(m);
efl_unref(m);
EFL_START_TEST(redirect_param)
{
Efl_Ui_Focus_Manager *m, *m2;
+ Efl_Ui_Focus_Object *root,*root2;
- TEST_OBJ_NEW(root, 0, 20, 20, 20);
- TEST_OBJ_NEW(root2, 0, 20, 20, 20);
TEST_OBJ_NEW(child, 0, 20, 20, 20);
+ TEST_OBJ_NEW(child2, 0, 20, 20, 20);
- m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root)
- );
-
- m2 = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root2)
- );
+ m = focus_test_manager_new(&root, EINA_TRUE);
+ m2 = focus_test_manager_new(&root2, EINA_FALSE);
+ efl_ui_focus_manager_calc_register_logical(m, root2, root, m2);
+ focus_test_manager_set(root2, m);
efl_ui_focus_manager_calc_register(m, child, root, m2);
- efl_ui_focus_manager_focus_set(m, child);
+ efl_ui_focus_manager_calc_register(m2, child2, root2, NULL);
+ efl_ui_focus_manager_focus_set(m, root2);
ck_assert_ptr_eq(efl_ui_focus_manager_redirect_get(m), m2);
EFL_START_TEST(invalid_args_check)
{
Efl_Ui_Focus_Manager *m;
+ Efl_Ui_Focus_Object *root;
- TEST_OBJ_NEW(root, 0, 20, 20, 20);
TEST_OBJ_NEW(child, 0, 20, 20, 20);
TEST_OBJ_NEW(child2, 0, 20, 20, 20);
- m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root)
- );
+ m = focus_test_manager_new(&root, EINA_TRUE);
//no child and no parent
+ EXPECT_ERROR_START;
ck_assert_int_eq(efl_ui_focus_manager_calc_register(m, NULL, NULL, NULL), 0);
+ EXPECT_ERROR_END;
+ EXPECT_ERROR_START;
ck_assert_int_eq(efl_ui_focus_manager_calc_register(m, child, NULL, NULL), 0);
+ EXPECT_ERROR_END;
+ EXPECT_ERROR_START;
ck_assert_int_eq(efl_ui_focus_manager_calc_register(m, NULL, root, NULL), 0);
-
+ EXPECT_ERROR_END;
ck_assert_int_eq(efl_ui_focus_manager_calc_register(m, child, root, NULL), 1);
-
+ EXPECT_ERROR_START;
ck_assert_int_eq(efl_ui_focus_manager_calc_update_parent(m, child, NULL), 0);
+ EXPECT_ERROR_END;
+ EXPECT_ERROR_START;
ck_assert_int_eq(efl_ui_focus_manager_calc_update_parent(m, NULL, NULL), 0);
+ EXPECT_ERROR_END;
+ EXPECT_ERROR_START;
ck_assert_int_eq(efl_ui_focus_manager_calc_update_parent(m, child, child2), 0);
-
+ EXPECT_ERROR_END;
ck_assert_int_eq(efl_ui_focus_manager_calc_register(m, child2, root, NULL), 1);
ck_assert_int_eq(efl_ui_focus_manager_calc_update_parent(m, child, child2), 1);
-
efl_unref(m);
}
EFL_END_TEST
{
Efl_Ui_Focus_Manager *m;
Eina_List *order = NULL;
+ Efl_Ui_Focus_Object *root;
- TEST_OBJ_NEW(root, 0, 20, 20, 20);
TEST_OBJ_NEW(child1, 0, 20, 20, 20);
TEST_OBJ_NEW(child2, 0, 20, 20, 20);
TEST_OBJ_NEW(child3, 0, 20, 20, 20);
- m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root)
- );
+ m = focus_test_manager_new(&root, EINA_TRUE);
//no child and no parent
efl_ui_focus_manager_calc_register(m, child1, root, NULL);
//negativ check
order = eina_list_append(order, child1);
order = eina_list_append(order, child2);
+ EXPECT_ERROR_START;
ck_assert_int_eq(efl_ui_focus_manager_calc_update_children(m, root, order), 0);
-
+ EXPECT_ERROR_END;
efl_unref(m);
}
EFL_END_TEST
EFL_START_TEST(logical_shift)
{
Efl_Ui_Focus_Manager *m;
+ Efl_Ui_Focus_Object *root;
- TEST_OBJ_NEW(root, 0, 0, 10, 10);
TEST_OBJ_NEW(child, 0, 0, 10, 10);
TEST_OBJ_NEW(sub, 0, 0, 10, 10);
TEST_OBJ_NEW(sub_sub, 0, 0, 10, 10);
TEST_OBJ_NEW(sub_child, 0, 0, 10, 10);
- m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root)
- );
+ m = focus_test_manager_new(&root, EINA_TRUE);
efl_ui_focus_manager_calc_register(m, child, root, NULL);
efl_ui_focus_manager_calc_register_logical(m, sub, root, NULL);
efl_ui_focus_manager_focus_set(m, sub);
ck_assert_ptr_eq(efl_ui_focus_manager_focus_get(m), sub_child);
+ EXPECT_ERROR_START;
efl_ui_focus_manager_focus_set(m, sub_sub);
ck_assert_ptr_eq(efl_ui_focus_manager_focus_get(m), sub_child);
-
+ EXPECT_ERROR_END;
efl_unref(m);
}
EFL_END_TEST
EFL_START_TEST(root_redirect_chain)
{
Efl_Ui_Focus_Manager *m, *m2;
+ Efl_Ui_Focus_Object *root, *root2;
- TEST_OBJ_NEW(root, 0, 20, 20, 20);
- TEST_OBJ_NEW(root2, 0, 20, 20, 20);
TEST_OBJ_NEW(child, 0, 20, 20, 20);
- m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root)
- );
-
+ m = focus_test_manager_new(&root, EINA_TRUE);
+ m2 = focus_test_manager_new(&root2, EINA_TRUE);
focus_test_manager_set(root2, m);
- m2 = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root2)
- );
-
efl_ui_focus_manager_calc_register(m, root2, root, m2);
efl_ui_focus_manager_calc_register(m2, child, root2, NULL);
efl_ui_focus_manager_focus_set(m2, child);
EFL_START_TEST(root_redirect_chain_unset)
{
Efl_Ui_Focus_Manager *m, *m2, *m3, *m4;
+ Efl_Ui_Focus_Object *root, *root2, *root3, *root4;
- TEST_OBJ_NEW(root, 0, 20, 20, 20);
- TEST_OBJ_NEW(root2, 0, 20, 20, 20);
TEST_OBJ_NEW(child, 0, 20, 20, 20);
+ TEST_OBJ_NEW(child2, 0, 20, 20, 20);
+ TEST_OBJ_NEW(child3, 0, 20, 20, 20);
- m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root)
- );
-
+ m = focus_test_manager_new(&root, EINA_TRUE);
+ m2 = focus_test_manager_new(&root2, EINA_FALSE);
+ m3 = focus_test_manager_new(&root3, EINA_FALSE);
+ m4 = focus_test_manager_new(&root4, EINA_FALSE);
focus_test_manager_set(root2, m);
+ focus_test_manager_set(root3, m);
+ focus_test_manager_set(root4, m3);
- m2 = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root2)
- );
-
- m3 = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root2)
- );
-
- m4 = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root2)
- );
+ efl_ui_focus_manager_calc_register(m, root2, root, m2);
+ efl_ui_focus_manager_calc_register(m, root3, root, m3);
+ efl_ui_focus_manager_calc_register(m2, child, root2, NULL);
+ efl_ui_focus_manager_calc_register(m3, child2, root3, NULL);
+ efl_ui_focus_manager_calc_register(m3, root4, root3, NULL);
+ efl_ui_focus_manager_calc_register(m4, child3, root4, NULL);
efl_ui_focus_manager_redirect_set(m, m3);
efl_ui_focus_manager_redirect_set(m3, m4);
- efl_ui_focus_manager_redirect_set(m4, m2);
- efl_ui_focus_manager_calc_register(m, root2, root, m2);
- efl_ui_focus_manager_calc_register(m2, child, root2, NULL);
efl_ui_focus_manager_focus_set(m2, child);
ck_assert_ptr_eq(efl_ui_focus_manager_redirect_get(m), m2);
_recursive_triangle_manager(int recusion_depth, Efl_Ui_Focus_Object **most_right, Efl_Ui_Focus_Object **most_left, Eina_List **managers)
{
Efl_Ui_Focus_Manager *m, *m_child1 = NULL, *m_child3 = NULL;
- Efl_Ui_Focus_Object *child1, *child3;
+ Efl_Ui_Focus_Object *child1, *child3, *root;
- TEST_OBJ_NEW(root, 0, 20, 20, 20);
TEST_OBJ_NEW(child2, 0, 20, 20, 20);
- m = efl_add_ref(EFL_UI_FOCUS_MANAGER_CALC_CLASS, NULL,
- efl_ui_focus_manager_root_set(efl_added, root)
- );
-
- printf("New manaager %p\n", m);
+ m = focus_test_manager_new(&root, recusion_depth == 0);
if (recusion_depth < 3)
{
if (most_left)
{
*most_left = child1;
- printf("SETTING %p\n", child1);
}
if (most_right)
{
*most_right = child3;
- printf("SETTING %p\n", child3);
}
}
- printf("Child 1 %p\n", child1);
- printf("Child 2 %p\n", child2);
- printf("Child 3 %p\n", child3);
-
efl_ui_focus_manager_calc_register(m, child1, root, m_child1);
efl_ui_focus_manager_calc_register(m, child2, root, NULL);
efl_ui_focus_manager_calc_register(m, child3, root, m_child3);
m = _recursive_triangle_manager(0, &most_right, &most_left, &managers);
efl_ui_focus_manager_setup_on_first_touch(m, EFL_UI_FOCUS_DIRECTION_NEXT, efl_ui_focus_manager_root_get(m));
- printf("%p %p\n", most_left, most_right);
ck_assert_ptr_eq(efl_ui_focus_manager_focus_get(_get_highest_redirect(m)), most_left);
efl_ui_focus_manager_reset_history(m);
efl_ui_focus_manager_setup_on_first_touch(m, EFL_UI_FOCUS_DIRECTION_PREVIOUS, efl_ui_focus_manager_root_get(m));
- printf("%s\n", efl_name_get(efl_ui_focus_manager_focus_get(_get_highest_redirect(m))));
ck_assert_ptr_eq(efl_ui_focus_manager_focus_get(_get_highest_redirect(m)), most_right);
EINA_LIST_FREE(managers, m)
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
ck_assert_ptr_eq(efl_ui_focus_manager_request_subchild(m, root), NULL);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
efl_ui_focus_manager_calc_register(m, c1, root, NULL);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1, *c2;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
c2 = focus_test_object_new("child2", 0, 0, 20, 20);
efl_ui_focus_manager_calc_register(m, c1, root, NULL);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1, *c2;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
c2 = focus_test_object_new("child2", 0, 0, 20, 20);
efl_ui_focus_manager_calc_register_logical(m, c1, root, NULL);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1, *c2;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
c2 = focus_test_object_new("child2", 0, 0, 20, 20);
efl_ui_focus_manager_calc_register(m, c1, root, NULL);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1, *c2, *c3;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
c2 = focus_test_object_new("child2", 0, 0, 20, 20);
c3 = focus_test_object_new("child3", 0, 0, 20, 20);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1, *c2, *c3;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
c2 = focus_test_object_new("child2", 0, 0, 20, 20);
c3 = focus_test_object_new("child3", 0, 0, 20, 20);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
efl_ui_focus_manager_calc_register(m, c1, root, NULL);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1, *c2, *c3;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
c2 = focus_test_object_new("child2", 0, 0, 20, 20);
c3 = focus_test_object_new("child3", 0, 0, 20, 20);
Efl_Ui_Focus_Manager *m;
Efl_Ui_Focus_Object *root, *c1, *c2, *c3, *c4, *c5, *c6;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
c2 = focus_test_object_new("child2", 0, 0, 20, 20);
c3 = focus_test_object_new("child3", 0, 0, 20, 20);
EFL_START_TEST(redirect_unregister_entrypoint)
{
Efl_Ui_Focus_Manager *m, *m2;
+ Efl_Ui_Focus_Object *root, *root2;
- TEST_OBJ_NEW(root, 0, 20, 20, 20);
- TEST_OBJ_NEW(root2, 0, 20, 20, 20);
TEST_OBJ_NEW(child, 0, 20, 20, 20);
TEST_OBJ_NEW(child2, 0, 20, 20, 20);
TEST_OBJ_NEW(child3, 0, 20, 20, 20);
- m = efl_add(EFL_UI_FOCUS_MANAGER_CALC_CLASS, efl_main_loop_get(),
- efl_ui_focus_manager_root_set(efl_added, root)
- );
-
- m2 = efl_add(EFL_UI_FOCUS_MANAGER_CALC_CLASS, efl_main_loop_get(),
- efl_ui_focus_manager_root_set(efl_added, root2)
- );
-
+ m = focus_test_manager_new(&root, EINA_TRUE);
+ m2 = focus_test_manager_new(&root2, EINA_TRUE);
efl_ui_focus_manager_calc_register(m2, child3, root2, m2);
ck_assert_ptr_eq(efl_ui_focus_manager_redirect_get(m), m2);
ck_assert_ptr_eq(efl_ui_focus_manager_focus_get(m), NULL);
- efl_del(m);
- efl_del(m2);
+ efl_unref(m);
+ efl_unref(m2);
}
EFL_END_TEST
static void
-_child_focus_changed(void *data, const Efl_Event *ev)
+_child_focus_changed(void *data, const Efl_Event *ev EINA_UNUSED)
{
Eina_Bool *flag = data;
*flag = EINA_TRUE;
-
- printf("%s\n", efl_class_name_get(ev->object));
}
EFL_START_TEST(test_events_child_focus)
Eina_Bool froot = EINA_FALSE, fc1 = EINA_FALSE, fc2 = EINA_FALSE,
fc3 = EINA_FALSE, fc4 = EINA_FALSE, fc5 = EINA_FALSE, fc6 = EINA_FALSE;
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
c1 = focus_test_object_new("child1", 0, 0, 20, 20);
efl_parent_set(c1, root);
c2 = focus_test_object_new("child2", 0, 0, 20, 20);
focus_test_setup_cross(&middle, &south, &north, &east, &west);
- m = focus_test_manager_new(&root);
+ m = focus_test_manager_new(&root, EINA_TRUE);
efl_ui_focus_manager_calc_register(m, middle, root, NULL);
efl_ui_focus_manager_calc_register(m, south, root, NULL);
efl_ui_focus_manager_calc_register(m, north, root, NULL);