Initialize Tizen 2.3
[framework/uifw/elementary.git] / mobile / data / themes / widgets / check.edc
1 group { name: "elm/check/base/default";
2    images {
3       image: "check_base.png" COMP;
4       image: "check.png" COMP;
5       image: "check2.png" COMP;
6    }
7    parts {
8       part { name: "bg";
9          mouse_events: 0;
10          scale: 1;
11          description { state: "default" 0.0;
12             rel1.offset: 1 1;
13             rel2.relative: 0.0 1.0;
14             rel2.offset: 1 -2;
15             align: 0.0 0.5;
16             min: 16 16;
17             max: 16 16;
18             aspect: 1.0 1.0;
19             aspect_preference: VERTICAL;
20             image {
21                normal: "check_base.png";
22                border: 5 5 5 5;
23                middle: 0;
24             }
25             fill.smooth : 0;
26          }
27       }
28       part { name: "check";
29          mouse_events: 0;
30          scale: 1;
31          description { state: "default" 0.0;
32             rel1 {
33                to: "bg";
34                offset: 1 1;
35             }
36             rel2 {
37                to: "bg";
38                offset: -2 -2;
39             }
40             visible: 0;
41             color: 255 255 255 255;
42             image.normal: "check.png";
43          }
44          description { state: "visible" 0.0;
45             inherit: "default" 0.0;
46             visible: 1;
47          }
48          description { state: "disabled" 0.0;
49             inherit: "default" 0.0;
50             visible: 0;
51             color: 128 128 128 128;
52          }
53          description { state: "disabled_visible" 0.0;
54             inherit: "default" 0.0;
55             color: 128 128 128 128;
56             visible: 1;
57          }
58       }
59       part { name: "elm.swallow.content";
60          type: SWALLOW;
61          scale: 1;
62          description { state: "default" 0.0;
63             fixed: 1 0;
64             visible: 0;
65             align: 0.0 0.5;
66             rel1.to_x: "bg";
67             rel1.relative: 1.0 0.0;
68             rel1.offset: 1 1;
69             rel2.to_x: "bg";
70             rel2.offset: 1 -2;
71             rel2.relative: 1.0 1.0;
72          }
73          description { state: "visible" 0.0;
74             inherit: "default" 0.0;
75             fixed: 1 0;
76             visible: 1;
77             aspect: 1.0 1.0;
78             min: 16 16;
79          }
80          description { state: "disabled" 0.0;
81             inherit: "default" 0.0;
82             color: 255 255 255 128;
83          }
84          description { state: "disabled_visible" 0.0;
85             inherit: "default" 0.0;
86             color: 255 255 255 128;
87             fixed: 1 0;
88             visible: 1;
89             aspect: 1.0 1.0;
90          }
91       }
92       part { name: "elm.text";
93          type: TEXT;
94          mouse_events: 0;
95          scale: 1;
96          description { state: "default" 0.0;
97             visible: 0;
98             rel1.to_x: "elm.swallow.content";
99             rel1.relative: 1.0 0.0;
100             rel1.offset: 1 1;
101             rel2.relative: 1.0 1.0;
102             rel2.offset: -2 -2;
103             color: 0 0 0 255;
104             text {
105                font: "Sans,Edje-Vera";
106                size: 10;
107                min: 0 1;
108                align: -1.0 0.5;
109             }
110          }
111          description { state: "visible" 0.0;
112             inherit: "default" 0.0;
113             visible: 1;
114             text.min: 1 1;
115          }
116          description { state: "disabled" 0.0;
117             inherit: "default" 0.0;
118             color: 0 0 0 128;
119             color3: 0 0 0 0;
120          }
121          description { state: "disabled_visible" 0.0;
122             inherit: "default" 0.0;
123             color: 0 0 0 128;
124             color3: 0 0 0 0;
125             visible: 1;
126             text.min: 1 1;
127          }
128       }
129       part { name: "events";
130          type: RECT;
131          ignore_flags: ON_HOLD;
132          description { state: "default" 0.0;
133             color: 0 0 0 0;
134          }
135       }
136       part { name: "disabler";
137          type: RECT;
138          description { state: "default" 0.0;
139             color: 0 0 0 0;
140             visible: 0;
141          }
142          description { state: "disabled" 0.0;
143             inherit: "default" 0.0;
144             visible: 1;
145          }
146       }
147    }
148    programs {
149       program { name: "click";
150          signal: "mouse,clicked,1";
151          source: "events";
152          action: SIGNAL_EMIT "elm,action,check,toggle" "";
153       }
154       program { name: "check_on";
155          signal: "elm,state,check,on";
156          source: "elm";
157          action:  STATE_SET "visible" 0.0;
158          target: "check";
159       }
160       program { name: "check_off";
161          signal: "elm,state,check,off";
162          source: "elm";
163          action:  STATE_SET "default" 0.0;
164          target: "check";
165       }
166       program { name: "text_show";
167          signal: "elm,state,text,visible";
168          source: "elm";
169          action:  STATE_SET "visible" 0.0;
170          target: "elm.text";
171       }
172       program { name: "text_hide";
173          signal: "elm,state,text,hidden";
174          source: "elm";
175          action:  STATE_SET "default" 0.0;
176          target: "elm.text";
177       }
178       program { name: "icon_show";
179          signal: "elm,state,icon,visible";
180          source: "elm";
181          action:  STATE_SET "visible" 0.0;
182          target: "elm.swallow.content";
183       }
184       program { name: "icon_hide";
185          signal: "elm,state,icon,hidden";
186          source: "elm";
187          action:  STATE_SET "default" 0.0;
188          target: "elm.swallow.content";
189       }
190       program { name: "disable";
191          signal: "elm,state,disabled";
192          source: "elm";
193          action: STATE_SET "disabled" 0.0;
194          target: "disabler";
195          after: "disable_text";
196       }
197       program { name: "disable_text";
198          script {
199             new st[31];
200             new Float:vl;
201             get_state(PART:"elm.text", st, 30, vl);
202             if (!strcmp(st, "visible"))
203             set_state(PART:"elm.text", "disabled_visible", 0.0);
204             else
205             set_state(PART:"elm.text", "disabled", 0.0);
206
207             get_state(PART:"elm.swallow.content", st, 30, vl);
208             if (!strcmp(st, "visible"))
209             set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
210             else
211             set_state(PART:"elm.swallow.content", "disabled", 0.0);
212
213             get_state(PART:"check", st, 30, vl);
214             if (!strcmp(st, "visible"))
215             set_state(PART:"check", "disabled_visible", 0.0);
216             else
217             set_state(PART:"check", "disabled", 0.0);
218          }
219       }
220       program { name: "enable";
221          signal: "elm,state,enabled";
222          source: "elm";
223          action: STATE_SET "default" 0.0;
224          target: "disabler";
225          after: "enable_text";
226       }
227       program { name: "enable_text";
228          script {
229             new st[31];
230             new Float:vl;
231             get_state(PART:"elm.text", st, 30, vl);
232             if (!strcmp(st, "disabled_visible"))
233             set_state(PART:"elm.text", "visible", 0.0);
234             else
235             set_state(PART:"elm.text", "default", 0.0);
236
237             get_state(PART:"elm.swallow.content", st, 30, vl);
238             if (!strcmp(st, "visible"))
239             set_state(PART:"elm.swallow.content", "visible", 0.0);
240             else
241             set_state(PART:"elm.swallow.content", "default", 0.0);
242
243             get_state(PART:"check", st, 30, vl);
244             if (!strcmp(st, "visible"))
245             set_state(PART:"check", "visible", 0.0);
246             else
247             set_state(PART:"check", "default", 0.0);
248          }
249       }
250    }
251 }
252
253 group { name: "elm/check/base/toggle";
254    images {
255       image: "shelf_inset.png" COMP;
256       image: "bt_basew.png" COMP;
257       image: "bt_bases.png" COMP;
258       image: "bt_hilightw.png" COMP;
259       image: "tog_base_on.png" COMP;
260       image: "tog_base_off.png" COMP;
261       image: "tog_dis_base_on.png" COMP;
262       image: "tog_dis_base_off.png" COMP;
263    }
264    script {
265       public is_rtl;
266       public is_drag;
267       public was_drag;
268    }
269    parts {
270       part { name: "bg";
271          type: RECT;
272          mouse_events: 0;
273          scale: 1;
274          description { state: "default" 0.0;
275             fixed: 1 0;
276             rel1.relative: 1.0 0.0;
277             rel1.offset: -4 3;
278             rel2.offset: -4 -4;
279             align: 1.0 0.5;
280             min: 96 16;
281             max: 96 16;
282             visible: 0;
283          }
284       }
285       part { name: "clipper";
286          type: RECT;
287          mouse_events: 0;
288          description { state: "default" 0.0;
289             rel1.to: "bg";
290             rel2.to: "bg";
291             color: 255 255 255 255;
292          }
293       }
294       part { name: "button";
295          type: RECT;
296          scale: 1;
297          clip_to: "clipper";
298          mouse_events: 1;
299          dragable {
300             x: 1 1 0;
301             y: 0 0 0;
302             confine: "bg";
303          }
304          description { state: "default" 0.0;
305             fixed: 1 1;
306             rel1.to: "bg";
307             rel2.to: "bg";
308             min: 16 16;
309             max: 16 16;
310             aspect: 1.0 1.0;
311             aspect_preference: VERTICAL;
312             color: 0 0 0 0;
313          }
314       }
315       part { name: "button_events";
316          type: RECT;
317          dragable {
318             events: "button";
319          }
320          description { state: "default" 0.0;
321             color: 0 0 0 0;
322          }
323       }
324       part { name: "onrect";
325          type: IMAGE;
326          scale: 1;
327          clip_to: "clipper";
328          mouse_events: 0;
329          description { state: "default" 0.0;
330             rel1.to: "button";
331             rel1.relative: -5.0 0.0;
332             rel2.to: "button";
333             rel2.relative: 0.5 1.0;
334             image.normal: "tog_base_on.png";
335          }
336          description { state: "disabled" 0.0;
337             inherit: "default" 0.0;
338             image.normal: "tog_dis_base_on.png";
339          }
340       }
341       part { name: "offrect";
342          type: IMAGE;
343          scale: 1;
344          clip_to: "clipper";
345          mouse_events: 0;
346          description { state: "default" 0.0;
347             rel1.to: "button";
348             rel1.relative: 0.5 0.0;
349             rel2.to: "button";
350             rel2.relative: 6.0 1.0;
351             image.normal: "tog_base_off.png";
352          }
353          description { state: "disabled" 0.0;
354             inherit: "default" 0.0;
355             image.normal: "tog_dis_base_off.png";
356          }
357       }
358       part { name: "elm.offtext";
359          type: TEXT;
360          mouse_events:  0;
361          scale: 1;
362          clip_to: "clipper";
363          description { state: "default" 0.0;
364             fixed: 1 1;
365             rel1.to_x: "button";
366             rel1.relative: 1.0 0.0;
367             rel2.to_x: "offrect";
368             color: 0 0 0 255;
369             text {
370                font:     "Sans,Edje-Vera";
371                size:     10;
372                min:      0 1;
373                align:    0.5 0.5;
374                text:     "OFF";
375             }
376          }
377          description { state: "disabled" 0.0;
378             inherit: "default" 0.0;
379             color: 128 128 128 128;
380          }
381       }
382       part { name: "elm.ontext";
383          type: TEXT;
384          effect: SOFT_SHADOW;
385          mouse_events:  0;
386          scale: 1;
387          clip_to: "clipper";
388          description { state: "default" 0.0;
389             fixed: 1 1;
390             rel1.to_x: "onrect";
391             rel1.offset: 1 1;
392             rel2.to_x: "button";
393             rel2.offset: 0 0;
394             rel2.relative: 0.0 1.0;
395             color: 224 224 224 255;
396             color3: 0 0 0 64;
397             text {
398                font:     "Sans,Edje-Vera";
399                size:     10;
400                min:      0 1;
401                align:    0.5 0.5;
402                text:     "ON";
403             }
404          }
405          description { state: "disabled" 0.0;
406             inherit: "default" 0.0;
407             color: 128 128 128 128;
408             color3: 0 0 0 24;
409          }
410       }
411       part { name: "conf_over";
412          mouse_events:  0;
413          description { state: "default" 0.0;
414             rel1.offset: -1 -1;
415             rel1.to: "bg";
416             rel2.offset: 0 0;
417             rel2.to: "bg";
418             image {
419                normal: "shelf_inset.png";
420                border: 7 7 7 7;
421                middle: 0;
422             }
423             fill.smooth : 0;
424          }
425       }
426       part { name: "button0";
427          mouse_events:  0;
428          description { state: "default" 0.0;
429             rel1.to: "button2";
430             rel1.offset: -4 -4;
431             rel2.to: "button2";
432             rel2.offset: 3 3;
433             image {
434                normal: "bt_bases.png";
435                border: 11 11 11 11;
436             }
437             image.middle: SOLID;
438             color: 255 255 255 128;
439          }
440       }
441       part { name: "button2";
442          mouse_events:  0;
443          description { state: "default" 0.0;
444             rel1.to: "button";
445             rel1.offset: -3 -3;
446             rel2.to: "button";
447             rel2.offset: 2 2;
448             image {
449                normal: "bt_basew.png";
450                border: 7 7 7 7;
451             }
452             image.middle: SOLID;
453          }
454       }
455       part { name: "button3";
456          mouse_events:  0;
457          clip_to: "clipper";
458          description { state: "default" 0.0;
459             rel1.to: "button2";
460             rel2.to: "button2";
461             rel2.relative: 1.0 0.5;
462             image {
463                normal: "bt_hilightw.png";
464                border: 4 4 4 0;
465             }
466          }
467       }
468       part { name: "elm.swallow.content";
469          type: SWALLOW;
470          description { state: "default" 0.0;
471             fixed: 1 0;
472             visible: 0;
473             align: 0.0 0.5;
474             rel1.offset: 4 4;
475             rel2.relative: 0.0 1.0;
476             rel2.offset: 3 -5;
477          }
478          description { state: "visible" 0.0;
479             inherit: "default" 0.0;
480             visible: 1;
481             aspect: 1.0 1.0;
482             rel2.offset: 4 -5;
483          }
484          description { state: "disabled" 0.0;
485             inherit: "default" 0.0;
486             color: 128 128 128 128;
487          }
488          description { state: "disabled_visible" 0.0;
489             inherit: "default" 0.0;
490             color: 128 128 128 128;
491             visible: 1;
492             aspect: 1.0 1.0;
493          }
494       }
495       part { name: "elm.text";
496          type: TEXT;
497          mouse_events: 0;
498          scale: 1;
499          description { state: "default" 0.0;
500             visible: 0;
501             rel1.to_x: "elm.swallow.content";
502             rel1.relative: 1.0 0.0;
503             rel1.offset: 0 4;
504             rel2.to_x: "bg";
505             rel2.relative: 0.0 1.0;
506             rel2.offset: -7 -5;
507             color: 0 0 0 255;
508             text {
509                font: "Sans,Edje-Vera";
510                size: 10;
511                min: 0 0;
512                align: 0.0 0.5;
513             }
514          }
515          description { state: "visible" 0.0;
516             inherit: "default" 0.0;
517             visible: 1;
518             text.min: 1 1;
519          }
520          description { state: "disabled" 0.0;
521             inherit: "default" 0.0;
522             color: 128 128 128 128;
523          }
524          description { state: "disabled_visible" 0.0;
525             inherit: "default" 0.0;
526             color: 128 128 128 128;
527             visible: 1;
528             text.min: 1 1;
529          }
530       }
531       part { name: "disabler";
532          type: RECT;
533          description { state: "default" 0.0;
534             color: 0 0 0 0;
535             visible: 0;
536          }
537          description { state: "disabled" 0.0;
538             inherit: "default" 0.0;
539             visible: 1;
540          }
541       }
542    }
543    programs {
544       program {
545          signal: "mouse,clicked,1";
546          source: "button";
547          script {
548             new Float:dx, Float:dy;
549             get_drag(PART:"button", dx, dy);
550
551             if (!get_int(was_drag)) {
552                if (dx > 0.5)
553                   set_drag(PART:"button", 0.0, 0.0);
554                else
555                   set_drag(PART:"button", 1.0, 0.0);
556                if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
557                    (get_int(is_rtl) == 0) && (dx > 0.5))
558                   emit("elm,action,check,off", "");
559                else
560                   emit("elm,action,check,on", "");
561             }
562          }
563       }
564       program {
565          signal: "drag";
566          source: "button";
567          script {
568             set_int(is_drag, 1);
569          }
570       }
571       program {
572          signal: "mouse,down,1";
573          source: "button";
574          script {
575             set_int(was_drag, 0);
576             set_int(is_drag, 0);
577          }
578       }
579       program { name:   "drag_end";
580          signal: "mouse,up,1";
581          source: "button";
582          script {
583             new Float:dx, Float:dy;
584             get_drag(PART:"button", dx, dy);
585             if (dx > 0.5)
586             {
587                set_drag(PART:"button", 1.0, 0.0);
588             }
589             else
590             {
591                set_drag(PART:"button", 0.0, 0.0);
592             }
593             if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
594                 (get_int(is_rtl) == 0) && (dx > 0.5)) {
595                emit("elm,action,check,on", "");
596             }
597             else {
598                emit("elm,action,check,off", "");
599             }
600             set_int(was_drag, get_int(is_drag));
601             set_int(is_drag, 0);
602          }
603       }
604       program { name: "check_on";
605          signal: "elm,state,check,on";
606          source: "elm";
607          script {
608             new Float:drag;
609             if (get_int(is_rtl) == 0) {
610                drag = 100.0;
611             }
612             else {
613                drag = 0.0;
614             }
615             set_drag(PART:"button", drag, 0.0);
616          }
617       }
618       program { name: "check_off";
619          signal: "elm,state,check,off";
620          source: "elm";
621          script {
622             new Float:drag;
623             if (get_int(is_rtl) == 0) {
624                drag = 0.0;
625             }
626             else {
627                drag = 100.0;
628             }
629             set_drag(PART:"button", drag, 0.0);
630          }
631       }
632       program { name: "text_show";
633          signal: "elm,state,text,visible";
634          source: "elm";
635          action:  STATE_SET "visible" 0.0;
636          target: "elm.text";
637       }
638       program { name: "text_hide";
639          signal: "elm,state,text,hidden";
640          source: "elm";
641          action:  STATE_SET "default" 0.0;
642          target: "elm.text";
643       }
644       program { name: "icon_show";
645          signal: "elm,state,icon,visible";
646          source: "elm";
647          action:  STATE_SET "visible" 0.0;
648          target: "elm.swallow.content";
649       }
650       program { name: "icon_hide";
651          signal: "elm,state,icon,hidden";
652          source: "elm";
653          action:  STATE_SET "default" 0.0;
654          target: "elm.swallow.content";
655       }
656       program { name: "disable";
657          signal: "elm,state,disabled";
658          source: "elm";
659          action: STATE_SET "disabled" 0.0;
660          target: "elm.offtext";
661          target: "elm.ontext";
662          target: "onrect";
663          target: "offrect";
664          target: "disabler";
665          after: "disable_text";
666       }
667       program { name: "disable_text";
668          script {
669             new st[31];
670             new Float:vl;
671             get_state(PART:"elm.text", st, 30, vl);
672             if (!strcmp(st, "visible"))
673             set_state(PART:"elm.text", "disabled_visible", 0.0);
674             else
675             set_state(PART:"elm.text", "disabled", 0.0);
676
677             get_state(PART:"elm.swallow.content", st, 30, vl);
678             if (!strcmp(st, "visible"))
679             set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
680             else
681             set_state(PART:"elm.swallow.content", "disabled", 0.0);
682          }
683       }
684       program { name: "enable";
685          signal: "elm,state,enabled";
686          source: "elm";
687          action: STATE_SET "default" 0.0;
688          target: "disabler";
689          target: "onrect";
690          target: "offrect";
691          after: "enable_text";
692       }
693       program { name: "enable_text";
694          script {
695             new st[31];
696             new Float:vl;
697             get_state(PART:"elm.text", st, 30, vl);
698             if (!strcmp(st, "disabled_visible"))
699             set_state(PART:"elm.text", "visible", 0.0);
700             else
701             set_state(PART:"elm.text", "default", 0.0);
702
703             get_state(PART:"elm.swallow.content", st, 30, vl);
704             if (!strcmp(st, "visible"))
705             set_state(PART:"elm.swallow.content", "visible", 0.0);
706             else
707             set_state(PART:"elm.swallow.content", "default", 0.0);
708          }
709       }
710       program { name: "to_rtl";
711          signal: "edje,state,rtl";
712          source: "edje";
713          script {
714             set_int(is_rtl, 1);
715          }
716       }
717       program { name: "to_ltr";
718          signal: "edje,state,ltr";
719          source: "edje";
720          script {
721             set_int(is_rtl, 0);
722          }
723       }
724    }
725 }