efl
1#define MSG_COLOR 1
2#define MSG_TEXT 2
3
4collections {
5group {
6name: "example_group";
7
8parts {
9part {
10name: "part_right";
11type: RECT;
12clip_to: "part_right_clipper";
13description {
14min: 50 50;
15max: 50 50;
16state: "default" 0.0;
17color: 0 0 255 255; /* blue */
18rel1.relative: 1.0 0.5;
19rel1.offset: -49 0;
20rel2.relative: 1.0 0.5;
21}
22}
23
24part {
25name: "part_left";
26type: RECT;
27description {
28color_class: "cc";
29min: 50 50;
30max: 50 50;
31state: "default" 0.0;
32rel1.relative: 0.0 0.5;
33rel2.relative: 0.0 0.5;
34rel2.offset: 50 -1;
35}
36}
37
38part {
39name: "text";
40type: TEXT;
41description {
42min: 150 50;
43max: 150 50;
44fixed: 1 1;
45color: 0 0 0 255;
46state: "default" 0.0;
47rel1.relative: 0.5 0.5;
48rel2.relative: 0.5 0.5;
49text {
50font: "Sans";
51size: 20;
52min: 1 1;
53align: 0.5 0.5;
54}
55}
56}
57
58part {
59name: "part_right_clipper";
60type: RECT;
61repeat_events: 1;
62
63description {
64min: 50 50;
65max: 50 50;
66
67state: "default" 0.0;
68rel1.relative: 1.0 0.5;
69rel1.offset: -49 0;
70rel2.relative: 1.0 0.5;
71}
72
73description {
74state: "hidden" 0.0;
75inherit: "default" 0.0;
76visible: 0;
77}
78}
79}
80
81script {
82public global_str0;
83public global_str1;
84public global_str2;
85public str_idx;
86
87public set_text_string() {
88new tmp[1024];
89new idx;
90idx = get_int(str_idx);
91
92if (idx == 0)
93get_str(global_str0, tmp, 1024);
94else if (idx == 1)
95get_str(global_str1, tmp, 1024);
96else if (idx == 2)
97get_str(global_str2, tmp, 1024);
98else return;
99
100set_text(PART:"text", tmp);
101send_message(MSG_STRING, MSG_TEXT, tmp);
102}
103
104public message(Msg_Type:type, id, ...) {
105if ((type == MSG_INT_SET) && (id == MSG_COLOR)) {
106new r, g, b, a;
107
108r = getarg(2);
109g = getarg(3);
110b = getarg(4);
111a = getarg(5);
112
113set_color_class("cc", r, g, b, a);
114}
115}
116}
117
118programs {
119program {
120name: "bootstrap";
121signal: "load";
122source: "";
123script {
124set_str(global_str0, "String one");
125set_str(global_str1, "String two");
126set_str(global_str2, "String three");
127set_int(str_idx, 0);
128set_text_string();
129}
130}
131
132program { /* custom signal */
133name: "part_right,hovered";
134signal: "mouse,move";
135source: "part_right";
136action: SIGNAL_EMIT "mouse,over" "part_right";
137}
138
139program { /* hide right rectangle */
140name: "part_right,hide";
141signal: "part_right,hide";
142source: "";
143action: STATE_SET "hidden" 0.0;
144target: "part_right_clipper";
145}
146
147program {
148name: "part_right,show";
149signal: "part_right,show";
150source: "";
151action: STATE_SET "default" 0.0;
152target: "part_right_clipper";
153}
154
155program { /* change text part's string value */
156name: "text,change";
157signal: "mouse,clicked,1";
158source: "part_left";
159script {
160new idx;
161idx = get_int(str_idx);
162idx = idx + 1;
163
164if (idx > 2)
165set_int(str_idx, 0);
166else
167set_int(str_idx, idx);
168
169set_text_string();
170}
171}
172}
173}
174}
175