efl
194 строки · 6.2 Кб
1collections {
2group { name: "elm/button/base/chucknorris";
3alias: "elm/button/base/default";
4parts {
5part { name: "border";
6type: RECT;
7description { state: "default" 0.0;
8color: 0 0 0 255;
9}
10description { state: "in" 0.0;
11color: 50 180 180 255;
12}
13}
14part { name: "base";
15type: RECT;
16mouse_events: 1;
17description { state: "default" 0.0;
18rel1.to: "border";
19rel1.offset: 1 1;
20rel2.to: "border";
21rel2.offset: -2 -2;
22}
23description { state: "disabled" 0.0;
24inherit: "default" 0.0;
25color: 230 230 230 255;
26}
27}
28part { name: "elm.swallow.content";
29type: SWALLOW;
30mouse_events: 0;
31description { state: "default" 0.0;
32fixed: 1 0;
33visible: 0;
34align: 0.0 0.5;
35rel1.offset: 4 4;
36rel2.offset: 3 -5;
37rel2.relative: 0.0 1.0;
38}
39description { state: "visible" 0.0;
40inherit: "default" 0.0;
41visible: 1;
42aspect: 1.0 1.0;
43aspect_preference: VERTICAL;
44rel2.offset: 4 -5;
45}
46description { state: "icononly" 0.0;
47inherit: "default" 0.0;
48fixed: 0 0;
49visible: 1;
50align: 0.5 0.5;
51aspect: 1.0 1.0;
52aspect_preference: VERTICAL;
53rel2.offset: -5 -5;
54rel2.relative: 1.0 1.0;
55}
56}
57part { name: "elm.text";
58type: TEXT;
59mouse_events: 0;
60scale: 1;
61description { state: "default" 0.0;
62visible: 0;
63rel1.to_x: "elm.swallow.content";
64rel1.relative: 1.0 0.0;
65rel1.offset: 0 4;
66rel2.offset: -5 -5;
67color: 0 0 0 255;
68text {
69font: "Sans";
70size: 10;
71min: 0 0;
72text_class: "button";
73}
74}
75description { state: "visible" 0.0;
76inherit: "default" 0.0;
77visible: 1;
78text.min: 1 1;
79text.ellipsis: -1;
80}
81description { state: "disabled" 0.0;
82inherit: "default" 0.0;
83}
84description { state: "disabled_visible" 0.0;
85inherit: "default" 0.0;
86visible: 1;
87text.min: 1 1;
88text.ellipsis: -1;
89}
90}
91programs {
92program { name: "button_mouse_in";
93signal: "mouse,in";
94source: "base";
95action: STATE_SET "in" 0.0;
96target: "border";
97}
98program { name: "button_mouse_out";
99signal: "mouse,out";
100source: "base";
101action: STATE_SET "default" 0.0;
102target: "border";
103}
104program { name: "button_unclick";
105signal: "mouse,up,1";
106source: "base";
107action: SIGNAL_EMIT "elm,action,click" "";
108}
109program { name: "button_click";
110signal: "mouse,down,1";
111source: "base";
112}
113program { name: "text_show";
114signal: "elm,state,text,visible";
115source: "elm";
116script {
117new st[31];
118new Float:vl;
119get_state(PART:"elm.swallow.content", st, 30, vl);
120if (!strcmp(st, "icononly"))
121set_state(PART:"elm.swallow.content", "visible", 0.0);
122set_state(PART:"elm.text", "visible", 0.0);
123}
124}
125program { name: "text_hide";
126signal: "elm,state,text,hidden";
127source: "elm";
128script {
129new st[31];
130new Float:vl;
131get_state(PART:"elm.swallow.content", st, 30, vl);
132if (!strcmp(st, "visible"))
133set_state(PART:"elm.swallow.content", "icononly", 0.0);
134set_state(PART:"elm.text", "default", 0.0);
135}
136}
137program { name: "icon_show";
138signal: "elm,state,icon,visible";
139source: "elm";
140script {
141new st[31];
142new Float:vl;
143get_state(PART:"elm.text", st, 30, vl);
144if (!strcmp(st, "visible"))
145set_state(PART:"elm.swallow.content", "visible", 0.0);
146else
147set_state(PART:"elm.swallow.content", "icononly", 0.0);
148}
149}
150program { name: "icon_hide";
151signal: "elm,state,icon,hidden";
152source: "elm";
153action: STATE_SET "default" 0.0;
154target: "elm.swallow.content";
155}
156program { name: "disable";
157signal: "elm,state,disabled";
158source: "elm";
159action: STATE_SET "disabled" 0.0;
160target: "base";
161after: "disable_text";
162}
163program { name: "disable_text";
164script {
165new st[31];
166new Float:vl;
167get_state(PART:"elm.text", st, 30, vl);
168if (!strcmp(st, "visible"))
169set_state(PART:"elm.text", "disabled_visible", 0.0);
170else if (!strcmp(st, "default"))
171set_state(PART:"elm.text", "disabled", 0.0);
172}
173}
174program { name: "enable";
175signal: "elm,state,enabled";
176source: "elm";
177action: STATE_SET "default" 0.0;
178target: "base";
179after: "enable_text";
180}
181program { name: "enable_text";
182script {
183new st[31];
184new Float:vl;
185get_state(PART:"elm.text", st, 30, vl);
186if (!strcmp(st, "disabled_visible"))
187set_state(PART:"elm.text", "visible", 0.0);
188else if (!strcmp(st, "disabled"))
189set_state(PART:"elm.text", "default", 0.0);
190}
191}
192}
193}
194}
195