Fix 3text.i1con & 3text.1icon.tb
[framework/uifw/efl-theme-tizen.git] / themes / widgets / genlist / genlist_macro.edc
1 /*
2  * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * PROPRIETARY/CONFIDENTIAL
5  *
6  * This software is the confidential and proprietary information of SAMSUNG
7  * ELECTRONICS ("Confidential Information"). You agree and acknowledge that this
8  * software is owned by Samsung and you shall not disclose such Confidential
9  * Information and shall use it only in accordance with the terms of the license
10  * agreement you entered into with SAMSUNG ELECTRONICS. SAMSUNG make no
11  * representations or warranties about the suitability of the software, either
12  * express or implied, including but not limited to the implied warranties of
13  * merchantability, fitness for a particular purpose, or non-infringement.
14  * SAMSUNG shall not be liable for any damages suffered by licensee arising out
15  * of or releated to this software.
16  *
17  */
18
19 // *************** Default Size Macro **************** //
20 // if size is different for each theme, split it into each theme inc.
21
22
23 #define GENLIST_HEIGHT_1LINE 114
24 #define GENLIST_HEIGHT_2LINE 130
25 //FIXME: Change from GENLIST_TREESIZE_DEFAULT to below macro
26 #define GENLIST_TREESIZE_DEFAULT 32
27
28 #define GENLIST_PADDING_SIZE_DEFAULT   16
29 #define GENLIST_PADDING_SIZE_LEFT      GENLIST_PADDING_SIZE_DEFAULT
30 #define GENLIST_PADDING_SIZE_RIGHT     GENLIST_PADDING_SIZE_DEFAULT
31 #define GENLIST_PADDING_SIZE_TOP       10
32 #define GENLIST_PADDING_SIZE_BOTTOM    10
33
34 #define GENLIST_SIZE_PASSWORD_ICON 114
35
36 #define GENLIST_TEXT_BTN_HEIGHT   72
37 #define GENLIST_ICON_SMALL_SIZE   32
38 #define GENLIST_ICON_MEDIUM_SIZE  48
39 #define GENLIST_ICON_ONOFF_HEIGHT 80
40 #define GENLIST_ICON_ONOFF_WIDTH  60
41 #define GENLIST_ICON_CHECK_SIZE   60
42 #define GENLIST_ICON_RADIO_SIZE   60
43
44 // Group Title
45 #define GENLIST_DIALOGUE_GROUP_TITLE_PADDING_TOP_SIZE 36
46 #define GENLIST_DIALOGUE_GROUP_TITLE_PADDING_BOTTOM_SIZE 10
47 #define GENLIST_DIALOGUE_GROUP_TITLE_TEXT_HEIGHT 36
48 #define GENLIST_DIALOGUE_GROUP_TITLE_HEIGHT GENLIST_DIALOGUE_GROUP_TITLE_PADDING_TOP_SIZE + GENLIST_DIALOGUE_GROUP_TITLE_PADDING_BOTTOM_SIZE + GENLIST_DIALOGUE_GROUP_TITLE_TEXT_HEIGHT
49
50 #define GENLIST_DIALOGUE_SEPARATOR_DEFAULT_HEIGHT 40
51 #define GENLIST_DIALOGUE_ITEM_WIDTH 10
52
53 // EDJE description have 24 patterns
54 //      |   top  |
55 // ---------------------
56 // left |  HERE  | right
57 // ---------------------
58 //      | bottom |
59 #define GENLIST_DESCRIPTION( left, right, top, bottom, param ) \
60       description { state: "default" 0.0;\
61          rel1 { \
62             relative: 1 1; \
63             to_x: left; \
64             to_y: top; \
65          }\
66          rel2 {\
67             relative: 0 0;\
68             to_x: right;\
69             to_y: bottom;\
70          }\
71          param\
72       }
73
74 // ---------------------
75 // left |--> HERE
76 // ---------------------
77 #define GENLIST_DESCRIPTION_L( left, param ) \
78       description { state: "default" 0.0;\
79          align: 0 0.5; \
80          fixed: 1 0; \
81          rel1 { \
82             relative: 1 0; \
83             to_x: left; \
84             to_y: "base"; \
85          }\
86          rel2 { \
87             relative: 1 1;\
88             to_x: left; \
89             to_y: "base"; \
90          }\
91          param\
92       }
93
94 // ---------------------
95 //   HERE  <--| right
96 // ---------------------
97 #define GENLIST_DESCRIPTION_R( right, param ) \
98       description { state: "default" 0.0;\
99          align: 1 0.5; \
100          fixed: 1 0; \
101          rel1 { \
102             relative: 0 0; \
103             to_x: right; \
104             to_y: "base"; \
105          }\
106          rel2 {\
107             relative: 0 1;\
108             to_x: right; \
109             to_y: "base"; \
110          }\
111          param\
112       }
113
114 // --------------------------
115 // left |--> HERE  <--| right
116 // --------------------------
117 #define GENLIST_DESCRIPTION_LR( left, right, param ) \
118       description { state: "default" 0.0;\
119          rel1 { \
120             relative: 1 0; \
121             to_x: left; \
122             to_y: "base"; \
123          }\
124          rel2 {\
125             relative: 0 1;\
126             to_x: right;\
127             to_y: "base"; \
128          }\
129          param\
130       }
131
132 //   |  top     |
133 // -----------------
134 //  |  HERE  <--| right
135 // -----------------
136 //  | bottom   |
137 #define GENLIST_DESCRIPTION_RTB( right, top, bottom, param ) \
138       description { state: "default" 0.0;\
139          align: 1 0.5;\
140          rel1 { \
141             relative: 0 1; \
142             to_x: right; \
143             to_y: top; \
144          }\
145          rel2 {\
146             relative: 0 0;\
147             to_x: right;\
148             to_y: bottom;\
149          }\
150          param\
151       }
152
153 // left |  HERE  | right
154 // ---------------------
155 //      | bottom |
156 #define GENLIST_DESCRIPTION_LRB( left, right, bottom, param ) \
157       description { state: "default" 0.0;\
158          align: 0.5 1;\
159          rel1 { \
160             relative: 1 0; \
161             to_x: left; \
162             to_y: bottom; \
163          }\
164          rel2 {\
165             relative: 0 0;\
166             to_x: right;\
167             to_y: bottom;\
168          }\
169          param\
170       }
171
172 //      |   top  |
173 // ---------------------
174 // left |  HERE  | right
175 #define GENLIST_DESCRIPTION_LRT( left, right, top, param ) \
176       description { state: "default" 0.0;\
177          align: 0.5 0;\
178          rel1 { \
179             relative: 1 1; \
180             to_x: left; \
181             to_y: top; \
182          }\
183          rel2 {\
184             relative: 0 1;\
185             to_x: right;\
186             to_y: top;\
187          }\
188          param\
189       }
190
191 //      |       top  |
192 // ---------------------
193 // left | -->  HERE  |
194 #define GENLIST_DESCRIPTION_LT( left, top, param ) \
195       description { state: "default" 0.0;\
196          align: 0 0;\
197          rel1 { \
198             relative: 1 1; \
199             to_x: left; \
200             to_y: top; \
201          }\
202          rel2 {\
203             relative: 1 1;\
204             to_x: left;\
205             to_y: top;\
206          }\
207          param\
208       }
209
210
211 //      |       top  |
212 // ---------------------
213 // left |  --> HERE  |
214 // ---------------------
215 //      |     bottom |
216 #define GENLIST_DESCRIPTION_LTB( left, top, bottom, param ) \
217       description { state: "default" 0.0;\
218          align: 0 0.5;\
219          rel1 { \
220             relative: 1 1; \
221             to_x: left; \
222             to_y: top; \
223          }\
224          rel2 {\
225             relative: 1 0;\
226             to_x: left;\
227             to_y: bottom;\
228          }\
229          param\
230       }
231
232
233 #define GENLIST_DESCRIPTION_RT( right, top, param ) \
234       description { state: "default" 0.0;\
235          align: 1 0;\
236          rel1 { \
237             relative: 0 1; \
238             to_x: right; \
239             to_y: top; \
240          }\
241          rel2 {\
242             relative: 0 1;\
243             to_x: right;\
244             to_y: top;\
245          }\
246          param\
247       }
248
249
250 #define GENLIST_DESCRIPT_DOT_LB( NAME, left, bottom, param ) \
251       description { state: NAME 0.0;\
252          align: 0 1;\
253          rel1 { \
254             relative: 1 0; \
255             to_x: left; \
256             to_y: bottom; \
257          }\
258          rel2 {\
259             relative: 1 0;\
260             to_x: left;\
261             to_y: bottom;\
262          }\
263          param\
264       }\
265
266 #define GENLIST_DESCRIPTION_RB( right, bottom, param ) \
267       description { state: "default" 0.0;\
268          align: 1 1;\
269          rel1 { \
270             relative: 0 0; \
271             to_x: right; \
272             to_y: bottom; \
273          }\
274          rel2 {\
275             relative: 0 0;\
276             to_x: right;\
277             to_y: bottom;\
278          }\
279          param\
280       }
281
282 // |   top  |
283 // ----------
284 // |  HERE  |
285 // ----------
286 // | bottom |
287 #define GENLIST_DESCRIPTION_TB( top, bottom, param ) \
288       description { state: "default" 0.0;\
289          align: 0.5 0.5;\
290          rel1 { \
291             relative: 0 1; \
292             to_y: top; \
293          }\
294          rel2 {\
295             relative: 1 0;\
296             to_y: bottom;\
297          }\
298          param\
299       }
300
301 #define GENLIST_PADDING(NAME, DESCRIPT) \
302        part { name: NAME; \
303             type: RECT; \
304             scale: 1; \
305             DESCRIPT \
306        }
307
308 // *************** Function Macro ******************* //
309 #define GENLIST_PART_BASE( HEIGHT ) \
310          part { name: "base"; \
311             type: RECT; \
312             repeat_events: 1; \
313             scale: 1; \
314             description { state: "default" 0.0; \
315                min: 0 HEIGHT; \
316                align: 0.5 0.5; \
317                color: 0 0 0 0; \
318                rel2.offset: 0 -1; \
319             } \
320          }
321
322 #define GENLIST_PART_BASE_REORDER( HEIGHT ) \
323          part { name: "base"; \
324             type: RECT; \
325             repeat_events: 1; \
326             scale: 1; \
327             description { state: "default" 0.0; \
328                min: 0 HEIGHT; \
329                align: 0 0; \
330                color: 0 0 0 0;\
331                rel1 { \
332                   relative: 1 1; \
333                   to_x: "reorder.padding.left"; \
334                   to_y: "reorder.padding.top"; \
335                } \
336                rel2.offset: 0 -1; \
337             } \
338          } \
339          part { name: "reorder.padding.left"; \
340             type: RECT; \
341             scale: 1; \
342             description { state: "default" 0.0; \
343                visible: 0; \
344                rel2.relative: 0 1; \
345                align: 0 0.5; \
346             } \
347             description { state: "reorder" 0.0; \
348                inherit: "default" 0.0; \
349                visible: 1; \
350                fixed: 1 0; \
351                min: 16 0; \
352                color: GENLIST_PART_REORDER_BG_COLOR; \
353             } \
354          } \
355        part { name: "reorder.padding.top"; \
356             type: RECT; \
357             scale: 1; \
358             description { state: "default" 0.0; \
359                visible: 0; \
360                rel2.relative: 1 0; \
361                align: 0.5 0; \
362             } \
363             description { state: "reorder" 0.0; \
364                inherit: "default" 0.0; \
365                visible: 1; \
366                fixed: 0 1; \
367                min: 0 8; \
368                color: GENLIST_PART_REORDER_BG_COLOR; \
369             } \
370          }
371
372 #define GENLIST_PART_COLORBAR \
373          part { name: "elm.icon.colorbar"; \
374             clip_to: "disclip"; \
375             type: SWALLOW; \
376             scale: 1; \
377             description { state: "default" 0.0; \
378                min: 10 21; \
379                fixed: 1 1; \
380                rel2.relative: 0 0; \
381                align: 0 0; \
382             } \
383          }
384
385 /// Why is this needed??? (event block??)
386 #define GENLIST_PART_BASE_EVENT_OFF \
387          part { name: "base";\
388             type: RECT;\
389             repeat_events: 0;\
390             description { state: "default" 0.0;\
391                color: 0 0 0 0;\
392             }\
393          }
394
395 #define GENLIST_PART_BOTTOM_LINE \
396          part { name: "bottom_line"; \
397             type: RECT; \
398             mouse_events: 0; \
399             description { state: "default" 0.0; \
400                min: 0 1; \
401                fixed: 0 1; \
402                visible: 1; \
403                align: 0.5 0; \
404                color: GENLIST_PART_LIST_LINE_COLOR_INC; \
405                rel1 { \
406                   relative: 0.0 1.0; \
407                   offset: 0 -1; \
408                } \
409             } \
410             description { state: "reorder" 0.0; \
411                inherit: "default" 0.0; \
412                color: 0 0 0 0; \
413             } \
414          }
415
416 #define GENLIST_PART_BG_IMAGE \
417          part { name: "bg_image"; \
418             type: RECT; \
419             clip_to: "disclip"; \
420             mouse_events: 0; \
421             description { state: "default" 0.0; \
422                color: GENLIST_PART_LIST_BG_COLOR; \
423             } \
424             description { state: "selected" 0.0; \
425                inherit: "default" 0.0; \
426                color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
427             } \
428          }
429
430 #define GENLIST_PART_BG \
431          part { name: "bg"; \
432             type: RECT; \
433             clip_to: "disclip"; \
434             mouse_events: 0; \
435             description { state: "default" 0.0; \
436                color: GENLIST_PART_DIALOGUE_GROUP_BG_COLOR; \
437             } \
438             description { state: "hide" 0.0; \
439                inherit: "default" 0.0; \
440                rel1 { relative: 0.025 0.0; } \
441                rel2 { relative: 1.025 1.0; } \
442             } \
443             description { state: "hide" 0.1;  \
444                inherit: "default" 0.0; \
445                rel1 { relative: 0.13 0.0; } \
446                rel2 { relative: 1.13 1.0; } \
447             } \
448             description { state: "hide" 0.2; \
449                inherit: "default" 0.0; \
450                rel1 { relative: 0.5 0.0; } \
451                rel2 { relative: 1.5 1.0; } \
452             } \
453             description { state: "hide" 0.3; \
454                inherit: "default" 0.0; \
455                rel1 { relative: 1.0 0.0; } \
456                rel2 { relative: 2.0 1.0; } \
457             } \
458          }
459
460 #define GENLIST_PART_BOTTOM_EFFECT_LINE \
461          part { name: "bottom_line"; \
462             type: RECT; \
463             mouse_events: 0; \
464             description { state: "default" 0.0; \
465                min: 0 1; \
466                fixed: 0 1; \
467                visible: 1; \
468                color: GENLIST_PART_LIST_LINE_COLOR_INC; \
469                rel1 { \
470                   relative: 0.0 1.0; \
471                   offset: 0 -1; \
472                } \
473             } \
474             GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
475             GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
476          }
477
478 #define GENLIST_PART_PADDING_TEXT_TOP( param_padding_size ) \
479        part { name: "elm.padding.text.top"; \
480             type: RECT; \
481             scale: 1; \
482             description { \
483                state: "default" 0.0; \
484                min: 0 param_padding_size; \
485                fixed: 0 1; \
486                visible: 0; \
487                rel2.relative: 1.0 0.0; \
488                align: 0.0 0.0; \
489             } \
490          }
491
492
493 #define GENLIST_PART_PADDING( NAME, SIZE, REL1, REL2 ) \
494        part { name: NAME; \
495             type: RECT; \
496             scale: 1; \
497             description { state: "default" 0.0; \
498                min: SIZE 0; \
499                fixed: 1 0; \
500                visible: 0; \
501                align: 0.5 0.5; \
502                rel1 { \
503                   relative: REL1; \
504                   to: "base"; \
505                } \
506                rel2 { \
507                   relative: REL2; \
508                   to: "base"; \
509                } \
510             } \
511          }
512
513 #define GENLIST_PART_PADDING_LEFT( SIZE ) \
514          part { name: "elm.padding.left"; \
515             type: RECT; \
516             scale: 1; \
517             description { state: "default" 0.0; \
518                min: SIZE 0; \
519                max: SIZE 0; \
520                fixed: 1 0; \
521                visible: 0; \
522                align: 0.0 0.5; \
523                rel1.to: "base"; \
524                rel2.to: "base"; \
525                rel2.relative: 0.0 1.0; \
526             } \
527          }
528
529 #define GENLIST_PART_PADDING_LEFT_TO( NAME, LEFT, SIZE ) \
530        part { name: NAME; \
531             type: RECT; \
532             scale: 1; \
533             description { state: "default" 0.0; \
534                visible: 0; \
535                fixed: 1 0; \
536                min: SIZE 0; \
537                align: 0 0.5; \
538                rel1 { \
539                   relative: 1 0; \
540                   to_x: LEFT; \
541                } \
542                rel2 { \
543                   relative: 1 1; \
544                   to_x: LEFT; \
545                } \
546             } \
547          }
548
549 #define GENLIST_PART_PADDING_RIGHT( SIZE ) \
550        part { name: "elm.padding.right"; \
551             type: RECT; \
552             scale: 1; \
553             description { state: "default" 0.0; \
554                min: SIZE 0; \
555                max: SIZE 0; \
556                fixed: 1 0; \
557                visible: 0; \
558                align: 1.0 0.5; \
559                rel1.to: "base"; \
560                rel2.to: "base"; \
561                rel1.relative: 1 0; \
562             } \
563          }
564
565 #define GENLIST_PART_PADDING_RIGHT_TO( NAME, RIGHT, SIZE ) \
566        part { name: NAME; \
567             type: RECT; \
568             scale: 1; \
569             description { state: "default" 0.0; \
570                visible: 0; \
571                fixed: 1 0; \
572                min: SIZE 0; \
573                align: 1 0.5; \
574                rel1 { \
575                   relative: 0 0; \
576                   to_x: RIGHT; \
577                } \
578                rel2 { \
579                   relative: 0 1; \
580                   to_x: RIGHT; \
581                } \
582             } \
583          }
584
585 #define GENLIST_PART_PADDING_TOP( SIZE ) \
586        part { name: "elm.padding.top"; \
587             type: RECT; \
588             scale: 1; \
589             description { \
590                state: "default" 0.0; \
591                min: 0 SIZE; \
592                fixed: 0 1; \
593                visible: 0; \
594                rel1.to: "base"; \
595                rel2.to: "base"; \
596                rel2.relative: 1.0 0.0; \
597                align: 0.5 0.0; \
598             } \
599          }
600
601 #define GENLIST_PART_PADDING_TOP_TO( NAME, TOP, SIZE ) \
602        part { name: NAME; \
603             type: RECT; \
604             scale: 1; \
605             description { state: "default" 0.0; \
606                min: 0 SIZE; \
607                fixed: 0 1; \
608                visible: 0; \
609                align: 0.5 0; \
610                rel1 { \
611                   relative: 0 1; \
612                   to: TOP; \
613                } \
614                rel2 { \
615                   relative: 1 1; \
616                   to: TOP; \
617                } \
618             } \
619          }
620
621 #define GENLIST_PART_PADDING_BOTTOM( SIZE ) \
622        part { name: "elm.padding.bottom"; \
623             type: RECT; \
624             scale: 1; \
625             description { state: "default" 0.0; \
626                min: 0 SIZE; \
627                fixed: 0 1; \
628                visible: 0; \
629                color: 0 0 0 0; \
630                rel1.to: "base"; \
631                rel2.to: "base"; \
632                rel1.relative: 0.0 1.0; \
633                align: 0.5 1.0; \
634             } \
635          }
636
637 #define GENLIST_PART_PADDING_BOTTOM_TO( NAME, BOTTOM, SIZE ) \
638        part { name: NAME; \
639             type: RECT; \
640             scale: 1; \
641             description { state: "default" 0.0; \
642                min: 0 SIZE; \
643                fixed: 0 1; \
644                visible: 0; \
645                align: 0.5 1; \
646                rel1 { \
647                   relative: 0.5 0; \
648                   to: BOTTOM; \
649                } \
650                rel2 { \
651                   relative: 0.5 0; \
652                   to: BOTTOM; \
653                } \
654             } \
655          }
656
657 #define GENLIST_PART_DIALOGUE_BASE( param_item_height ) \
658          part { name: "base"; \
659             type: RECT; \
660             clip_to: "disclip"; \
661             repeat_events: 1; \
662             scale: 1; \
663             description { state: "default" 0.0; \
664                min: 0 param_item_height; \
665                color: LAYOUT_GROUP_LIST_BG_COLOR_INC; \
666             } \
667          }
668
669 #define GENLIST_PART_DIALOGUE_BG_IMAGE \
670          part { name: "bg_image"; \
671             type: RECT; \
672             clip_to: "disclip"; \
673             mouse_events: 0; \
674             description { state: "default" 0.0; \
675                color: GENLIST_DIALOGUE_BG_IMAGE_COLOR_INC; \
676             } \
677             description { state: "selected" 0.0; \
678                inherit: "default" 0.0; \
679                color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
680             } \
681          }
682
683 #define GENLIST_PART_DIALOGUE_ITEM \
684          part { name: "elm.rect.dialogue"; \
685             type: RECT; \
686             scale: 1; \
687             description { state: "default" 0.0; \
688                min: GENLIST_PADDING_12_INC 0; \
689                fixed: 1 0; \
690                color: GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC; \
691                rel2.relative: 0.0 1.0; \
692                align: 0.0 0.0; \
693             } \
694          }
695
696 #define GENLIST_PART_DIALOGUE_RIGHT_LINE \
697          part { name: "elm.rect.dialogue.right.line"; \
698             type: RECT; \
699             scale: 1; \
700             description { state: "default" 0.0; \
701                min: 1 0; \
702                fixed: 1 0; \
703                visible: 1; \
704                rel1 { \
705                   relative: 1.0  0.0; \
706                   offset: -1 0; \
707                } \
708                align: 1.0 0.0; \
709                color: GENLIST_PART_LIST_LINE_COLOR_INC; \
710             } \
711          }
712
713 #define GENLIST_PART_DIALOGUE_EXPANDABLE_ITEM \
714          part { name: "elm.rect.dialogue"; \
715             type: RECT; \
716             scale: 1; \
717             description { state: "default" 0.0; \
718                min: GENLIST_PADDING_12_INC 0; \
719                fixed: 1 0; \
720                color: GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC; \
721                rel2.relative: 0.0 1.0; \
722                align: 0.0 0.0; \
723             } \
724             GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
725             GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
726          }
727
728 #define GENLIST_PART_SWALLOW_END( param_padding_size ) \
729          part { name: "elm.padding.left.swallow.end";\
730             clip_to: "disclip"; \
731             type: RECT;\
732             scale: 1;\
733             description { state: "default" 0.0;\
734                min: param_padding_size 0;\
735                fixed: 1 0;\
736                visible: 0; \
737                rel1.to_x: "elm.swallow.end";\
738                rel2 {\
739                   relative: 0.0  1.0;\
740                   to_x: "elm.swallow.end";\
741                }\
742                align: 1.0 0.5;\
743             }\
744          }\
745          part { name: "elm.swallow.end";\
746             clip_to: "disclip"; \
747             type: SWALLOW;\
748             scale: 1;\
749             description { state: "default" 0.0;\
750                fixed: 1 0;\
751                align: 1.0 0.5;\
752                rel1.to_x: "elm.padding.right";\
753                rel2 {\
754                   relative: 0.0  1.0;\
755                   to_x: "elm.padding.right";\
756                }\
757             }\
758          }
759
760 // When rotating, sometimes item size is expaned.
761 #define GENLIST_PART_DISCLIP \
762         part { name: "disclip"; \
763             type: RECT; \
764             description { state: "default" 0.0; \
765             } \
766             description { state: "disabled" 0.0; \
767                inherit: "default" 0.0; \
768                color: GENLIST_PART_DISCLIP_COLOR; \
769             } \
770             description { state: "flip_enabled" 0.0; \
771                inherit: "default" 0.0; \
772                visible: 0; \
773             } \
774          }
775
776 #define GENLIST_EXPANDABLE_PART_PERSPECTIVE_POINT() \
777                 part { name: "point"; \
778                         type: RECT; \
779                         scale: 1; \
780          description { \
781             state: "default" 0.0; \
782             color: 0 0 0 0; \
783             rel1 { relative: 0.0 0.0; } \
784             rel2 { relative: 1.0 0.0; } \
785          } \
786       }
787
788 #define GENLIST_PART_MAP_START( param_x, param_y, param_z ) \
789                 description { state: "map_transition" 0.0; \
790                    inherit: "default" 0.0; \
791                    color: 50 50 50 100; \
792                    map { \
793                       perspective: "point"; \
794                       on: 1; \
795                       smooth: 1; \
796                       perspective_on: 1; \
797                       backface_cull: 1; \
798                       rotation { \
799                          center: "point"; \
800                          x: param_x; \
801                          y: param_y; \
802                          z: param_z; \
803                       } \
804                   } \
805                 } \
806                 description { \
807                         state: "hide" 0.0; \
808                         inherit: "default" 0.0; \
809                         visible: 0; \
810                 }
811
812 #define GENLIST_PART_MAP_FINISH( param_x, param_y, param_z ) \
813                 description { \
814                         state: "map_rotate" 0.0; \
815                         inherit: "default" 0.0; \
816                         map { \
817                                 perspective: "point"; \
818                                 on: 1; \
819                                 smooth: 1; \
820                                 perspective_on: 1; \
821                                 backface_cull: 1; \
822                                 rotation { \
823                                         center: "point"; \
824                                         x: param_x; \
825                                         y: param_y; \
826                                         z: param_z; \
827                                 } \
828                        } \
829                } \
830
831 #define GENLIST_PART_MAP_BASE( param_item_height ) \
832          part { name: "base"; \
833             type: RECT; \
834             repeat_events: 1; \
835             scale: 1; \
836             description { state: "default" 0.0; \
837                min: 0 param_item_height; \
838                color: GENLIST_PART_DIALOGUE_GROUP_BG_COLOR; \
839             } \
840             GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
841             GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
842          }
843
844 #define GENLIST_EXPANDABLE_PART_BASE( GE_HEIGHT , GE_COLOR ) \
845          part { name: "base"; \
846             type: RECT; \
847             repeat_events: 1; \
848             scale: 1; \
849             description { state: "default" 0.0; \
850                min: 0 GE_HEIGHT; \
851                color: GE_COLOR; \
852             } \
853             description { state: "selected" 0.0; \
854                inherit: "default" 0.0; \
855                color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
856             } \
857             GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
858             GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
859          }
860
861 /* XXX: refactor expandable edc first.
862         and use GENLIST_EXPANDABLE_PART_BASE_NEW as GENLIST_EXPANDABLE_PART_BASE.
863 */
864 #define GENLIST_EXPANDABLE_PART_BASE_NEW( GE_HEIGHT , GE_COLOR ) \
865          part { name: "base"; \
866             type: RECT; \
867             repeat_events: 1; \
868             scale: 1; \
869             description { state: "default" 0.0; \
870                min: 0 GE_HEIGHT; \
871                color: GE_COLOR; \
872             } \
873             description { state: "selected" 0.0; \
874                inherit: "default" 0.0; \
875                color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
876             } \
877          }
878
879 #define GENLIST_PROGRAM_MAP_ROTATE_EXPAND_START() \
880                 name: "rotaion_transition"; \
881                 signal: "flip_item"; \
882                 action: STATE_SET "map_transition" 0.0; \
883                 after: "rotation";
884
885 #define GENLIST_PROGRAM_MAP_ROTATE_EXPAND_FINISH( second ) \
886                 name: "rotation"; \
887                 action: STATE_SET "map_rotate" 0.0; \
888                 transition: LINEAR second; \
889                 after: "rotation_end";
890
891 #define GENLIST_PROGRAM_MAP_EXPAND_END() \
892                 name: "rotation_end"; \
893                 action: STATE_SET "default" 0.0;
894
895 #define GENLIST_PROGRAM_MAP_ROTATE_CONTRACT_START() \
896                 name: "rotation_transition2"; \
897                 signal: "elm,state,contract_flip"; \
898                 action: STATE_SET "map_rotate" 0.0; \
899                 after: "rotation2";
900
901 #define GENLIST_PROGRAM_MAP_ROTATE_CONTRACT_FINISH( second ) \
902                 name: "rotation2"; \
903                 action: STATE_SET "map_transition" 0.0; \
904                 transition: LINEAR second; \
905                 after: "rotation3";
906
907 #define GENLIST_PROGRAM_MAP_CONTRACT_END() \
908                 name: "rotation3"; \
909                 action: STATE_SET "hide" 0.0;
910
911 #define GENLIST_PART_EXPANDABLE2_NOSHADOW_BASE( param_item_height ) \
912          part { name: "base"; \
913             type: RECT; \
914             repeat_events: 1; \
915             scale: 1; \
916             description { state: "default" 0.0; \
917                min: 0 param_item_height; \
918                color: GENLIST_PART_EXPANDABLE_2ND_DEPTH_BG_COLOR_INC; \
919             } \
920             GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
921             GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
922          }
923
924 #define GENLIST_PART_EXPANDABLE_SWALLOW_PADDING \
925          part { name: "elm.swallow.pad"; \
926             type: SWALLOW; \
927             description { state: "default" 0.0; \
928                fixed: 1 0; \
929                align: 0.0 0.5; \
930                rel1 { \
931                   relative: 1.0 0.0;\
932                   to_x: "elm.padding.left"; \
933                } \
934                rel2.to_x: "elm.padding.left"; \
935             } \
936             GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
937             GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
938          } \
939
940 #define GENLIST_PART_PADDING_LEFT_SLIDE( param_padding_size ) \
941          part { name: "elm.padding.left"; \
942             type: RECT; \
943             scale: 1; \
944             description { \
945                state: "default" 0.0; \
946                min: param_padding_size 0; \
947                fixed: 1 0; \
948                visible: 0; \
949                rel1 { relative: 0.0 0.0; to: "bg"; } \
950                rel2 { relative: 0.0 1.0; to: "bg"; } \
951                align: 0.0 0.0; \
952             } \
953          }
954
955 /* only for demo */
956 #define GENLIST_PART_BUTTON( param_name, param_text_name, param_text, param_left, param_right, param_top, param_bottom ) \
957        part { name: param_name; \
958          mouse_events: 1; \
959          description { state: "default" 0.0; \
960             visible: 1; \
961             rel1 { relative: param_left param_top; offset: 0 0; } \
962             rel2 { relative: param_right param_bottom; offset: -1 -1; } \
963             image { \
964                normal: "btn_normal.png"; \
965                border: 10 10 10 10; \
966                border_scale: 1; \
967             } \
968             image.middle: SOLID; \
969             fill.smooth: 0; \
970          } \
971          description { state: "selected" 0.0;  \
972             inherit: "default" 0.0;  \
973             image { \
974                normal: "btn_selected.png"; \
975             } \
976          } \
977       } \
978       part { name: param_text_name;  \
979          type: TEXT;  \
980          mouse_events: 0; \
981          scale: 1; \
982          description {  \
983             align: 0.0 0.0; \
984             state: "default" 0.0;  \
985             color: 0 0 0 255;  \
986             rel1 { relative: 0.0 0.0; to: param_name; } \
987             rel2 { relative: 1.0 1.0; to: param_name; } \
988             text {  \
989                text: param_text; \
990                font: "SLP:style=Roman"; \
991                size: 24;  \
992                min: 1 1;  \
993                align: 0.5 0.5;  \
994                text_class: "list_item"; \
995             }  \
996          }  \
997       }
998
999 /* only for demo */
1000 #define GENLIST_PROGRAM_BUTTON( param_name_focused, param_name_normal, param_part_name ) \
1001       program { name: param_name_focused; \
1002          source: param_part_name; \
1003          signal: "mouse,down,1"; \
1004          action:  STATE_SET "selected" 0.0;  \
1005          target: param_part_name; \
1006       } \
1007       program { name: param_name_normal; \
1008          source: param_part_name; \
1009          signal: "mouse,up,1"; \
1010          action:  STATE_SET "default" 0.0;  \
1011          target: param_part_name; \
1012       }
1013
1014 #define GENLIST_PROGRAM_SLIDE_WITH_AFTER( param_name, param_state, param_next ) \
1015       program { name: param_name; \
1016          action:  STATE_SET "hide" param_state; \
1017          target: "bg"; \
1018          transition: LINEAR 0.3; \
1019          after: param_next; \
1020       }
1021
1022 #define GENLIST_PROGRAM_SLIDE( param_name, param_state_name, param_state_value ) \
1023       program { name: param_name; \
1024          action:  STATE_SET param_state_name param_state_value; \
1025          target: "bg"; \
1026          transition: LINEAR 0.3; \
1027       }
1028
1029 #define DESC_FLIP_IMAGE( param_state_value, param_image_file_name ) \
1030       description { state: "flipping" param_state_value; \
1031          inherit: "default" 0.0; \
1032          image { normal: param_image_file_name; } \
1033       }
1034
1035 #define DESC_TEXT_HIDE( param_state_value ) \
1036    description { state: "hide" param_state_value; \
1037       inherit: "default" 0.0; \
1038       color: 0 0 0 (255*(1-param_state_value/0.20)); \
1039    }
1040
1041 #define GENLIST_EDIT_PART_BASE( param_item_height ) \
1042          part { name: "base"; \
1043             type: RECT; \
1044             repeat_events: 0; \
1045             scale: 1; \
1046             description { state: "default" 0.0; \
1047                min: 0 param_item_height; \
1048                color: 0 0 0 0; \
1049             } \
1050          }
1051
1052 // 2.2.7 Genlist_Edit mode (Rename)
1053 #define GENLIST_PART_FLIP \
1054          part { name: "flip_event_block";\
1055             type: RECT;\
1056             mouse_events: 0; \
1057             repeat_events: 0;\
1058             description { state: "default" 0.0;\
1059                visible: 0; \
1060                color: 0 0 0 0; \
1061             } \
1062             description { state: "flip_enabled" 0.0; \
1063                inherit: "default" 0.0; \
1064                visible: 1; \
1065                color: GENLIST_PART_FLIP_BG_COLOR;\
1066             }\
1067          }\
1068          part { name: "elm.flip.content.left"; \
1069             type: RECT; \
1070             scale: 1; \
1071             description { state: "default" 0.0; \
1072                min: 16 0; \
1073                fixed: 1 0; \
1074                visible: 0; \
1075                align: 0 0.5; \
1076                rel1 { \
1077                   relative: 0 0; \
1078                   to_x: "base"; \
1079                   to_y: "base"; \
1080                } \
1081                rel2 { \
1082                   relative: 0 1; \
1083                   to_x: "base"; \
1084                   to_y: "base"; \
1085                } \
1086             } \
1087          } \
1088          part { name: "elm.flip.content"; \
1089             type: SWALLOW; \
1090             scale: 1; \
1091             GENLIST_DESCRIPTION_LR("elm.flip.content.left", "elm.flip.icon.left", \
1092                aspect: 1 1; visible: 0; ) \
1093             description { state: "flip_enabled" 0.0; \
1094                inherit: "default" 0.0; \
1095                visible: 1; \
1096             } \
1097          } \
1098          GENLIST_PART_PADDING_RIGHT_TO("elm.flip.icon.left", "elm.flip.icon", 16) \
1099          part { name: "elm.flip.icon"; \
1100             type: SWALLOW; \
1101             scale: 1; \
1102             description { state: "default" 0.0; \
1103                visible: 0; \
1104                aspect: 1 1; \
1105                align: 1 0.5; \
1106                max: 132 72; \
1107                rel1 { \
1108                   relative: 0 0; \
1109                   to_x: "elm.flip.icon.right"; \
1110                } \
1111                rel2 { \
1112                   relative: 0 1; \
1113                   to_x: "elm.flip.icon.right"; \
1114                } \
1115             } \
1116             description { state: "flip_enabled" 0.0; \
1117                inherit: "default" 0.0; \
1118                visible: 1; \
1119             } \
1120          } \
1121          part { name: "elm.flip.icon.right"; \
1122             type: RECT; \
1123             scale: 1; \
1124             description { state: "default" 0.0; \
1125                min: 16 0; \
1126                fixed: 1 0; \
1127                visible: 0; \
1128                align: 1 0.5; \
1129                rel1 { \
1130                   relative: 1 0; \
1131                   to_x: "base"; \
1132                   to_y: "base"; \
1133                } \
1134                rel2 { \
1135                   relative: 1 1; \
1136                   to_x: "base"; \
1137                   to_y: "base"; \
1138                } \
1139             } \
1140          }
1141
1142 #define GENLIST_DESCRIPTION_INVISIBLE_SELECTED \
1143             description { state: "selected" 1.0; \
1144                inherit: "default" 0.0; \
1145                visible: 0; \
1146             }
1147
1148 #define GENLIST_DESCRIPTION_FLIP_ENABLED \
1149             description { state: "flip_enabled" 0.0; \
1150                inherit: "default" 0.0; \
1151                visible: 0; \
1152             }
1153
1154 #define GENLIST_PROGRAM_SCRIPT_FLIP_SELECT_1TEXT \
1155             script { \
1156                new st[31]; \
1157                new Float:vl; \
1158                get_state(PART:"elm.text", st, 30, vl); \
1159                set_state(PART:"bg_image", "selected", 0.0); \
1160                if (!strcmp(st, "flip_enabled")) \
1161                   set_state(PART:"elm.text", "selected", 1.0); \
1162                else \
1163                   set_state(PART:"elm.text", "selected", 0.0); \
1164             }
1165
1166 #define GENLIST_PROGRAM_SCRIPT_FLIP_SELECT_2TEXT \
1167             script { \
1168                new st[31]; \
1169                new Float:vl; \
1170                get_state(PART:"elm.text.1", st, 30, vl); \
1171                set_state(PART:"bg_image", "selected", 0.0); \
1172                if (!strcmp(st, "flip_enabled")) { \
1173                   set_state(PART:"elm.text.1", "selected", 1.0); \
1174                   set_state(PART:"elm.text.2", "selected", 1.0); \
1175                } \
1176                else { \
1177                   set_state(PART:"elm.text.1", "selected", 0.0); \
1178                   set_state(PART:"elm.text.2", "selected", 0.0); \
1179                } \
1180             }
1181
1182 #define GENLIST_PROGRAM_SCRIPT_FLIP_SELECT_3TEXT \
1183             script { \
1184                new st[31]; \
1185                new Float:vl; \
1186                get_state(PART:"elm.text.1", st, 30, vl); \
1187                set_state(PART:"bg_image", "selected", 0.0); \
1188                if (!strcmp(st, "flip_enabled")) { \
1189                   set_state(PART:"elm.text.1", "selected", 1.0); \
1190                   set_state(PART:"elm.text.2", "selected", 1.0); \
1191                   set_state(PART:"elm.text.3", "selected", 1.0); \
1192                } \
1193                else { \
1194                   set_state(PART:"elm.text.1", "selected", 0.0); \
1195                   set_state(PART:"elm.text.2", "selected", 0.0); \
1196                   set_state(PART:"elm.text.3", "selected", 0.0); \
1197                } \
1198             }
1199
1200 #define GENLIST_PROGRAM_FLIP_1TEXT \
1201          program { name: "flip_enabled"; \
1202             signal: "elm,state,flip,enabled"; \
1203             source: "elm"; \
1204             action: STATE_SET "flip_enabled" 0.0; \
1205             target: "elm.text"; \
1206             target: "elm.flip.content"; \
1207          } \
1208          program { name: "flip_disabled"; \
1209             signal: "elm,state,flip,disabled"; \
1210             source: "elm"; \
1211             action: STATE_SET "default" 0.0; \
1212             target: "elm.text"; \
1213             target: "elm.flip.content"; \
1214          }
1215
1216 #define GENLIST_PROGRAM_FLIP_1TEXT_1ICON \
1217          program { name: "flip_enabled"; \
1218             signal: "elm,state,flip,enabled"; \
1219             source: "elm"; \
1220             action: STATE_SET "flip_enabled" 0.0; \
1221             target: "elm.text"; \
1222             target: "elm.icon"; \
1223             target: "elm.flip.content"; \
1224          } \
1225          program { name: "flip_disabled"; \
1226             signal: "elm,state,flip,disabled"; \
1227             source: "elm"; \
1228             action: STATE_SET "default" 0.0; \
1229             target: "elm.text"; \
1230             target: "elm.icon"; \
1231             target: "elm.flip.content"; \
1232          }
1233
1234 #define GENLIST_PROGRAM_FLIP_1TEXT_2ICON \
1235          program { name: "flip_enabled"; \
1236             signal: "elm,state,flip,enabled"; \
1237             source: "elm"; \
1238             action: STATE_SET "flip_enabled" 0.0; \
1239             target: "elm.text"; \
1240             target: "elm.icon.1"; \
1241             target: "elm.icon.2"; \
1242             target: "elm.flip.content"; \
1243          } \
1244          program { name: "flip_disabled"; \
1245             signal: "elm,state,flip,disabled"; \
1246             source: "elm"; \
1247             action: STATE_SET "default" 0.0; \
1248             target: "elm.text"; \
1249             target: "elm.icon.1"; \
1250             target: "elm.icon.2"; \
1251             target: "elm.flip.content"; \
1252          }
1253
1254 #define GENLIST_PROGRAM_FLIP_1TEXT_3ICON \
1255          program { name: "flip_enabled"; \
1256             signal: "elm,state,flip,enabled"; \
1257             source: "elm"; \
1258             action: STATE_SET "flip_enabled" 0.0; \
1259             target: "elm.text"; \
1260             target: "elm.icon.1"; \
1261             target: "elm.icon.2"; \
1262             target: "elm.icon.3"; \
1263             target: "elm.flip.content"; \
1264          } \
1265          program { name: "flip_disabled"; \
1266             signal: "elm,state,flip,disabled"; \
1267             source: "elm"; \
1268             action: STATE_SET "default" 0.0; \
1269             target: "elm.text"; \
1270             target: "elm.icon.1"; \
1271             target: "elm.icon.2"; \
1272             target: "elm.icon.3"; \
1273             target: "elm.flip.content"; \
1274          }
1275
1276 #define GENLIST_PROGRAM_FLIP_2TEXT \
1277          program { name: "flip_enabled"; \
1278             signal: "elm,state,flip,enabled"; \
1279             source: "elm"; \
1280             action: STATE_SET "flip_enabled" 0.0; \
1281             target: "elm.text.1"; \
1282             target: "elm.text.2"; \
1283             target: "elm.flip.content"; \
1284          } \
1285          program { name: "flip_disabled"; \
1286             signal: "elm,state,flip,disabled"; \
1287             source: "elm"; \
1288             action: STATE_SET "default" 0.0; \
1289             target: "elm.text.1"; \
1290             target: "elm.text.2"; \
1291             target: "elm.flip.content"; \
1292          }
1293
1294 #define GENLIST_PROGRAM_FLIP_2TEXT_1ICON \
1295          program { name: "flip_enabled"; \
1296             signal: "elm,state,flip,enabled"; \
1297             source: "elm"; \
1298             action: STATE_SET "flip_enabled" 0.0; \
1299             target: "elm.text.1"; \
1300             target: "elm.text.2"; \
1301             target: "elm.icon"; \
1302             target: "elm.flip.content"; \
1303          } \
1304          program { name: "flip_disabled"; \
1305             signal: "elm,state,flip,disabled"; \
1306             source: "elm"; \
1307             action: STATE_SET "default" 0.0; \
1308             target: "elm.text.1"; \
1309             target: "elm.text.2"; \
1310             target: "elm.icon"; \
1311             target: "elm.flip.content"; \
1312          }
1313
1314 #define GENLIST_PROGRAM_FLIP_2TEXT_2ICON \
1315          program { name: "flip_enabled"; \
1316             signal: "elm,state,flip,enabled"; \
1317             source: "elm"; \
1318             action: STATE_SET "flip_enabled" 0.0; \
1319             target: "elm.text.1"; \
1320             target: "elm.text.2"; \
1321             target: "elm.icon.1"; \
1322             target: "elm.icon.2"; \
1323             target: "elm.flip.content"; \
1324          } \
1325          program { name: "flip_disabled"; \
1326             signal: "elm,state,flip,disabled"; \
1327             source: "elm"; \
1328             action: STATE_SET "default" 0.0; \
1329              target: "elm.text.1"; \
1330             target: "elm.text.2"; \
1331             target: "elm.icon.1"; \
1332             target: "elm.icon.2"; \
1333             target: "elm.flip.content"; \
1334          }
1335
1336 #define GENLIST_PROGRAM_FLIP_2TEXT_3ICON \
1337          program { name: "flip_enabled"; \
1338             signal: "elm,state,flip,enabled"; \
1339             source: "elm"; \
1340             action: STATE_SET "flip_enabled" 0.0; \
1341             target: "elm.text.1"; \
1342             target: "elm.text.2"; \
1343             target: "elm.icon.1"; \
1344             target: "elm.icon.2"; \
1345             target: "elm.icon.3"; \
1346             target: "elm.flip.content"; \
1347          } \
1348          program { name: "flip_disabled"; \
1349             signal: "elm,state,flip,disabled"; \
1350             source: "elm"; \
1351             action: STATE_SET "default" 0.0; \
1352             target: "elm.text.1"; \
1353             target: "elm.text.2"; \
1354             target: "elm.icon.1"; \
1355             target: "elm.icon.2"; \
1356             target: "elm.icon.3"; \
1357             target: "elm.flip.content"; \
1358          }
1359
1360 #define GENLIST_PROGRAM_FLIP_3TEXT \
1361          program { name: "flip_enabled"; \
1362             signal: "elm,state,flip,enabled"; \
1363             source: "elm"; \
1364             action: STATE_SET "flip_enabled" 0.0; \
1365             target: "elm.text.1"; \
1366             target: "elm.text.2"; \
1367             target: "elm.text.3"; \
1368             target: "elm.flip.content"; \
1369          } \
1370          program { name: "flip_disabled"; \
1371             signal: "elm,state,flip,disabled"; \
1372             source: "elm"; \
1373             action: STATE_SET "default" 0.0; \
1374             target: "elm.text.1"; \
1375             target: "elm.text.2"; \
1376             target: "elm.text.3"; \
1377             target: "elm.flip.content"; \
1378          }
1379
1380 #define GENLIST_PROGRAM_FLIP_3TEXT_1ICON \
1381          program { name: "flip_enabled"; \
1382             signal: "elm,state,flip,enabled"; \
1383             source: "elm"; \
1384             action: STATE_SET "flip_enabled" 0.0; \
1385             target: "elm.text.1"; \
1386             target: "elm.text.2"; \
1387             target: "elm.text.3"; \
1388             target: "elm.icon"; \
1389             target: "elm.flip.content"; \
1390          } \
1391          program { name: "flip_disabled"; \
1392             signal: "elm,state,flip,disabled"; \
1393             source: "elm"; \
1394             action: STATE_SET "default" 0.0; \
1395             target: "elm.text.1"; \
1396             target: "elm.text.2"; \
1397             target: "elm.text.3"; \
1398             target: "elm.icon"; \
1399             target: "elm.flip.content"; \
1400          }
1401
1402 #define GENLIST_PROGRAM_FLIP_3TEXT_2ICON \
1403          program { name: "flip_enabled"; \
1404             signal: "elm,state,flip,enabled"; \
1405             source: "elm"; \
1406             action: STATE_SET "flip_enabled" 0.0; \
1407             target: "elm.text.1"; \
1408             target: "elm.text.2"; \
1409             target: "elm.text.3"; \
1410             target: "elm.icon.1"; \
1411             target: "elm.icon.2"; \
1412             target: "elm.flip.content"; \
1413          } \
1414          program { name: "flip_disabled"; \
1415             signal: "elm,state,flip,disabled"; \
1416             source: "elm"; \
1417             action: STATE_SET "default" 0.0; \
1418             target: "elm.text.1"; \
1419             target: "elm.text.2"; \
1420             target: "elm.text.3"; \
1421             target: "elm.icon.1"; \
1422             target: "elm.icon.2"; \
1423             target: "elm.flip.content"; \
1424          }
1425
1426 #define GENLIST_PROGRAM_FLIP_3TEXT_3ICON \
1427          program { name: "flip_enabled"; \
1428             signal: "elm,state,flip,enabled"; \
1429             source: "elm"; \
1430             action: STATE_SET "flip_enabled" 0.0; \
1431             target: "elm.text.1"; \
1432             target: "elm.text.2"; \
1433             target: "elm.text.3"; \
1434             target: "elm.icon.1"; \
1435             target: "elm.icon.2"; \
1436             target: "elm.icon.3"; \
1437             target: "elm.flip.content"; \
1438          } \
1439          program { name: "flip_disabled"; \
1440             signal: "elm,state,flip,disabled"; \
1441             source: "elm"; \
1442             action: STATE_SET "default" 0.0; \
1443             target: "elm.text.1"; \
1444             target: "elm.text.2"; \
1445             target: "elm.text.3"; \
1446             target: "elm.icon.1"; \
1447             target: "elm.icon.2"; \
1448             target: "elm.icon.3"; \
1449             target: "elm.flip.content"; \
1450          }
1451
1452 /* genlist multisense macro - start */
1453 #define GENLIST_PROGRAM_AFTER_PLAY_BUTTON_PRESS \
1454             after: "play_button_press";
1455
1456 #define GENLIST_PROGRAM_PLAY_BUTTON_PRESS \
1457          program { name: "play_button_press"; \
1458             action: PLAY_SAMPLE "button-pressed" 1.0; \
1459          }
1460
1461 // signal: elm,state,%s,active
1462 //   a "check" item named %s went active
1463 // signal: elm,state,%s,passive
1464 //   a "check" item named %s went passive
1465 // default is passive
1466 #define GENLIST_PROGRAM_DISCLIP \
1467          program { name: "enabled"; \
1468             signal: "elm,state,enabled"; \
1469             source: "elm"; \
1470             action: STATE_SET "default" 0.0; \
1471             target: "disclip"; \
1472          } \
1473          program { name: "disabled"; \
1474             signal: "elm,state,disabled"; \
1475             source: "elm"; \
1476             action: STATE_SET "disabled" 0.0; \
1477             target: "disclip"; \
1478          }
1479
1480 #define GENLIST_PROGRAM_SELECT( TARGET ) \
1481          program { name: "selected"; \
1482             signal: "elm,state,selected"; \
1483             source: "elm"; \
1484             action: STATE_SET "selected" 0.0; \
1485             target: "bg_image"; \
1486             TARGET \
1487             after: "play_button_press"; \
1488          } \
1489          program { name: "unselected"; \
1490             signal: "elm,state,unselected"; \
1491             source: "elm"; \
1492             action: STATE_SET "default" 0.0; \
1493             target: "bg_image"; \
1494             TARGET \
1495             transition: LINEAR 0.1; \
1496          } \
1497          program { name: "play_button_press"; \
1498             action: PLAY_SAMPLE "button-pressed" 1.0; \
1499          }
1500
1501 #define GENLIST_PROGRAM_REORDER \
1502          program { name: "reorder_enabled"; \
1503             signal: "elm,state,reorder,mode_set"; \
1504             source: "elm"; \
1505             action: STATE_SET "reorder" 0.0; \
1506             target: "base"; \
1507             target: "reorder.padding.left"; \
1508             target: "reorder.padding.top"; \
1509             target: "bottom_line"; \
1510          } \
1511          program { name: "reorder_disabled"; \
1512             signal: "elm,state,reorder,mode_unset"; \
1513             source: "elm"; \
1514             action: STATE_SET "default" 0.0; \
1515             target: "base"; \
1516             target: "reorder.padding.left"; \
1517             target: "reorder.padding.top"; \
1518             target: "bottom_line"; \
1519          } \
1520          program { name: "reorder_enabled_effect"; \
1521             signal: "elm,state,reorder_enabled_effect"; \
1522             source: "elm"; \
1523             action: STATE_SET "reorder" 0.0; \
1524             transition: DECELERATE 0.7; \
1525             target: "base"; \
1526             target: "reorder.padding.left"; \
1527             target: "reorder.padding.top"; \
1528             target: "bottom_line"; \
1529          } \
1530          program { name: "reorder_disabled_effect"; \
1531             signal: "elm,state,reorder_disabled_effect"; \
1532             source: "elm"; \
1533             action: STATE_SET "default" 0.0; \
1534             transition: DECELERATE 0.7; \
1535             target: "base"; \
1536             target: "reorder.padding.left"; \
1537             target: "reorder.padding.top"; \
1538             target: "bottom_line"; \
1539          }
1540
1541 #define GENLIST_PROGRAM_FLIP \
1542          program { name: "flip_enabled"; \
1543             signal:  "elm,state,flip,enabled"; \
1544             source:  "elm"; \
1545             action:  STATE_SET "flip_enabled" 0.0; \
1546             target: "disclip"; \
1547             after:   "flip_enabled_next"; \
1548          } \
1549          program { name:    "flip_enabled_next"; \
1550             action:  STATE_SET "flip_enabled" 0.0; \
1551             transition: DECELERATE 0.5; \
1552             target: "elm.flip.content"; \
1553             target: "elm.flip.icon"; \
1554          } \
1555          program { name:    "flip_disabled"; \
1556             signal:  "elm,state,flip,disabled"; \
1557             source:  "elm"; \
1558             action:  STATE_SET "default" 0.0; \
1559             transition: DECELERATE 0.5; \
1560             target: "elm.flip.content"; \
1561             target: "elm.flip.icon"; \
1562             after:   "flip_disabled_next"; \
1563          } \
1564          program { name:    "flip_disabled_next"; \
1565             source:  "elm"; \
1566             action:  STATE_SET "default" 0.0; \
1567             target: "disclip"; \
1568          }
1569
1570 #define GENLIST_PROGRAM_FLIP_TARGET( TARGET ) \
1571          program { name: "flip_enabled"; \
1572             signal:  "elm,state,flip,enabled"; \
1573             source:  "elm"; \
1574             action:  STATE_SET "flip_enabled" 0.0; \
1575             target: "disclip"; \
1576             after:   "flip_enabled_next"; \
1577          } \
1578          program { name:    "flip_enabled_next"; \
1579             action:  STATE_SET "flip_enabled" 0.0; \
1580             transition: DECELERATE 0.5; \
1581             TARGET \
1582          } \
1583          program { name:    "flip_disabled"; \
1584             signal:  "elm,state,flip,disabled"; \
1585             source:  "elm"; \
1586             action:  STATE_SET "default" 0.0; \
1587             transition: DECELERATE 0.5; \
1588             TARGET \
1589             after:   "flip_disabled_next"; \
1590          } \
1591          program { name:    "flip_disabled_next"; \
1592             source:  "elm"; \
1593             action:  STATE_SET "default" 0.0; \
1594             target: "disclip"; \
1595          }
1596
1597 #define GENLIST_PART_TEXT_LISTITEM1(NAME, LEFT, RIGHT) \
1598    part { name: NAME; \
1599       scale: 1; \
1600       clip_to: "disclip"; \
1601       type: TEXT; \
1602       mouse_events: 0; \
1603       GENLIST_DESCRIPTION_LR(LEFT, RIGHT, \
1604          color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; \
1605          align: 0 0.5; \
1606          text { \
1607             align: 0 0.5; \
1608             min: 0 1; \
1609             max: 1 0; \
1610             font: "SLP:style=Roman"; \
1611             size: GENLIST_LIST_MAIN_TEXT_SIZE; \
1612             text_class: "list_item"; \
1613          } \
1614       ) \
1615       description { state: "selected" 0.0; \
1616          inherit: "default" 0.0; \
1617          color: GENLIST_LIST_MAIN_TEXT_FOCUS_COLOR; \
1618       } \
1619    }
1620
1621 #define GENLIST_PART_TEXT_LISTITEM1_TB(NAME, LEFT, RIGHT) \
1622    part { name: NAME; \
1623       clip_to: "disclip"; \
1624       type: TEXTBLOCK; \
1625       mouse_events: 0; \
1626       scale: 1; \
1627       GENLIST_DESCRIPTION_LR(LEFT, RIGHT, \
1628          align: 0 0.5; \
1629          text { \
1630             align: 0 0.5; \
1631             min: 0 1; \
1632             max: 1 0; \
1633             style: "genlist_style_list_main_text_unread"; \
1634          } \
1635       ) \
1636       description { state: "selected" 0.0; \
1637          inherit: "default" 0.0; \
1638          text.style: "genlist_style_list_main_text_focus"; \
1639       } \
1640    }
1641
1642 #define GENLIST_PART_TEXT_MAINITEM1(NAME, LEFT, RIGHT, TOP, BOTTOM) \
1643    part { name: NAME; \
1644       scale: 1; \
1645       clip_to: "disclip"; \
1646       type: TEXT; \
1647       mouse_events: 0; \
1648       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
1649          align: 0 0.5; \
1650          fixed: 1 0; \
1651          color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; \
1652          text { \
1653             align: 0 0.5; \
1654             min: 0 1; \
1655             max: 1 0; \
1656             font: "SLP:style=Roman"; \
1657             size: GENLIST_LIST_MAIN_TEXT_SIZE; \
1658             text_class: "list_item"; \
1659          } \
1660       ) \
1661       description { state: "selected" 0.0; \
1662          inherit: "default" 0.0; \
1663          color: GENLIST_LIST_MAIN_TEXT_FOCUS_COLOR; \
1664       } \
1665    }
1666
1667 #define GENLIST_PART_TEXT_MAINITEM1_TB(NAME, LEFT, RIGHT, TOP, BOTTOM) \
1668    part { name: NAME; \
1669       scale: 1; \
1670       clip_to: "disclip"; \
1671       type: TEXTBLOCK; \
1672       mouse_events: 0; \
1673       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
1674          align: 0 0.5; \
1675          fixed: 1 0; \
1676          text { \
1677             align: 0 0.5; \
1678             min: 0 1; \
1679             max: 1 0; \
1680             style: "genlist_style_list_main_text_unread"; \
1681          } \
1682       ) \
1683       description { state: "selected" 0.0; \
1684          inherit: "default" 0.0; \
1685          text.style: "genlist_style_list_main_text_focus"; \
1686       } \
1687    }
1688
1689 #define GENLIST_PART_TEXT_SUBITEM1_FROM_LB(NAME, LEFT, RIGHT, BOTTOM) \
1690     part { name: NAME; \
1691       scale: 1; \
1692       clip_to: "disclip"; \
1693       type: TEXT; \
1694       mouse_events: 0; \
1695       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
1696          align: 0 1; \
1697          color: GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR; \
1698          fixed: 1 1; \
1699          text { \
1700             font: "SLP:style=Medium"; \
1701             size: GENLIST_LIST_SUB_TEXT_SIZE; \
1702             min: 0 1; \
1703             max: 1 0; \
1704             align: 0 0.5; \
1705             text_class: "slp_medium"; \
1706          } \
1707       ) \
1708       description { state: "selected" 0.0; \
1709          inherit: "default" 0.0; \
1710          color: GENLIST_LIST_SUB_TEXT_FOCUS_COLOR; \
1711       } \
1712    }
1713
1714 #define GENLIST_PART_TEXT_SUBITEM1_FROM_R(NAME) \
1715     part { name: NAME; \
1716       scale: 1; \
1717       clip_to: "disclip"; \
1718       type: TEXT; \
1719       mouse_events: 0; \
1720       GENLIST_DESCRIPTION_LR("elm.padding.left", "elm.padding.right", \
1721          align: 1 0.5; \
1722          rel1 { \
1723             to_x: "base"; \
1724             relative: 0.5 0; \
1725          } \
1726          color: GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR; \
1727          fixed: 1 1; \
1728          text { \
1729             min: 0 1; \
1730             max: 1 0; \
1731             align: 1 0.5; \
1732             font: "SLP:style=Medium"; \
1733             size: GENLIST_LIST_SUB_TEXT_SIZE; \
1734             text_class: "slp_medium"; \
1735          } \
1736       ) \
1737       description { state: "selected" 0.0; \
1738          inherit: "default" 0.0; \
1739          color: GENLIST_LIST_SUB_TEXT_FOCUS_COLOR; \
1740       } \
1741    }
1742
1743 #define GENLIST_PART_TEXT_SUBITEM1_FROM_RB(NAME) \
1744     part { name: NAME; \
1745       scale: 1; \
1746       clip_to: "disclip"; \
1747       type: TEXT; \
1748       mouse_events: 0; \
1749       GENLIST_DESCRIPTION_LRB("elm.padding.left", "elm.padding.right", "elm.padding.bottom", \
1750          align: 1 1; \
1751          rel1 { \
1752             to_x: "base"; \
1753             relative: 0.5 1; \
1754          } \
1755          color: GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR; \
1756          fixed: 1 1; \
1757          text { \
1758             min: 0 1; \
1759             max: 1 0; \
1760             align: 1 0.5; \
1761             font: "SLP:style=Medium"; \
1762             size: GENLIST_LIST_SUB_TEXT_SIZE; \
1763             text_class: "slp_medium"; \
1764          } \
1765       ) \
1766       description { state: "selected" 0.0; \
1767          inherit: "default" 0.0; \
1768          color: GENLIST_LIST_SUB_TEXT_FOCUS_COLOR; \
1769       } \
1770    }
1771
1772 #define GENLIST_PART_TEXT_SUBITEM1_FROM_RB_TB(NAME) \
1773     part { name: NAME; \
1774       scale: 1; \
1775       clip_to: "disclip"; \
1776       type: TEXTBLOCK; \
1777       mouse_events: 0; \
1778       GENLIST_DESCRIPTION_LRB("elm.padding.left", "elm.padding.right", "elm.padding.bottom", \
1779          align: 1 1; \
1780          rel1 { \
1781             to_x: "base"; \
1782             relative: 0.5 1; \
1783          } \
1784          fixed: 1 1; \
1785          text { \
1786             min: 0 1; \
1787             max: 1 0; \
1788             align: 1 0.5; \
1789             style: "genlist_style_list_sub_text_default"; \
1790          } \
1791       ) \
1792       description { state: "selected" 0.0; \
1793          inherit: "default" 0.0; \
1794          text.style: "genlist_style_list_sub_text_focus"; \
1795       } \
1796    }
1797
1798 #define GENLIST_PART_TEXT_SUBITEM1_FIXED(NAME, DESCRIPT, DESCRIPT_PARAM, SIZE) \
1799     part { name: NAME; \
1800       scale: 1; \
1801       clip_to: "disclip"; \
1802       type: TEXT; \
1803       mouse_events: 0; \
1804       DESCRIPT(DESCRIPT_PARAM, \
1805          color: GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR; \
1806          fixed: 1 1; \
1807          min: SIZE 0; \
1808          text { \
1809             font: "SLP:style=Medium"; \
1810             size: GENLIST_LIST_SUB_TEXT_SIZE; \
1811             min: 0 1; \
1812             align: 0 0.5; \
1813             text_class: "slp_medium"; \
1814          } \
1815       ) \
1816       description { state: "selected" 0.0; \
1817          inherit: "default" 0.0; \
1818          color: GENLIST_LIST_SUB_TEXT_FOCUS_COLOR; \
1819       } \
1820    }
1821
1822 #define GENLIST_PART_TEXT_CONVERTOR(NAME, LEFT, RIGHT, TEXT_PARAM) \
1823    part { name: NAME; \
1824       scale: 1; \
1825       clip_to: "disclip"; \
1826       type: TEXT; \
1827       mouse_events: 0; \
1828       GENLIST_DESCRIPTION_LR(LEFT, RIGHT, \
1829          color: GENLIST_CONVERTOR_STYLE_COLOR; \
1830          align: 0 0.5; \
1831          text { \
1832             align: 0 0.5; \
1833             min: 0 1; \
1834             font: "SLP:style=Roman"; \
1835             size: GENLIST_CONVERTOR_STYLE_SIZE; \
1836             text_class: "list_item"; \
1837             TEXT_PARAM \
1838          } \
1839       ) \
1840       description { state: "selected" 0.0; \
1841          inherit: "default" 0.0; \
1842          color: GENLIST_CONVERTOR_STYLE_FOCUS_COLOR; \
1843       } \
1844    }
1845
1846 #define GENLIST_PART_ICON_R(NAME, RIGHT, PARAM) \
1847    part { name: NAME; \
1848       scale: 1; \
1849       clip_to: "disclip"; \
1850       type: SWALLOW; \
1851       GENLIST_DESCRIPTION_R(RIGHT, \
1852          fixed: 1 1; \
1853          PARAM \
1854       ) \
1855    }
1856
1857 #define GENLIST_PART_ICON_RTB(NAME, RIGHT, TOP, BOTTOM, PARAM) \
1858    part { name: NAME; \
1859       scale: 1; \
1860       clip_to: "disclip"; \
1861       type: SWALLOW; \
1862       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
1863          aspect: 1 1; \
1864          PARAM \
1865       ) \
1866    }
1867
1868 #define GENLIST_PART_ICON_L(NAME, LEFT, PARAM) \
1869    part { name: NAME; \
1870       scale: 1; \
1871       clip_to: "disclip"; \
1872       type: SWALLOW; \
1873       GENLIST_DESCRIPTION_L(LEFT, \
1874          fixed: 1 1; \
1875          PARAM \
1876       ) \
1877    }
1878
1879 #define GENLIST_PART_INDEX_LIST_BASE_IMAGE_INC \
1880    part { name: "base_image";\
1881       repeat_events: 1;\
1882       description { state: "default" 0.0;\
1883          rel1.to: "rect";\
1884          rel2.to: "rect";\
1885          image {\
1886             normal: "00_index list_bg.png";\
1887             border: 0 0 2 2;\
1888          }\
1889       }\
1890    }