tizen 2.3.1 release
[framework/uifw/efl-theme-tizen.git] / 2.2 / widgets / segmentedcontrol.edc
1 /*
2  * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions are met:
8  *
9  *   1. Redistributions of source code must retain the above copyright notice, this
10  *      list of conditions and the following disclaimer.
11  *   2. Redistributions in binary form must reproduce the above copyright notice,
12  *      this list of conditions and the following disclaimer in the documentation
13  *      and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
19  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26
27 //################################################################
28 //Segment Control
29 //################################################################
30
31 group { name: "elm/segment_control/base/default";
32 #define SEGMENT_TYPE_SINGLE 1
33 #define SEGMENT_TYPE_LEFT 2
34 #define SEGMENT_TYPE_MIDDLE 3
35 #define SEGMENT_TYPE_RIGHT 4
36 #define SEGMENT_STATE_NORMAL 1
37 #define SEGMENT_STATE_PRESSED 2
38 #define SEGMENT_STATE_SELECTED 3
39 #define SEGMENT_STATUS_ENABLED 0
40 #define SEGMENT_STATUS_DISABLED 1
41    parts {
42       part { name: "bg";
43          type: RECT;
44          mouse_events: 0;
45          scale: 1;
46          description {
47             state: "default" 0.0;
48             min: 100 40;
49             visible: 0;
50          }
51       }
52    }
53 }
54 group { name: "elm/segment_control/item/default";
55    styles{
56       style { name: "segment_control_multiline_style";
57          base: "font=Tizen:style=Bold font_size="SEGMENT_CONTROL_MULTILINE_TEXT_SIZE_INC" align=center color=#ffffff wrap=char ellipsis=1.0 text_class=tizen";
58          tag:  "br" "\n";
59          tag:  "hilight" "+ font_weight=Bold";
60          tag:  "b" "+ font_weight=Bold";
61          tag:  "tab" "\t";
62       }
63    }
64    images {
65       image: "00_badge_bg.#.png" COMP;
66    }
67    parts {
68       part { name: "base";
69          mouse_events: 0;
70          scale: 1;
71          description { state: "default" 0.0;
72             visible: 0;
73          }
74       }
75       part { name: "segment";
76          type: RECT;
77          mouse_events: 1;
78          scale: 1;
79          description { state: "default" 0.0;
80             min: 1 1;
81             visible: 0;
82             rel1 {
83                to: "base";
84                relative: 0.0 0.0;
85             }
86             rel2 {
87                to: "base";
88                relative: 1.0 1.0;
89             }
90             color: 0 0 0 0;
91          }
92          description { state: "default_single" 0.0;
93             inherit: "default" 0.0;
94             visible: 1;
95          }
96          description { state: "default_left" 0.0;
97             inherit: "default" 0.0;
98             visible: 1;
99          }
100          description { state: "default_right" 0.0;
101             inherit: "default" 0.0;
102             visible: 1;
103          }
104          description { state: "default_middle" 0.0;
105             inherit: "default" 0.0;
106             visible: 1;
107          }
108          description { state: "pressed_single" 0.0;
109             inherit: "default" 0.0;
110          }
111          description { state: "pressed_left" 0.0;
112             inherit: "default" 0.0;
113             visible: 1;
114          }
115          description { state: "pressed_right" 0.0;
116             inherit: "default" 0.0;
117          }
118          description { state: "pressed_middle" 0.0;
119             inherit: "default" 0.0;
120          }
121          description { state: "selected_single" 0.0;
122             inherit: "default" 0.0;
123          }
124          description { state: "selected_left" 0.0;
125             inherit: "default" 0.0;
126          }
127          description { state: "selected_right" 0.0;
128             inherit: "default" 0.0;
129          }
130          description { state: "selected_middle" 0.0;
131             inherit: "default" 0.0;
132          }
133       }
134       part { name: "seg_padding";
135          type: RECT;
136          mouse_events: 0;
137          description { state: "default" 0.0;
138             visible: 0;
139             min: 0 0;
140             fixed: 1 0;
141             align: 1.0 0.5;
142             rel1 {
143                to: "segment";
144                relative: 1.0 0.5;
145             }
146             rel2 {
147                to: "segment";
148                relative: 1.0 0.5;
149             }
150          }
151          description { state: "visible" 0.0;
152             inherit: "default" 0.0;
153             min: SEGMENT_CONTROL_DIVIDER_LINE_MIN_SIZE_INC;
154             visible: 1;
155          }
156       }
157       part { name: "divider_left";
158          type: RECT;
159          clip_to: "seg_padding";
160          mouse_events: 0;
161          description { state: "default" 0.0;
162             rel1 {
163                to: "seg_padding";
164                relative: 0.0 0.0;
165             }
166             rel2 {
167                to: "seg_padding";
168                relative: 0.5 1.0;
169             }
170             color: SEGMENT_CONTROL_DIVIDER_LEFT_COLOR_INC;
171          }
172       }
173       part { name: "divider_right";
174          type: RECT;
175          clip_to: "seg_padding";
176          mouse_events: 0;
177          description { state: "default" 0.0;
178             rel1 {
179                to: "seg_padding";
180                relative: 0.5 0.0;
181             }
182             rel2 {
183                to: "seg_padding";
184                relative: 1.0 1.0;
185             }
186             color: SEGMENT_CONTROL_DIVIDER_RIGHT_COLOR_INC;
187          }
188       }
189       part { name: "left_text_padding";
190          type: RECT;
191          scale: 1;
192          mouse_events: 0;
193          description { state: "default" 0.0;
194             visible: 0;
195             align: 0.0 0.5;
196             min: SEGMENT_CONTROL_TEXT_PADDING_MIN_SIZE_INC;
197             fixed: 1 0;
198             rel1 {
199                to: "segment";
200                relative: 0.0 0.0;
201             }
202             rel2 {
203                to: "segment";
204                relative: 0.0 1.0;
205             }
206          }
207       }
208       part { name: "right_text_padding";
209          type: RECT;
210          scale: 1;
211          mouse_events: 0;
212          description { state: "default" 0.0;
213             visible: 0;
214             min: SEGMENT_CONTROL_TEXT_PADDING_MIN_SIZE_INC;
215             fixed: 1 0;
216             align: 1.0 0.5;
217             rel1 {
218                to: "segment";
219                relative: 1.0 0.0;
220             }
221             rel2 {
222                to: "segment";
223                relative: 1.0 1.0;
224             }
225          }
226       }
227       part { name: "icon.bg";
228          type: RECT;
229          scale: 1;
230          mouse_events: 0;
231          description { state: "default" 0.0;
232             visible: 0;
233             fixed: 1 0;
234             rel1.to: "elm.swallow.icon";
235             rel2.to: "elm.swallow.icon";
236          }
237       }
238       part { name: "padding_icon_text";
239          type: RECT;
240          scale: 1;
241          mouse_events: 0;
242          description { state: "default" 0.0; //when only icon or no icon is there
243             visible: 0;
244             align: 0.0 0.0;
245             rel1 {
246                to: "icon.bg";
247                relative: 1.0 0.0;
248             }
249             rel2 {
250                to: "icon.bg";
251                relative: 1.0 1.0;
252             }
253          }
254          description { state: "icononly" 0.0;
255             inherit: "default" 0.0;
256          }
257          description { state: "visible" 0.0; //when icon is visible
258             inherit: "default" 0.0;
259             rel2.offset: 2 0;
260          }
261       }
262       part { name: "elm.swallow.icon";
263          type: SWALLOW;
264          scale: 1;
265          description { state: "default" 0.0;
266             visible: 0;
267             fixed: 1 0;
268             rel1.to: "left_text_padding";
269             rel1.relative: 1.0 0.0;
270             rel2.to: "left_text_padding";
271             rel2.relative: 1.0 1.0;
272             aspect: 1.0 1.0;
273             aspect_preference: BOTH;
274          }
275          description { state: "visible" 0.0;
276             inherit: "default" 0.0;
277             visible: 1;
278             min: SEGMENT_CONTROL_VISIBLE_ICON_RECT_MIN_MAX_INC;
279          }
280          description { state: "icononly" 0.0;
281             inherit: "default" 0.0;
282             visible: 1;
283             min: SEGMENT_CONTROL_VISIBLE_ICON_RECT_MIN_MAX_INC;
284             rel2.relative: 1.0 1.0;
285          }
286       }
287       part { name: "elm.text";
288          type: TEXTBLOCK;
289          mouse_events: 0;
290          scale: 1;
291          description {
292             state: "default" 0.0;
293             visible: 0;
294             fixed: 1 1;
295             max: 9999 84;
296             rel1 {
297                to_x: "padding_icon_text";
298                to_y: "base";
299                relative: 1.0 0.0;
300             }
301             rel2 {
302                to: "right_text_padding";
303                relative: 0.0 1.0;
304             }
305             color: SEGMENT_CONTROL_DEFAULT_ITEM_TEXT_COLOR_NORMAL_INC;
306             text {
307               style: "segment_control_multiline_style";
308               min: 0 1;
309               max: 0 1;
310             }
311          }
312          description { state: "normal" 0.0;
313             inherit: "default" 0.0;
314             visible: 1;
315          }
316          description { state: "pressed" 0.0;
317             inherit: "default" 0.0;
318             visible: 1;
319             color: SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_PRESSED_INC;
320          }
321          description { state: "selected" 0.0;
322             inherit: "default" 0.0;
323             visible: 1;
324             color: SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_SELECTED_INC;
325          }
326          description { state: "disabled" 0.0;
327             inherit: "default" 0.0;
328             visible: 1;
329             color: SEGMENT_CONTROL_ITEM_TITLE_TEXT_COLOR_DISABLED_INC;
330          }
331       }
332       part { name: "elm.text.badge.bg";
333          mouse_events: 0;
334          scale: 1;
335          description {
336             state: "default" 0.0;
337             visible: 0;
338             rel1 {
339                to: "left.padding.text.badge";
340                relative: 0.0 0.0;
341             }
342             rel2 {
343                to: "right.padding.text.badge";
344                relative: 1.0 1.0;
345             }
346             align: 1.0 0.5;
347             color_class: "B0517";
348             image.normal: "00_badge_bg.#.png";
349          }
350          description { state: "normal" 0.0;
351             inherit: "default" 0.0;
352             visible: 1;
353          }
354          description { state: "pressed" 0.0;
355             inherit: "default" 0.0;
356             visible: 1;
357          }
358          description { state: "selected" 0.0;
359             inherit: "default" 0.0;
360             visible: 1;
361          }
362          description { state: "disabled" 0.0;
363             inherit: "default" 0.0;
364             visible: 1;
365          }
366       }
367       part { name: "left.padding.text.badge";
368          type: RECT;
369          scale: 1;
370          description {
371             state: "default" 0.0;
372             visible: 0;
373             fixed: 1 1;
374             min: SEGMENT_CONTROL_BADGE_TEXT_LEFT_PADDING_MIN_INC;
375             rel1 {
376                to: "elm.text.badge";
377                relative: 0.0 0.0;
378             }
379             rel2 {
380                to: "elm.text.badge";
381                relative: 0.0 0.0;
382             }
383             align: 1.0 0.0;
384          }
385       }
386       part { name: "right.padding.text.badge";
387          type: RECT;
388          scale: 1;
389          description {
390             state: "default" 0.0;
391             visible: 0;
392             fixed: 1 1;
393             min: SEGMENT_CONTROL_BADGE_TEXT_RIGHT_PADDING_MIN_INC;
394             rel1 {
395                to: "segment";
396                relative: 1.0 0.0;
397             }
398             rel2 {
399                to: "segment";
400                relative: 1.0 0.0;
401             }
402             align: 1.0 0.0;
403          }
404       }
405       part { name: "elm.text.badge";
406          type: TEXT;
407          mouse_events: 0;
408          scale: 1;
409          description {
410             state: "default" 0.0;
411             visible: 0;
412             min: 1 1;
413             rel1 {
414                to: "segment";
415                relative: 0.2 0.0; // rel_x is given 0.2, so bg image will not cross the segment image in left dir.
416             }
417             rel2 {
418                to: "right.padding.text.badge";
419                relative: 0.0 1.0;
420             }
421             align: 1.0 0.5;
422             color: SEGMENT_CONTROL_BADGE_TEXT_COLOR_INC;
423             text {
424                font: "Tizen:style=Bold";
425                size: SEGMENT_CONTROL_BADGE_TEXT_FONT_SIZE_INC;
426                min: 1 1;
427                max: 1 0;
428             }
429          }
430          description { state: "normal" 0.0;
431             inherit: "default" 0.0;
432             visible: 1;
433          }
434          description { state: "pressed" 0.0;
435             inherit: "default" 0.0;
436             visible: 1;
437          }
438          description { state: "selected" 0.0;
439             inherit: "default" 0.0;
440             visible: 1;
441          }
442          description { state: "disabled" 0.0;
443             inherit: "default" 0.0;
444             visible: 1;
445          }
446       }
447       part { name: "disabler";
448          type: RECT;
449          repeat_events: 0;
450          scale: 1;
451          description { state: "default" 0.0;
452             visible: 0;
453             fixed: 1 1;
454             min: 1 1;
455             align: 0.0 0.5;
456             rel1 {
457                relative: 0.0 0.0;
458                to: "segment";
459             }
460             rel2 {
461                relative: 1.0 1.0;
462                to: "segment";
463             }
464             color: 255 255 255 150;
465          }
466          description { state: "disabled_single" 0.0;
467             inherit: "default" 0.0;
468             visible: 1;
469          }
470          description { state: "disabled_left" 0.0;
471             inherit: "default" 0.0;
472             visible: 1;
473          }
474          description { state: "disabled_right" 0.0;
475             inherit: "default" 0.0;
476             visible: 1;
477          }
478          description { state: "disabled_middle" 0.0;
479             inherit: "default" 0.0;
480             visible: 1;
481          }
482       }
483    }
484    programs {
485       script {
486          public seg_type; // Single, Left, Middle, Right.
487          public seg_state; // Normal/Default, Pressed, Selected.
488          public seg_status;// Enabled/Default, Disabled
489
490          public update_state() {
491             new type, state, disabled;
492             type = get_int(seg_type);
493             state = get_int(seg_state);
494             disabled = get_int(seg_status);
495
496             if(state == SEGMENT_STATE_NORMAL)
497               {
498                  if(type == SEGMENT_TYPE_SINGLE)
499                    {
500                       set_state(PART:"segment", "default_single", 0.0);
501                       set_state(PART:"seg_padding", "default", 0.0);
502                    }
503                  else if(type == SEGMENT_TYPE_LEFT)
504                    {
505                       set_state(PART:"segment", "default_left", 0.0);
506                       set_state(PART:"seg_padding", "visible", 0.0);
507                    }
508                  else if(type == SEGMENT_TYPE_MIDDLE)
509                    {
510                       set_state(PART:"segment", "default_middle", 0.0);
511                       set_state(PART:"seg_padding", "visible", 0.0);
512                    }
513                  else if(type == SEGMENT_TYPE_RIGHT)
514                    {
515                       set_state(PART:"segment", "default_right", 0.0);
516                       set_state(PART:"seg_padding", "default", 0.0);
517                    }
518                  set_state(PART:"elm.text", "normal", 0.0);
519               }
520             else if(state == SEGMENT_STATE_PRESSED)
521               {
522                  if(type == SEGMENT_TYPE_SINGLE)
523                    {
524                       set_state(PART:"segment", "pressed_single", 0.0);
525                    }
526                  else if(type == SEGMENT_TYPE_LEFT)
527                    {
528                       set_state(PART:"segment", "pressed_left", 0.0);
529                       set_state(PART:"seg_padding", "visible", 0.0);
530                    }
531                  else if(type == SEGMENT_TYPE_MIDDLE)
532                    {
533                       set_state(PART:"segment", "pressed_middle", 0.0);
534                       set_state(PART:"seg_padding", "visible", 0.0);
535                    }
536                  else if(type == SEGMENT_TYPE_RIGHT)
537                    {
538                       set_state(PART:"segment", "pressed_right", 0.0);
539                       set_state(PART:"seg_padding", "default", 0.0);
540                    }
541                  set_state(PART:"elm.text", "pressed", 0.0);
542               }
543             else if(state == SEGMENT_STATE_SELECTED)
544               {
545                  if(type == SEGMENT_TYPE_SINGLE)
546                    {
547                       set_state(PART:"segment", "selected_single", 0.0);
548                       set_state(PART:"seg_padding", "default", 0.0);
549                    }
550                  else if(type == SEGMENT_TYPE_LEFT)
551                    {
552                       set_state(PART:"segment", "selected_left", 0.0);
553                       set_state(PART:"seg_padding", "visible", 0.0);
554                    }
555                  else if(type == SEGMENT_TYPE_MIDDLE)
556                    {
557                       set_state(PART:"segment", "selected_middle", 0.0);
558                       set_state(PART:"seg_padding", "visible", 0.0);
559                    }
560                  else if(type == SEGMENT_TYPE_RIGHT)
561                    {
562                       set_state(PART:"segment", "selected_right", 0.0);
563                       set_state(PART:"seg_padding", "default", 0.0);
564                    }
565                  set_state(PART:"elm.text", "selected", 0.0);
566               }
567             if(disabled == SEGMENT_STATUS_DISABLED)
568               {
569                  if(type == SEGMENT_TYPE_SINGLE)
570                    {
571                        set_state(PART:"disabler", "disabled_single", 0.0);
572                       set_state(PART:"seg_padding", "default", 0.0);
573                    }
574                  else if(type == SEGMENT_TYPE_LEFT)
575                    {
576                       set_state(PART:"disabler", "disabled_left", 0.0);
577                       set_state(PART:"seg_padding", "visible", 0.0);
578                    }
579                  else if(type == SEGMENT_TYPE_MIDDLE)
580                    {
581                       set_state(PART:"disabler", "disabled_middle", 0.0);
582                       set_state(PART:"seg_padding", "visible", 0.0);
583                    }
584                  else if(type == SEGMENT_TYPE_RIGHT)
585                    {
586                       set_state(PART:"disabler", "disabled_right", 0.0);
587                       set_state(PART:"seg_padding", "default", 0.0);
588                    }
589                  set_state(PART:"elm.text", "disabled", 0.0);
590               }
591             else
592               {
593                  set_state(PART:"disabler", "default", 0.0);
594               }
595          }
596       }
597       program {
598          name: "segment_type_s";
599          signal: "elm,type,segment,single";
600          source: "elm";
601          script {
602             set_int(seg_type, SEGMENT_TYPE_SINGLE);
603             update_state();
604          }
605       }
606       program {
607          name: "segment_type_l";
608          signal: "elm,type,segment,left";
609          source: "elm";
610          script {
611             set_int(seg_type, SEGMENT_TYPE_LEFT);
612             update_state();
613          }
614       }
615       program {
616          name: "segment_type_m";
617          signal: "elm,type,segment,middle";
618          source: "elm";
619          script {
620             set_int(seg_type, SEGMENT_TYPE_MIDDLE);
621             update_state();
622          }
623       }
624       program {
625          name: "segment_type_r";
626          signal: "elm,type,segment,right";
627          source: "elm";
628          script {
629             set_int(seg_type, SEGMENT_TYPE_RIGHT);
630             update_state();
631          }
632       }
633       program {
634          name: "normal_segment";
635          signal: "elm,state,segment,normal";
636          source: "elm";
637          script {
638             set_int(seg_state, SEGMENT_STATE_NORMAL);
639             update_state();
640          }
641       }
642       program {
643          name: "pressed_segment";
644          signal: "elm,state,segment,pressed";
645          source: "elm";
646          script {
647             set_int(seg_state, SEGMENT_STATE_PRESSED);
648             update_state();
649          }
650       }
651       program {
652          name: "selected_segment";
653          signal: "elm,state,segment,selected";
654          source: "elm";
655          script {
656             set_int(seg_state, SEGMENT_STATE_SELECTED);
657             update_state();
658          }
659       }
660       program { name: "disable_segment";
661          signal: "elm,state,disabled";
662          source: "elm";
663          script {
664             set_int(seg_status, SEGMENT_STATUS_DISABLED);
665             update_state();
666          }
667       }
668       program { name: "enable_segment";
669          signal: "elm,state,enabled";
670          source: "elm";
671          script {
672             set_int(seg_status, SEGMENT_STATUS_ENABLED);
673             update_state();
674          }
675       }
676       program { name: "text_show";
677          signal: "elm,state,text,visible";
678          source: "elm";
679          script {
680             new st[31];
681             new Float:vl;
682             get_state(PART:"elm.swallow.icon", st, 30, vl);
683             if (!strcmp(st, "icononly"))
684               {
685                  set_state(PART:"elm.swallow.icon", "visible", 0.0);
686                  set_state(PART:"padding_icon_text", "visible", 0.0);
687               }
688             get_state(PART:"elm.text", st, 30, vl);
689             if (!strcmp(st, "selected"))
690                set_state(PART:"elm.text", "selected", 0.0);
691             else
692                set_state(PART:"elm.text", "normal", 0.0);
693          }
694       }
695       program { name: "text_hide";
696          signal: "elm,state,text,hidden";
697          source: "elm";
698          script {
699             new st[31];
700             new Float:vl;
701             get_state(PART:"elm.swallow.icon", st, 30, vl);
702             if (!strcmp(st, "visible"))
703               {
704                  set_state(PART:"elm.swallow.icon", "icononly", 0.0);
705                  set_state(PART:"padding_icon_text", "icononly", 0.0);
706               }
707             set_state(PART:"elm.text", "default", 0.0);
708          }
709       }
710       program { name: "badge_text_show";
711          signal: "elm,state,elm.text.badge,visible";
712          source: "elm";
713          script {
714             new st[31];
715             new Float:vl;
716             get_state(PART:"elm.text.badge", st, 30, vl);
717             if (!strcmp(st, "selected"))
718             {
719                set_state(PART:"elm.text.badge", "selected", 0.0);
720                set_state(PART:"elm.text.badge.bg", "selected", 0.0);
721             }
722             else
723             {
724                set_state(PART:"elm.text.badge", "normal", 0.0);
725                set_state(PART:"elm.text.badge.bg", "normal", 0.0);
726             }
727          }
728       }
729       program { name: "badge_text_hide";
730          signal: "elm,state,elm.text.badge,hidden";
731          source: "elm";
732          action:  STATE_SET "default" 0.0;
733          target: "elm.text.badge";
734          target: "elm.text.badge.bg";
735       }
736       program { name: "icon_show";
737          signal: "elm,state,icon,visible";
738          source: "elm";
739          script {
740             new st[31];
741             new Float:vl;
742             get_state(PART:"elm.text", st, 30, vl);
743             if ((!strcmp(st, "normal")) || (!strcmp(st, "selected")))
744               {
745                  set_state(PART:"elm.swallow.icon", "visible", 0.0);
746                  set_state(PART:"padding_icon_text", "visible", 0.0);
747               }
748             else
749               {
750                  set_state(PART:"elm.swallow.icon", "icononly", 0.0);
751                  set_state(PART:"padding_icon_text", "icononly", 0.0);
752               }
753          }
754       }
755       program { name: "icon_hide";
756          signal: "elm,state,icon,hidden";
757          source: "elm";
758          action:  STATE_SET "default" 0.0;
759          target: "elm.swallow.icon";
760       }
761    }
762 #undef SEGMENT_TYPE_SINGLE
763 #undef SEGMENT_TYPE_LEFT
764 #undef SEGMENT_TYPE_MIDDLE
765 #undef SEGMENT_TYPE_RIGHT
766 #undef SEGMENT_STATE_NORMAL
767 #undef SEGMENT_STATE_PRESSED
768 #undef SEGMENT_STATE_SELECTED
769 #undef SEGMENT_STATUS_ENABLED
770 #undef SEGMENT_STATUS_DISABLED
771 }