Initialize Tizen 2.3
[framework/uifw/elementary.git] / data / themes / widgets / button.edc
1 group { name: "elm/button/base/default";
2    alias: "elm/button/base/popup_button/default";
3    alias: "elm/button/base/naviframe/back_btn/default";
4    alias: "elm/button/base/datetime_ampm/default";
5    images {
6       image: "bt_base1.png" COMP;
7       image: "bt_base2.png" COMP;
8       image: "bt_hilight.png" COMP;
9       image: "bt_shine.png" COMP;
10       image: "bt_glow.png" COMP;
11       image: "bt_dis_base.png" COMP;
12       image: "bt_dis_hilight.png" COMP;
13    }
14    parts {
15       part { name: "button_image";
16          mouse_events: 1;
17          description { state: "default" 0.0;
18             min: 15 15;
19             image {
20                normal: "bt_base2.png";
21                border: 7 7 7 7;
22             }
23             image.middle: SOLID;
24          }
25          description { state: "clicked" 0.0;
26             inherit: "default" 0.0;
27             image.normal: "bt_base1.png";
28          }
29          description { state: "disabled" 0.0;
30             inherit:  "default" 0.0;
31             image {
32                normal: "bt_dis_base.png";
33                border: 4 4 4 4;
34             }
35          }
36       }
37       part { name: "elm.swallow.content";
38          type: SWALLOW;
39          description { state: "default" 0.0;
40             fixed: 1 0;
41             visible: 0;
42             align: 0.0 0.5;
43             rel1.offset: 4 4;
44             rel2.offset: 3 -5;
45             rel2.relative: 0.0 1.0;
46          }
47          description { state: "visible" 0.0;
48             inherit: "default" 0.0;
49             fixed: 1 0;
50             visible: 1;
51             aspect: 1.0 1.0;
52                     //               aspect_preference: VERTICAL;
53             rel2.offset: 4 -5;
54          }
55          description { state: "icononly" 0.0;
56             inherit: "default" 0.0;
57             fixed: 0 0;
58             visible: 1;
59             align: 0.5 0.5;
60                    //               aspect: 1.0 1.0;
61             rel2.offset: -5 -5;
62             rel2.relative: 1.0 1.0;
63             //               aspect_preference: VERTICAL;
64          }
65       }
66       part {
67          name:          "elm.text";
68          type:          TEXT;
69          effect:        SOFT_SHADOW;
70          mouse_events:  0;
71          scale: 1;
72          description { state: "default" 0.0;
73             visible: 0;
74             rel1.to_x: "elm.swallow.content";
75             rel1.relative: 1.0 0.0;
76             rel1.offset: 0 4;
77             rel2.offset: -5 -5;
78             color: 224 224 224 255;
79             color3: 0 0 0 64;
80             text {
81                font:     "Sans,Edje-Vera";
82                size:     10;
83                min:      0 0;
84                align:    0.5 0.5;
85                text_class: "button";
86             }
87          }
88          description { state: "visible" 0.0;
89             inherit: "default" 0.0;
90             visible: 1;
91             text.min: 1 1;
92          }
93          description { state: "disabled" 0.0;
94             inherit: "default" 0.0;
95          }
96          description { state: "disabled_visible" 0.0;
97             inherit: "default" 0.0;
98             color: 0 0 0 128;
99             color3: 0 0 0 0;
100             visible: 1;
101             text.min: 1 1;
102          }
103       }
104       part {          name: "over1";
105          mouse_events: 0;
106          description { state: "default" 0.0;
107             rel2.relative: 1.0 0.5;
108             image {
109                normal: "bt_hilight.png";
110                border: 7 7 7 0;
111             }
112          }
113          description { state: "disabled" 0.0;
114             inherit:  "default" 0.0;
115             image {
116                normal: "bt_dis_hilight.png";
117                border: 4 4 4 0;
118             }
119          }
120       }
121       part { name: "over2";
122          mouse_events: 1;
123          repeat_events: 1;
124          ignore_flags: ON_HOLD;
125          description { state: "default" 0.0;
126             image {
127                normal: "bt_shine.png";
128                border: 7 7 7 7;
129             }
130          }
131          description { state: "disabled" 0.0;
132             inherit:  "default" 0.0;
133             visible: 0;
134          }
135       }
136       part { name: "over3";
137          mouse_events: 1;
138          repeat_events: 1;
139          description { state: "default" 0.0;
140             color: 255 255 255 0;
141             image {
142                normal: "bt_glow.png";
143                border: 12 12 12 12;
144             }
145             fill.smooth : 0;
146          }
147          description { state: "clicked" 0.0;
148             inherit:  "default" 0.0;
149             color: 255 255 255 255;
150          }
151       }
152       part { name: "disabler";
153          type: RECT;
154          description { state: "default" 0.0;
155             color: 0 0 0 0;
156             visible: 0;
157          }
158          description { state: "disabled" 0.0;
159             inherit: "default" 0.0;
160             visible: 1;
161          }
162       }
163       // used to force sizing of icon to follow label sizing nearby
164       part { name: "sizer.content"; type: TEXT;
165          mouse_events:  0;
166          scale: 1;
167          description { state: "default" 0.0;
168             visible: 0;
169             text {
170                font: "Sans,Edje-Vera";
171                size: 10;
172                min: 0 0;
173                text_class: "button";
174             }
175          }
176          description { state: "visible" 0.0;
177             inherit: "default" 0.0;
178             rel1.to: "elm.swallow.content";
179             rel2.to: "elm.swallow.content";
180             text {
181                min: 1 1;
182                text: "M";
183             }
184          }
185          description { state: "icononly" 0.0;
186             inherit: "default" 0.0;
187             rel1.to: "elm.swallow.content";
188             rel2.to: "elm.swallow.content";
189             text {
190                min: 1 1;
191                text: "M";
192             }
193          }
194       }
195       // end sizer
196    }
197    programs {
198       program {
199          name:   "button_click";
200          signal: "mouse,down,1";
201          source: "over2";
202          action: SIGNAL_EMIT "elm,action,press" "";
203          after: "button_click_anim";
204       }
205       program {
206          name:   "button_click_anim";
207          action: STATE_SET "clicked" 0.0;
208          target: "button_image";
209       }
210       program {
211          name:   "button_unclick";
212          signal: "mouse,up,1";
213          source: "over3";
214          action: SIGNAL_EMIT "elm,action,unpress" "";
215          after: "button_unclick_anim";
216       }
217       program {
218          name:   "button_pressed_anim";
219          signal: "elm,anim,activate";
220          source: "elm";
221          action: STATE_SET "clicked" 0.0;
222          target: "button_image";
223          target: "over3";
224          after: "button_unpressed_anim";
225       }
226       program {
227          name:   "button_unpressed_anim";
228          action: STATE_SET "default" 0.0;
229          transition: DECELERATE 0.5;
230          target: "button_image";
231          target: "over3";
232       }
233       program {
234          name:   "button_unclick_anim";
235          action: STATE_SET "default" 0.0;
236          target: "button_image";
237       }
238       program {
239          name:   "button_click2";
240          signal: "mouse,down,1";
241          source: "over3";
242          action: STATE_SET "clicked" 0.0;
243          target: "over3";
244       }
245       program {
246          name:   "button_unclick2";
247          signal: "mouse,up,1";
248          source: "over3";
249          action: STATE_SET "default" 0.0;
250          transition: DECELERATE 0.5;
251          target: "over3";
252       }
253       program {
254          name:   "button_unclick3";
255          signal: "mouse,clicked,1";
256          source: "over2";
257          action: SIGNAL_EMIT "elm,action,click" "";
258       }
259       program { name: "text_show";
260          signal: "elm,state,text,visible";
261          source: "elm";
262          script {
263             new st[31];
264             new Float:vl;
265             get_state(PART:"elm.swallow.content", st, 30, vl);
266             if (!strcmp(st, "icononly")) {
267                set_state(PART:"elm.swallow.content", "visible", 0.0);
268                set_state(PART:"sizer.content", "visible", 0.0);
269             }
270             get_state(PART:"elm.text", st, 30, vl);
271             if (!strcmp(st, "disabled") || (!strcmp(st, "disabled_visible")))
272               set_state(PART:"elm.text", "disabled_visible", 0.0);
273             else
274               set_state(PART:"elm.text", "visible", 0.0);
275          }
276       }
277       program { name: "text_hide";
278          signal: "elm,state,text,hidden";
279          source: "elm";
280          script {
281             new st[31];
282             new Float:vl;
283             get_state(PART:"elm.swallow.content", st, 30, vl);
284             if (!strcmp(st, "visible")) {
285                set_state(PART:"elm.swallow.content", "icononly", 0.0);
286                set_state(PART:"sizer.content", "icononly", 0.0);
287             }
288             set_state(PART:"elm.text", "default", 0.0);
289             get_state(PART:"elm.text", st, 30, vl);
290             if (!strcmp(st, "default") || (!strcmp(st, "visible")))
291               set_state(PART:"elm.text", "default", 0.0);
292             else
293               set_state(PART:"elm.text", "disabled", 0.0);
294          }
295       }
296       program { name: "icon_show";
297          signal: "elm,state,icon,visible";
298          source: "elm";
299          script {
300             new st[31];
301             new Float:vl;
302             get_state(PART:"elm.text", st, 30, vl);
303             if (!strcmp(st, "visible")) {
304                set_state(PART:"elm.swallow.content", "visible", 0.0);
305                set_state(PART:"sizer.content", "visible", 0.0);
306             }
307             else {
308                set_state(PART:"elm.swallow.content", "icononly", 0.0);
309                set_state(PART:"sizer.content", "icononly", 0.0);
310             }
311          }
312       }
313       program { name: "icon_hide";
314          signal: "elm,state,icon,hidden";
315          source: "elm";
316          action:  STATE_SET "default" 0.0;
317          target: "elm.swallow.content";
318          target: "sizer.content";
319       }
320       program { name: "disable";
321          signal: "elm,state,disabled";
322          source: "elm";
323          script {
324             new st[31];
325             new Float:vl;
326             set_state(PART:"button_image", "disabled", 0.0);
327             set_state(PART:"over1", "disabled", 0.0);
328             set_state(PART:"over2", "disabled", 0.0);
329             set_state(PART:"disabler", "disabled", 0.0);
330             get_state(PART:"elm.text", st, 30, vl);
331             if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible"))
332               set_state(PART:"elm.text", "disabled_visible", 0.0);
333             else
334               set_state(PART:"elm.text", "disabled", 0.0);
335          }
336       }
337       program { name: "enable";
338          signal: "elm,state,enabled";
339          source: "elm";
340          script {
341             new st[31];
342             new Float:vl;
343             set_state(PART:"button_image", "visible", 0.0);
344             set_state(PART:"over1", "visible", 0.0);
345             set_state(PART:"over2", "visible", 0.0);
346             set_state(PART:"disabler", "visible", 0.0);
347             get_state(PART:"elm.text", st, 30, vl);
348             if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible"))
349               set_state(PART:"elm.text", "visible", 0.0);
350             else
351               set_state(PART:"elm.text", "default", 0.0);
352          }
353       }
354    }
355 }
356
357 group { name: "elm/button/base/hoversel_vertical/default";
358    alias: "elm/button/base/hoversel_vertical/entry";
359    alias: "elm/button/base/hoversel_horizontal/default";
360    alias: "elm/button/base/hoversel_horizontal/entry";
361    images {
362       image: "bt_base1.png" COMP;
363       image: "bt_base2.png" COMP;
364       image: "bt_hilight.png" COMP;
365       image: "bt_shine.png" COMP;
366       image: "bt_glow.png" COMP;
367       image: "updown.png" COMP;
368       image: "bt_dis_base.png" COMP;
369       image: "bt_dis_hilight.png" COMP;
370    }
371    parts {
372       part { name: "button_image";
373          mouse_events: 1;
374          description { state: "default" 0.0;
375             image {
376                normal: "bt_base2.png";
377                border: 7 7 7 7;
378             }
379             image.middle: SOLID;
380          }
381          description { state: "clicked" 0.0;
382             inherit: "default" 0.0;
383             image.normal: "bt_base1.png";
384             image.middle: SOLID;
385          }
386          description { state: "disabled" 0.0;
387             inherit:  "default" 0.0;
388             image {
389                normal: "bt_dis_base.png";
390                border: 4 4 4 4;
391             }
392          }
393       }
394       part { name: "arrow";
395          mouse_events: 0;
396          description { state: "default" 0.0;
397             image.normal: "updown.png";
398             aspect: 0.6666666666 0.6666666666;
399             aspect_preference: VERTICAL;
400             rel1.offset: 6 7;
401             rel2.offset: 6 -7;
402             rel2.relative: 0.0 1.0;
403             align: 0.0 0.5;
404          }
405       }
406       part { name: "elm.swallow.content";
407          type: SWALLOW;
408          description { state: "default" 0.0;
409             fixed: 1 0;
410             visible: 0;
411             align: 0.0 0.5;
412             rel1 {
413                to_x: "arrow";
414                offset: 2 4;
415                relative: 1.0 0.0;
416             }
417             rel2 {
418                to_x: "arrow";
419                offset: 1 -5;
420                relative: 1.0 1.0;
421             }
422          }
423          description { state: "visible" 0.0;
424             inherit: "default" 0.0;
425             fixed: 1 0;
426             visible: 1;
427             aspect: 1.0 1.0;
428             aspect_preference: VERTICAL;
429             rel2.offset: 2 -5;
430          }
431          description { state: "icononly" 0.0;
432             inherit: "default" 0.0;
433             fixed: 0 0;
434             visible: 1;
435             align: 0.5 0.5;
436             aspect: 1.0 1.0;
437             rel1 {
438                to_x: "button_image";
439                offset: -5 -5;
440                relative: 1.0 1.0;
441             }
442             aspect_preference: VERTICAL;
443          }
444       }
445       part {
446          name:          "elm.text";
447          type:          TEXT;
448          effect:        SOFT_SHADOW;
449          mouse_events:  0;
450          scale: 1;
451          description { state: "default" 0.0;
452             visible: 0;
453             rel1.to_x: "elm.swallow.content";
454             rel1.relative: 1.0 0.0;
455             rel1.offset: 0 4;
456             rel2.offset: -5 -5;
457             color: 224 224 224 255;
458             color3: 0 0 0 64;
459             text {
460                font:     "Sans,Edje-Vera";
461                size:     10;
462                min:      0 0;
463                align:    0.5 0.5;
464                text_class: "button";
465             }
466          }
467          description { state: "visible" 0.0;
468             inherit: "default" 0.0;
469             visible: 1;
470             text.min: 1 1;
471          }
472          description { state: "disabled" 0.0;
473             inherit: "default" 0.0;
474             color: 0 0 0 128;
475             color3: 0 0 0 0;
476          }
477          description { state: "disabled_visible" 0.0;
478             inherit: "default" 0.0;
479             color: 0 0 0 128;
480             color3: 0 0 0 0;
481             visible: 1;
482             text.min: 1 1;
483          }
484       }
485       part {          name: "over1";
486          mouse_events: 0;
487          description { state: "default" 0.0;
488             rel2.relative: 1.0 0.5;
489             image {
490                normal: "bt_hilight.png";
491                border: 7 7 7 0;
492             }
493          }
494          description { state: "disabled" 0.0;
495             inherit:  "default" 0.0;
496             image {
497                normal: "bt_dis_hilight.png";
498                border: 4 4 4 0;
499             }
500          }
501       }
502       part { name: "over2";
503          mouse_events: 1;
504          repeat_events: 1;
505          ignore_flags: ON_HOLD;
506          description { state: "default" 0.0;
507             image {
508                normal: "bt_shine.png";
509                border: 7 7 7 7;
510             }
511          }
512          description { state: "disabled" 0.0;
513             inherit:  "default" 0.0;
514             visible: 0;
515          }
516       }
517       part { name: "over3";
518          mouse_events: 1;
519          repeat_events: 1;
520          description { state: "default" 0.0;
521             color: 255 255 255 0;
522             image {
523                normal: "bt_glow.png";
524                border: 12 12 12 12;
525             }
526             fill.smooth : 0;
527          }
528          description { state: "clicked" 0.0;
529             inherit:  "default" 0.0;
530             visible: 1;
531             color: 255 255 255 255;
532          }
533       }
534       part { name: "disabler";
535          type: RECT;
536          description { state: "default" 0.0;
537             color: 0 0 0 0;
538             visible: 0;
539          }
540          description { state: "disabled" 0.0;
541             inherit: "default" 0.0;
542             visible: 1;
543          }
544       }
545       // used to force sizing of icon to follow label sizing nearby
546       part { name: "sizer.content"; type: TEXT;
547          mouse_events:  0;
548          scale: 1;
549          description { state: "default" 0.0;
550             visible: 0;
551             text {
552                font: "Sans,Edje-Vera";
553                size: 10;
554                min: 0 0;
555                text_class: "button";
556             }
557          }
558          description { state: "visible" 0.0;
559             inherit: "default" 0.0;
560             rel1.to: "elm.swallow.content";
561             rel2.to: "elm.swallow.content";
562             text {
563                min: 1 1;
564                text: "M";
565             }
566          }
567          description { state: "icononly" 0.0;
568             inherit: "default" 0.0;
569             rel1.to: "elm.swallow.content";
570             rel2.to: "elm.swallow.content";
571             text {
572                min: 1 1;
573                text: "M";
574             }
575          }
576       }
577       // end sizer
578    }
579    programs {
580       program {
581          name:   "button_click";
582          signal: "mouse,down,1";
583          source: "over2";
584          action: STATE_SET "clicked" 0.0;
585          target: "button_image";
586       }
587       program {
588          name:   "button_unclick";
589          signal: "mouse,up,1";
590          source: "over2";
591          action: STATE_SET "default" 0.0;
592          target: "button_image";
593       }
594       program {
595          name:   "button_click2";
596          signal: "mouse,down,1";
597          source: "over3";
598          action: STATE_SET "clicked" 0.0;
599          target: "over3";
600       }
601       program {
602          name:   "button_unclick2";
603          signal: "mouse,up,1";
604          source: "over3";
605          action: STATE_SET "default" 0.0;
606          transition: DECELERATE 0.5;
607          target: "over3";
608       }
609       program {
610          name:   "button_unclick3";
611          signal: "mouse,up,1";
612          source: "over2";
613          action: SIGNAL_EMIT "elm,action,click" "";
614       }
615       program { name: "text_show";
616          signal: "elm,state,text,visible";
617          source: "elm";
618          script {
619             new st[31];
620             new Float:vl;
621             get_state(PART:"elm.swallow.content", st, 30, vl);
622             if (!strcmp(st, "icononly")) {
623                set_state(PART:"elm.swallow.content", "visible", 0.0);
624                set_state(PART:"sizer.content", "visible", 0.0);
625             }
626             set_state(PART:"elm.text", "visible", 0.0);
627          }
628       }
629       program { name: "text_hide";
630          signal: "elm,state,text,hidden";
631          source: "elm";
632          script {
633             new st[31];
634             new Float:vl;
635             get_state(PART:"elm.swallow.content", st, 30, vl);
636             if (!strcmp(st, "visible")) {
637                set_state(PART:"elm.swallow.content", "icononly", 0.0);
638                set_state(PART:"sizer.content", "icononly", 0.0);
639             }
640             set_state(PART:"elm.text", "default", 0.0);
641          }
642       }
643       program { name: "icon_show";
644          signal: "elm,state,icon,visible";
645          source: "elm";
646          script {
647             new st[31];
648             new Float:vl;
649             get_state(PART:"elm.text", st, 30, vl);
650             if (!strcmp(st, "visible")) {
651                set_state(PART:"elm.swallow.content", "visible", 0.0);
652                set_state(PART:"sizer.content", "visible", 0.0);
653             }
654             else {
655                set_state(PART:"elm.swallow.content", "icononly", 0.0);
656                set_state(PART:"sizer.content", "icononly", 0.0);
657             }
658          }
659       }
660       program { name: "icon_hide";
661          signal: "elm,state,icon,hidden";
662          source: "elm";
663          action:  STATE_SET "default" 0.0;
664          target: "elm.swallow.content";
665          target: "sizer.content";
666       }
667       program { name: "disable";
668          signal: "elm,state,disabled";
669          source: "elm";
670          action: STATE_SET "disabled" 0.0;
671          target: "button_image";
672          target: "over1";
673          target: "over2";
674          target: "disabler";
675          after: "disable_text";
676       }
677       program { name: "disable_text";
678          script {
679             new st[31];
680             new Float:vl;
681             get_state(PART:"elm.text", st, 30, vl);
682             if (!strcmp(st, "visible"))
683               set_state(PART:"elm.text", "disabled_visible", 0.0);
684             else
685               set_state(PART:"elm.text", "disabled", 0.0);
686          }
687       }
688       program { name: "enable";
689          signal: "elm,state,enabled";
690          source: "elm";
691          action: STATE_SET "default" 0.0;
692          target: "button_image";
693          target: "over1";
694          target: "over2";
695          target: "disabler";
696          after: "enable_text";
697       }
698       program { name: "enable_text";
699          script {
700             new st[31];
701             new Float:vl;
702             get_state(PART:"elm.text", st, 30, vl);
703             if (!strcmp(st, "disabled_visible"))
704               set_state(PART:"elm.text", "visible", 0.0);
705             else
706               set_state(PART:"elm.text", "default", 0.0);
707          }
708       }
709    }
710 }
711
712 group { name: "elm/button/base/hoversel_vertical_entry/default";
713    alias: "elm/button/base/hoversel_vertical_entry/entry";
714    alias: "elm/button/base/hoversel_horizontal_entry/default";
715    alias: "elm/button/base/hoversel_horizontal_entry/entry";
716    images {
717       image: "hoversel_entry_bg.png" COMP;
718    }
719    parts {
720       part { name: "button_image";
721          mouse_events: 1;
722          description { state: "default" 0.0;
723             color: 255 255 255 0;
724             image.normal: "hoversel_entry_bg.png";
725             image.border: 0 0 2 2;
726             fill.smooth: 0;
727          }
728          description { state: "clicked" 0.0;
729             inherit: "default" 0.0;
730             color: 255 255 255 255;
731          }
732       }
733       part { name: "elm.swallow.content";
734          type: SWALLOW;
735          description { state: "default" 0.0;
736             visible: 0;
737             align: 0.0 0.5;
738             rel1.offset: 4 4;
739             rel2.offset: 3 -5;
740             rel2.relative: 0.0 1.0;
741          }
742          description { state: "visible" 0.0;
743             inherit: "default" 0.0;
744             fixed: 1 0;
745             visible: 1;
746             aspect: 1.0 1.0;
747             aspect_preference: VERTICAL;
748             rel2.offset: 4 -5;
749          }
750          description { state: "icononly" 0.0;
751             inherit: "default" 0.0;
752             fixed: 0 0;
753             visible: 1;
754             align: 0.5 0.5;
755             aspect: 1.0 1.0;
756             rel2.offset: -5 -5;
757             rel2.relative: 1.0 1.0;
758             aspect_preference: VERTICAL;
759          }
760       }
761       part { name: "textvis";
762          type: RECT;
763          mouse_events: 0;
764          description { state: "default" 0.0;
765             visible: 0;
766          }
767          description { state: "visible" 0.0;
768             visible: 1;
769          }
770       }
771       part {
772          name:          "elm.text";
773          type:          TEXT;
774          effect:        SOFT_SHADOW;
775          mouse_events:  0;
776          scale: 1;
777          clip_to:       "textvis";
778          description { state: "default" 0.0;
779             rel1.to_x: "elm.swallow.content";
780             rel1.relative: 1.0 0.0;
781             rel1.offset: 0 4;
782             rel2.offset: -5 -5;
783             color: 224 224 224 255;
784             color3: 0 0 0 64;
785             text {
786                font:     "Sans,Edje-Vera";
787                size:     10;
788                min:      0 0;
789                align:    0.5 0.5;
790                text_class: "button";
791             }
792          }
793          description { state: "visible" 0.0;
794             inherit: "default" 0.0;
795             text.min: 1 1;
796          }
797          description { state: "clicked" 0.0;
798             inherit: "default" 0.0;
799             text.min: 1 1;
800             color: 0 0 0 255;
801             color3: 0 0 0 0;
802          }
803       }
804       part { name: "over2";
805          type: RECT;
806          mouse_events: 1;
807          description { state: "default" 0.0;
808             color: 0 0 0 0;
809          }
810       }
811       // used to force sizing of icon to follow label sizing nearby
812       part { name: "sizer.content"; type: TEXT;
813          mouse_events:  0;
814          scale: 1;
815          description { state: "default" 0.0;
816             visible: 0;
817             text {
818                font: "Sans,Edje-Vera";
819                size: 10;
820                min: 0 0;
821                text_class: "button";
822             }
823          }
824          description { state: "visible" 0.0;
825             inherit: "default" 0.0;
826             rel1.to: "elm.swallow.content";
827             rel2.to: "elm.swallow.content";
828             text {
829                min: 1 1;
830                text: "M";
831             }
832          }
833          description { state: "icononly" 0.0;
834             inherit: "default" 0.0;
835             rel1.to: "elm.swallow.content";
836             rel2.to: "elm.swallow.content";
837             text {
838                min: 1 1;
839                text: "M";
840             }
841          }
842       }
843       // end sizer
844    }
845    programs {
846       program {
847          name:   "button_click";
848          signal: "mouse,down,1";
849          source: "over2";
850          action: STATE_SET "clicked" 0.0;
851          target: "button_image";
852          target: "elm.text";
853       }
854       program {
855          name:   "button_unclick";
856          signal: "mouse,up,1";
857          source: "over2";
858          action: STATE_SET "default" 0.0;
859          target: "button_image";
860          target: "elm.text";
861       }
862       program {
863          name:   "button_unclick3";
864          signal: "mouse,up,1";
865          source: "over2";
866          action: SIGNAL_EMIT "elm,action,click" "";
867       }
868       program { name: "text_show";
869          signal: "elm,state,text,visible";
870          source: "elm";
871          script {
872             new st[31];
873             new Float:vl;
874             get_state(PART:"elm.swallow.content", st, 30, vl);
875             if (!strcmp(st, "icononly")) {
876                set_state(PART:"elm.swallow.content", "visible", 0.0);
877                set_state(PART:"sizer.content", "visible", 0.0);
878             }
879             set_state(PART:"textvis", "visible", 0.0);
880             set_state(PART:"elm.text", "visible", 0.0);
881          }
882       }
883       program { name: "text_hide";
884          signal: "elm,state,text,hidden";
885          source: "elm";
886          script {
887             new st[31];
888             new Float:vl;
889             get_state(PART:"elm.swallow.content", st, 30, vl);
890             if (!strcmp(st, "visible")) {
891                set_state(PART:"elm.swallow.content", "icononly", 0.0);
892                set_state(PART:"sizer.content", "icononly", 0.0);
893             }
894             set_state(PART:"textvis", "default", 0.0);
895             set_state(PART:"elm.text", "default", 0.0);
896          }
897       }
898       program { name: "icon_show";
899          signal: "elm,state,icon,visible";
900          source: "elm";
901          script {
902             new st[31];
903             new Float:vl;
904             get_state(PART:"textvis", st, 30, vl);
905             if (!strcmp(st, "visible")) {
906                set_state(PART:"elm.swallow.content", "visible", 0.0);
907                set_state(PART:"sizer.content", "visible", 0.0);
908             }
909             else {
910                set_state(PART:"elm.swallow.content", "icononly", 0.0);
911                set_state(PART:"sizer.content", "icononly", 0.0);
912             }
913          }
914       }
915       program { name: "icon_hide";
916          signal: "elm,state,icon,hidden";
917          source: "elm";
918          action:  STATE_SET "default" 0.0;
919          target: "elm.swallow.content";
920          target: "sizer.content";
921       }
922    }
923 }
924
925 group { name: "elm/button/base/anchor";
926    images {
927       image: "bt_base1.png" COMP;
928       image: "bt_base2.png" COMP;
929       image: "bt_hilight.png" COMP;
930       image: "bt_shine.png" COMP;
931       image: "bt_glow.png" COMP;
932       image: "bt_dis_base.png" COMP;
933       image: "bt_dis_hilight.png" COMP;
934    }
935    parts {
936       part { name: "button_image";
937          mouse_events: 1;
938          description { state: "default" 0.0;
939             min: 15 15;
940             color: 255 255 255 0;
941             image {
942                normal: "bt_base2.png";
943                border: 7 7 7 7;
944             }
945             image.middle: SOLID;
946          }
947          description { state: "visible" 0.0;
948             inherit: "default" 0.0;
949             color: 255 255 255 255;
950          }
951          description { state: "clicked" 0.0;
952             inherit: "default" 0.0;
953             inherit: "visible" 0.0;
954             image.normal: "bt_base1.png";
955             image.middle: SOLID;
956          }
957          description { state: "disabled" 0.0;
958             inherit:  "default" 0.0;
959             inherit: "visible" 0.0;
960             image {
961                normal: "bt_dis_base.png";
962                border: 4 4 4 4;
963             }
964          }
965       }
966       part { name: "elm.swallow.content";
967          type: SWALLOW;
968          description { state: "default" 0.0;
969             fixed: 1 0;
970             visible: 0;
971             align: 0.0 0.5;
972             rel1.offset: 4 4;
973             rel2.offset: 3 -5;
974             rel2.relative: 0.0 1.0;
975          }
976          description { state: "visible" 0.0;
977             inherit: "default" 0.0;
978             fixed: 1 0;
979             visible: 1;
980             aspect: 1.0 1.0;
981             aspect_preference: VERTICAL;
982             rel2.offset: 4 -5;
983          }
984          description { state: "icononly" 0.0;
985             inherit: "default" 0.0;
986             fixed: 0 0;
987             visible: 1;
988             align: 0.5 0.5;
989             aspect: 1.0 1.0;
990             rel2.offset: -5 -5;
991             rel2.relative: 1.0 1.0;
992             aspect_preference: VERTICAL;
993          }
994       }
995       part {
996          name:          "elm.text";
997          type:          TEXT;
998          effect:        SOFT_SHADOW;
999          mouse_events:  0;
1000          scale: 1;
1001          description { state: "default" 0.0;
1002             visible: 0;
1003             rel1.to_x: "elm.swallow.content";
1004             rel1.relative: 1.0 0.0;
1005             rel1.offset: 0 4;
1006             rel2.offset: -5 -5;
1007             color: 224 224 224 255;
1008             color3: 0 0 0 64;
1009             text {
1010                font:     "Sans,Edje-Vera";
1011                size:     10;
1012                min:      0 0;
1013                align:    0.5 0.5;
1014                text_class: "button";
1015             }
1016          }
1017          description { state: "visible" 0.0;
1018             inherit: "default" 0.0;
1019             visible: 1;
1020             text.min: 1 1;
1021          }
1022          description { state: "disabled" 0.0;
1023             inherit: "default" 0.0;
1024          }
1025          description { state: "disabled_visible" 0.0;
1026             inherit: "default" 0.0;
1027             color: 0 0 0 128;
1028             color3: 0 0 0 0;
1029             visible: 1;
1030             text.min: 1 1;
1031          }
1032       }
1033       part {          name: "over1";
1034          mouse_events: 0;
1035          description { state: "default" 0.0;
1036             color: 255 255 255 0;
1037             rel2.relative: 1.0 0.5;
1038             image {
1039                normal: "bt_hilight.png";
1040                border: 7 7 7 0;
1041             }
1042          }
1043          description { state: "visible" 0.0;
1044             inherit:  "default" 0.0;
1045             color: 255 255 255 255;
1046          }
1047          description { state: "disabled" 0.0;
1048             inherit:  "default" 0.0;
1049             inherit:  "visible" 0.0;
1050             image {
1051                normal: "bt_dis_hilight.png";
1052                border: 4 4 4 0;
1053             }
1054          }
1055       }
1056       part { name: "over2";
1057          mouse_events: 1;
1058          repeat_events: 1;
1059          ignore_flags: ON_HOLD;
1060          description { state: "default" 0.0;
1061             image {
1062                normal: "bt_shine.png";
1063                border: 7 7 7 7;
1064             }
1065          }
1066          description { state: "disabled" 0.0;
1067             inherit:  "default" 0.0;
1068             visible: 0;
1069          }
1070       }
1071       part { name: "over3";
1072          mouse_events: 1;
1073          repeat_events: 1;
1074          description { state: "default" 0.0;
1075             color: 255 255 255 0;
1076             image {
1077                normal: "bt_glow.png";
1078                border: 12 12 12 12;
1079             }
1080             fill.smooth : 0;
1081          }
1082          description { state: "clicked" 0.0;
1083             inherit:  "default" 0.0;
1084             visible: 1;
1085             color: 255 255 255 255;
1086          }
1087       }
1088       part { name: "disabler";
1089          type: RECT;
1090          description { state: "default" 0.0;
1091             color: 0 0 0 0;
1092             visible: 0;
1093          }
1094          description { state: "disabled" 0.0;
1095             inherit: "default" 0.0;
1096             visible: 1;
1097          }
1098       }
1099       // used to force sizing of icon to follow label sizing nearby
1100       part { name: "sizer.content"; type: TEXT;
1101          mouse_events:  0;
1102          scale: 1;
1103          description { state: "default" 0.0;
1104             visible: 0;
1105             text {
1106                font: "Sans,Edje-Vera";
1107                size: 10;
1108                min: 0 0;
1109                text_class: "button";
1110             }
1111          }
1112          description { state: "visible" 0.0;
1113             inherit: "default" 0.0;
1114             rel1.to: "elm.swallow.content";
1115             rel2.to: "elm.swallow.content";
1116             text {
1117                min: 1 1;
1118                text: "M";
1119             }
1120          }
1121          description { state: "icononly" 0.0;
1122             inherit: "default" 0.0;
1123             rel1.to: "elm.swallow.content";
1124             rel2.to: "elm.swallow.content";
1125             text {
1126                min: 1 1;
1127                text: "M";
1128             }
1129          }
1130       }
1131       // end sizer
1132    }
1133    programs {
1134       program {
1135          name:   "button_mouse_in";
1136          signal: "mouse,in";
1137          source: "over2";
1138          action: STATE_SET "visible" 0.0;
1139          target: "button_image";
1140          target: "over1";
1141          transition: DECELERATE 0.5;
1142       }
1143       program {
1144          name:   "button_mouse_out";
1145          signal: "mouse,out";
1146          source: "over2";
1147          action: STATE_SET "default" 0.0;
1148          target: "button_image";
1149          target: "over1";
1150          transition: DECELERATE 0.5;
1151       }
1152       program {
1153          name:   "button_unclick";
1154          signal: "mouse,up,1";
1155          source: "over2";
1156          action: STATE_SET "visible" 0.0;
1157          target: "button_image";
1158       }
1159       program {
1160          name:   "button_click2";
1161          signal: "mouse,down,1";
1162          source: "over3";
1163          action: STATE_SET "clicked" 0.0;
1164          target: "over3";
1165       }
1166       program {
1167          name:   "button_unclick2";
1168          signal: "mouse,up,1";
1169          source: "over3";
1170          action: STATE_SET "default" 0.0;
1171          transition: DECELERATE 0.5;
1172          target: "over3";
1173       }
1174       program {
1175          name:   "button_unclick3";
1176          signal: "mouse,up,1";
1177          source: "over2";
1178          action: SIGNAL_EMIT "elm,action,click" "";
1179       }
1180       program { name: "text_show";
1181          signal: "elm,state,text,visible";
1182          source: "elm";
1183          script {
1184             new st[31];
1185             new Float:vl;
1186             get_state(PART:"elm.swallow.content", st, 30, vl);
1187             if (!strcmp(st, "icononly")) {
1188                set_state(PART:"elm.swallow.content", "visible", 0.0);
1189                set_state(PART:"sizer.content", "visible", 0.0);
1190             }
1191             get_state(PART:"elm.text", st, 30, vl);
1192             if (!strcmp(st, "disabled") || (!strcmp(st, "disabled_visible")))
1193               set_state(PART:"elm.text", "disabled_visible", 0.0);
1194             else
1195               set_state(PART:"elm.text", "visible", 0.0);
1196          }
1197       }
1198       program { name: "text_hide";
1199          signal: "elm,state,text,hidden";
1200          source: "elm";
1201          script {
1202             new st[31];
1203             new Float:vl;
1204             get_state(PART:"elm.swallow.content", st, 30, vl);
1205             if (!strcmp(st, "visible")) {
1206                set_state(PART:"elm.swallow.content", "icononly", 0.0);
1207                set_state(PART:"sizer.content", "icononly", 0.0);
1208             }
1209             get_state(PART:"elm.text", st, 30, vl);
1210             if (!strcmp(st, "default") || (!strcmp(st, "visible")))
1211               set_state(PART:"elm.text", "default", 0.0);
1212             else
1213               set_state(PART:"elm.text", "disabled", 0.0);
1214          }
1215       }
1216       program { name: "icon_show";
1217          signal: "elm,state,icon,visible";
1218          source: "elm";
1219          script {
1220             new st[31];
1221             new Float:vl;
1222             get_state(PART:"elm.text", st, 30, vl);
1223             if (!strcmp(st, "visible")) {
1224                set_state(PART:"elm.swallow.content", "visible", 0.0);
1225                set_state(PART:"sizer.content", "visible", 0.0);
1226             }
1227             else {
1228                set_state(PART:"elm.swallow.content", "icononly", 0.0);
1229                set_state(PART:"sizer.content", "icononly", 0.0);
1230             }
1231          }
1232       }
1233       program { name: "icon_hide";
1234          signal: "elm,state,icon,hidden";
1235          source: "elm";
1236          action:  STATE_SET "default" 0.0;
1237          target: "elm.swallow.content";
1238          target: "sizer.content";
1239       }
1240       program { name: "disable";
1241          signal: "elm,state,disabled";
1242          source: "elm";
1243          script {
1244             new st[31];
1245             new Float:vl;
1246             set_state(PART:"button_image", "disabled", 0.0);
1247             set_state(PART:"over1", "disabled", 0.0);
1248             set_state(PART:"over2", "disabled", 0.0);
1249             set_state(PART:"disabler", "disabled", 0.0);
1250             get_state(PART:"elm.text", st, 30, vl);
1251             if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible"))
1252               set_state(PART:"elm.text", "disabled_visible", 0.0);
1253             else
1254               set_state(PART:"elm.text", "disabled", 0.0);
1255          }
1256       }
1257       program { name: "enable";
1258          signal: "elm,state,enabled";
1259          source: "elm";
1260          script {
1261             new st[31];
1262             new Float:vl;
1263             set_state(PART:"button_image", "visible", 0.0);
1264             set_state(PART:"over1", "visible", 0.0);
1265             set_state(PART:"over2", "visible", 0.0);
1266             set_state(PART:"disabler", "visible", 0.0);
1267             get_state(PART:"elm.text", st, 30, vl);
1268             if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible"))
1269               set_state(PART:"elm.text", "visible", 0.0);
1270             else
1271               set_state(PART:"elm.text", "default", 0.0);
1272          }
1273       }
1274    }
1275 }
1276
1277 group { name: "elm/button/base/colorselector/left/default";
1278    images {
1279       image: "bt_base1.png" COMP;
1280       image: "bt_base2.png" COMP;
1281       image: "bt_hilight.png" COMP;
1282       image: "bt_shine.png" COMP;
1283       image: "bt_glow.png" COMP;
1284       image: "bt_dis_base.png" COMP;
1285       image: "bt_dis_hilight.png" COMP;
1286       image: "sp_bt_l.png" COMP;
1287    }
1288    parts {
1289       part { name: "button_image";
1290          mouse_events: 1;
1291          description { state: "default" 0.0;
1292             min: 15 15;
1293             image {
1294                normal: "bt_base2.png";
1295                border: 7 7 7 7;
1296             }
1297             image.middle: SOLID;
1298          }
1299          description { state: "clicked" 0.0;
1300             inherit: "default" 0.0;
1301             image.normal: "bt_base1.png";
1302          }
1303          description { state: "disabled" 0.0;
1304             inherit:  "default" 0.0;
1305             image {
1306                normal: "bt_dis_base.png";
1307                border: 4 4 4 4;
1308             }
1309          }
1310       }
1311       part { name: "prev_image";
1312          type: IMAGE;
1313          scale: 1;
1314          description { state: "default" 0.0;
1315             min: 16 16;
1316             max: 16 16;
1317             fixed: 1 1;
1318             align: 0.5 0.5;
1319             image.normal: "sp_bt_l.png";
1320          }
1321       }
1322       part { name: "over1";
1323          mouse_events: 0;
1324          description { state: "default" 0.0;
1325             rel2.relative: 1.0 0.5;
1326             image {
1327                normal: "bt_hilight.png";
1328                border: 7 7 7 0;
1329             }
1330          }
1331          description { state: "disabled" 0.0;
1332             inherit:  "default" 0.0;
1333             image {
1334                normal: "bt_dis_hilight.png";
1335                border: 4 4 4 0;
1336             }
1337          }
1338       }
1339       part { name: "over2";
1340          mouse_events: 1;
1341          repeat_events: 1;
1342          ignore_flags: ON_HOLD;
1343          description { state: "default" 0.0;
1344             image {
1345                normal: "bt_shine.png";
1346                border: 7 7 7 7;
1347             }
1348          }
1349          description { state: "disabled" 0.0;
1350             inherit:  "default" 0.0;
1351             visible: 0;
1352          }
1353       }
1354       part { name: "over3";
1355          mouse_events: 1;
1356          repeat_events: 1;
1357          description { state: "default" 0.0;
1358             color: 255 255 255 0;
1359             image {
1360                normal: "bt_glow.png";
1361                border: 12 12 12 12;
1362             }
1363             fill.smooth : 0;
1364          }
1365          description { state: "clicked" 0.0;
1366             inherit:  "default" 0.0;
1367             color: 255 255 255 255;
1368          }
1369       }
1370       part { name: "disabler";
1371          type: RECT;
1372          description { state: "default" 0.0;
1373             color: 0 0 0 0;
1374             visible: 0;
1375          }
1376          description { state: "disabled" 0.0;
1377             inherit: "default" 0.0;
1378             visible: 1;
1379          }
1380       }
1381    }
1382    programs {
1383       program {
1384          name:   "button_click";
1385          signal: "mouse,down,1";
1386          source: "over2";
1387          action: SIGNAL_EMIT "elm,action,press" "";
1388          after: "button_click_anim";
1389       }
1390       program {
1391          name:   "button_click_anim";
1392          action: STATE_SET "clicked" 0.0;
1393          target: "button_image";
1394       }
1395       program {
1396          name:   "button_unclick";
1397          signal: "mouse,up,1";
1398          source: "over3";
1399          action: SIGNAL_EMIT "elm,action,unpress" "";
1400          after: "button_unclick_anim";
1401       }
1402       program {
1403          name:   "button_pressed_anim";
1404          signal: "elm,anim,activate";
1405          source: "elm";
1406          action: STATE_SET "clicked" 0.0;
1407          target: "button_image";
1408          target: "over3";
1409          after: "button_unpressed_anim";
1410       }
1411       program {
1412          name:   "button_unpressed_anim";
1413          action: STATE_SET "default" 0.0;
1414          transition: DECELERATE 0.5;
1415          target: "button_image";
1416          target: "over3";
1417       }
1418       program {
1419          name:   "button_unclick_anim";
1420          action: STATE_SET "default" 0.0;
1421          target: "button_image";
1422       }
1423       program {
1424          name:   "button_click2";
1425          signal: "mouse,down,1";
1426          source: "over3";
1427          action: STATE_SET "clicked" 0.0;
1428          target: "over3";
1429       }
1430       program {
1431          name:   "button_unclick2";
1432          signal: "mouse,up,1";
1433          source: "over3";
1434          action: STATE_SET "default" 0.0;
1435          transition: DECELERATE 0.5;
1436          target: "over3";
1437       }
1438       program {
1439          name:   "button_unclick3";
1440          signal: "mouse,clicked,1";
1441          source: "over2";
1442          action: SIGNAL_EMIT "elm,action,click" "";
1443       }
1444       program { name: "disable";
1445          signal: "elm,state,disabled";
1446          source: "elm";
1447          action: STATE_SET "disabled" 0.0;
1448          target: "button_image";
1449          target: "over1";
1450          target: "over2";
1451          target: "disabler";
1452       }
1453       program { name: "enable";
1454          signal: "elm,state,enabled";
1455          source: "elm";
1456          action: STATE_SET "default" 0.0;
1457          target: "button_image";
1458          target: "over1";
1459          target: "over2";
1460          target: "disabler";
1461       }
1462    }
1463 }
1464
1465 group { name: "elm/button/base/colorselector/right/default";
1466      inherit: "elm/button/base/colorselector/left/default";
1467      images {
1468       image: "sp_bt_r.png" COMP;
1469    }
1470    parts {
1471       part { name: "prev_image";
1472          type: IMAGE;
1473          scale: 1;
1474          description { state: "default" 0.0;
1475             min: 16 16;
1476             max: 16 16;
1477             fixed: 1 1;
1478             align: 0.5 0.5;
1479             image.normal: "sp_bt_r.png";
1480          }
1481       }
1482    }
1483 }