forked from enlightenment/efl
edje: Add test case for signal_recursive_process
This commit is contained in:
parent
63518c4c2c
commit
bca55bb52f
|
@ -282,6 +282,7 @@ tests/edje/data/test_box.edc \
|
||||||
tests/edje/data/test_table.edc \
|
tests/edje/data/test_table.edc \
|
||||||
tests/edje/data/test_combine_keywords.edc \
|
tests/edje/data/test_combine_keywords.edc \
|
||||||
tests/edje/data/test_messages.edc \
|
tests/edje/data/test_messages.edc \
|
||||||
|
tests/edje/data/test_signals.edc \
|
||||||
tests/edje/data/filter.lua
|
tests/edje/data/filter.lua
|
||||||
|
|
||||||
|
|
||||||
|
@ -323,6 +324,7 @@ EDJE_TEST_FILES = tests/edje/data/test_layout.edj \
|
||||||
tests/edje/data/test_table.edj \
|
tests/edje/data/test_table.edj \
|
||||||
tests/edje/data/test_combine_keywords.edj \
|
tests/edje/data/test_combine_keywords.edj \
|
||||||
tests/edje/data/test_messages.edj \
|
tests/edje/data/test_messages.edj \
|
||||||
|
tests/edje/data/test_signals.edj \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
CLEANFILES += $(EDJE_TEST_FILES)
|
CLEANFILES += $(EDJE_TEST_FILES)
|
||||||
|
|
|
@ -65,3 +65,5 @@ collections {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,124 @@
|
||||||
|
// compile: edje_cc edje_signal_test.edc
|
||||||
|
collections {
|
||||||
|
group {
|
||||||
|
name: "level1";
|
||||||
|
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name: "group";
|
||||||
|
type: GROUP;
|
||||||
|
source: "level2";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
group {
|
||||||
|
name: "level2";
|
||||||
|
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name: "group";
|
||||||
|
type: GROUP;
|
||||||
|
source: "level3";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1 {
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 {
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
group {
|
||||||
|
name: "level3"; // must be the same as in edje_example.c
|
||||||
|
|
||||||
|
parts {
|
||||||
|
part {
|
||||||
|
name: "background";
|
||||||
|
type: RECT; // plain boring rectangle
|
||||||
|
mouse_events: 0; // we don't need any mouse event on the background
|
||||||
|
|
||||||
|
// just one state "default"
|
||||||
|
description {
|
||||||
|
state: "default" 0.0; // must always exist
|
||||||
|
color: 255 255 255 255; // white
|
||||||
|
|
||||||
|
// define part coordinates:
|
||||||
|
|
||||||
|
rel1 { // top-left point at (0, 0) [WIDTH * 0 + 0, HEIGHT * 0 + 0]
|
||||||
|
relative: 0.0 0.0;
|
||||||
|
offset: 0 0;
|
||||||
|
}
|
||||||
|
rel2 { // bottom-right point at (WIDTH * 1.0 - 1, HEIGHT * 1.0 - 1)
|
||||||
|
relative: 1.0 1.0;
|
||||||
|
offset: -1 -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part {
|
||||||
|
name: "text";
|
||||||
|
type: TEXT;
|
||||||
|
mouse_events: 1; // we want to change the color on mouse-over
|
||||||
|
|
||||||
|
// 2 states, one "default" and another "over" to be used
|
||||||
|
// on mouse over effect
|
||||||
|
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 255 0 0 255; // red
|
||||||
|
|
||||||
|
// define part coordinates:
|
||||||
|
|
||||||
|
rel1 { // top-left at (WIDTH * 0.1 + 5, HEIGHT * 0.2 + 10)
|
||||||
|
relative: 0.1 0.2;
|
||||||
|
offset: 5 10;
|
||||||
|
}
|
||||||
|
rel2 { // bottom-right at (WIDTH * 0.9 - 6, HEIGHT * 0.8 - 11)
|
||||||
|
relative: 0.9 0.8;
|
||||||
|
offset: -6 -11;
|
||||||
|
}
|
||||||
|
|
||||||
|
// define text specific state details
|
||||||
|
text {
|
||||||
|
font: "Sans"; // using fontconfig name!
|
||||||
|
size: 10;
|
||||||
|
text: "hello world";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
description {
|
||||||
|
state: "over" 0.0;
|
||||||
|
inherit: "default" 0.0; // copy everything from "default" at this point
|
||||||
|
|
||||||
|
color: 0 255 0 255; // override color, now it is green
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
signal: "mouse,in";
|
||||||
|
source: "text";
|
||||||
|
|
||||||
|
action: STATE_SET "over" 0.0;
|
||||||
|
target: "text";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -867,6 +867,39 @@ START_TEST(edje_test_message_send_eo)
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST(edje_test_signals)
|
||||||
|
{
|
||||||
|
Evas *evas;
|
||||||
|
Evas_Object *obj;
|
||||||
|
const char *state;
|
||||||
|
|
||||||
|
evas = EDJE_TEST_INIT_EVAS();
|
||||||
|
|
||||||
|
obj = efl_add(EDJE_OBJECT_CLASS, evas,
|
||||||
|
efl_file_set(efl_added, test_layout_get("test_signals.edj"), "level1"),
|
||||||
|
efl_gfx_size_set(efl_added, 320, 240),
|
||||||
|
efl_gfx_visible_set(efl_added, 1));
|
||||||
|
|
||||||
|
edje_object_signal_emit(obj, "mouse,in", "text");
|
||||||
|
|
||||||
|
edje_object_message_signal_process(obj);
|
||||||
|
state = edje_object_part_state_get(obj, "group:group:text", NULL);
|
||||||
|
ck_assert_str_eq(state, "default");
|
||||||
|
|
||||||
|
edje_object_message_signal_process(obj);
|
||||||
|
state = edje_object_part_state_get(obj, "group:group:text", NULL);
|
||||||
|
ck_assert_str_eq(state, "default");
|
||||||
|
|
||||||
|
edje_object_message_signal_recursive_process(obj);
|
||||||
|
state = edje_object_part_state_get(obj, "group:group:text", NULL);
|
||||||
|
ck_assert_str_eq(state, "over");
|
||||||
|
|
||||||
|
efl_del(obj);
|
||||||
|
|
||||||
|
EDJE_TEST_FREE_EVAS();
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
void edje_test_edje(TCase *tc)
|
void edje_test_edje(TCase *tc)
|
||||||
{
|
{
|
||||||
tcase_add_test(tc, edje_test_edje_init);
|
tcase_add_test(tc, edje_test_edje_init);
|
||||||
|
@ -890,4 +923,5 @@ void edje_test_edje(TCase *tc)
|
||||||
tcase_add_test(tc, edje_test_combine_keywords);
|
tcase_add_test(tc, edje_test_combine_keywords);
|
||||||
tcase_add_test(tc, edje_test_message_send_legacy);
|
tcase_add_test(tc, edje_test_message_send_legacy);
|
||||||
tcase_add_test(tc, edje_test_message_send_eo);
|
tcase_add_test(tc, edje_test_message_send_eo);
|
||||||
|
tcase_add_test(tc, edje_test_signals);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue