[Genlist] Fix swallow part be above image part & image part name
[platform/core/uifw/efl-theme-tizen.git] / themes / widgets / genlist / genlist_macro.edc
1 /*
2  * efl-theme-tizen
3  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an AS IS BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 /* genlist multisense sample/tone listing */
19    sounds {
20       sample {
21          name: "button-pressed" RAW;
22          source: "button-pressed.wav";
23       }
24    }
25
26 //****************************************************************************//
27 // *******************************  Default size macro **********************//
28 //**************************************************************************//
29 // if size is different for each theme, split it into each theme inc.
30
31 #define GENLIST_HEIGHT_1LINE              112
32 #define GENLIST_HEIGHT_2LINE_MAIN         54
33 #define GENLIST_HEIGHT_2LINE_SUB          42
34 #define GENLIST_HEIGHT_MULTILINE_SUB      38
35 #define GENLIST_PART_LIST_LINE_HEIGHT     1
36 #define GENLIST_HEIGHT_GROUPTITLE         46
37
38 #define GENLIST_PADDING_SIZE_DEFAULT            16
39 #define GENLIST_PADDING_SIZE_LEFT               26
40 #define GENLIST_PADDING_SIZE_RIGHT              26
41 // Dialogue group image has bottom padding (2piexl), Giant font can overlapped bottom line of image.
42 #define GENLIST_PADDING_SIZE_TOP                2
43 #define GENLIST_PADDING_SIZE_BOTTOM             2
44 // -----------------------------------------------------
45 #define GENLIST_PADDING_SIZE_TOP_2LINE          22
46 #define GENLIST_PADDING_SIZE_BOTTOM_2LINE       22
47 #define GENLIST_PADDING_SIZE_TOP_3LINE          17
48 #define GENLIST_PADDING_SIZE_BOTTOM_3LINE       17
49 #define GENLIST_PADDING_SIZE_NDEPTH             26
50
51 #define DIALOGUE_PADDING_SCROLLER         16
52 #define DIALOGUE_PADDING_SIZE_LEFT        16+20
53 #define DIALOGUE_PADDING_SIZE_RIGHT       16+20
54
55 #define GENLIST_ICON_SMALL_SIZE           45
56 #define GENLIST_ICON_STAR_SIZE            45
57 #define GENLIST_ICON_MEDIUM_SIZE          72
58 #define GENLIST_ICON_LARGE_SIZE           99
59
60 #define GENLIST_ICON_MEDIUM_MASK_SIZE     84
61 #define GENLIST_ICON_LARGE_MASK_SIZE      108
62 #define GENLIST_ICON_THUMB_MASK_SIZE      132
63
64 #define GENLIST_BTN_01_HEIGHT             74
65 #define GENLIST_BTN_02_SIZE               72
66 #define GENLIST_ICON_ONOFF_WIDTH          132
67 #define GENLIST_ICON_ONOFF_HEIGHT         70
68 #define GENLIST_ICON_CHECK_RADIO_SIZE     64
69 #define GENLIST_ICON_COLORBAR_SIZE        7
70 #define GENLIST_ICON_PASSWORD_SIZE        82
71
72 #define GENLIST_ICON_ENTRY_SIZE           54
73
74 #define GENLIST_TREESIZE_DEFAULT          26
75
76 //#define GENLIST_DIALOGUE_SEPARATOR_DEFAULT_HEIGHT 40
77
78 //****************************************************************************//
79 // *****************  EDJE description have 24 patterns **********************//
80  //**************************************************************************//
81 // ------------------
82 // |  PART == HERE  |
83 // ------------------
84  #define GENLIST_DESCRIPTION_ENVELOP( PART, PARAM ) \
85       description { state: "default" 0.0;\
86          rel1 { \
87             relative: 0 0; \
88             to: PART; \
89          }\
90          rel2 {\
91             relative: 1 1;\
92             to: PART; \
93          }\
94          PARAM\
95       }
96
97 //      |   top  |
98 // ---------------------
99 // left |  HERE  | right
100 // ---------------------
101 //      | bottom |
102 #define GENLIST_DESCRIPTION( left, right, top, bottom, param ) \
103       description { state: "default" 0.0;\
104          rel1 { \
105             relative: 1 1; \
106             to_x: left; \
107             to_y: top; \
108          }\
109          rel2 {\
110             relative: 0 0;\
111             to_x: right;\
112             to_y: bottom;\
113          }\
114          param\
115       }
116
117 // ---------------------
118 // left |--> HERE
119 // ---------------------
120 #define GENLIST_DESCRIPTION_L( left, param ) \
121       description { state: "default" 0.0;\
122          align: 0 0.5; \
123          fixed: 1 0; \
124          rel1 { \
125             relative: 1 0; \
126             to_x: left; \
127             to_y: "base"; \
128          }\
129          rel2 { \
130             relative: 1 1;\
131             to_x: left; \
132             to_y: "base"; \
133          }\
134          param\
135       }
136
137 // ---------------------
138 //   HERE  <--| right
139 // ---------------------
140 #define GENLIST_DESCRIPTION_R( right, param ) \
141       description { state: "default" 0.0;\
142          align: 1 0.5; \
143          fixed: 1 0; \
144          rel1 { \
145             relative: 0 0; \
146             to_x: right; \
147             to_y: "base"; \
148          }\
149          rel2 {\
150             relative: 0 1;\
151             to_x: right; \
152             to_y: "base"; \
153          }\
154          param\
155       }
156
157 // --------------------------
158 // left |--> HERE  <--| right
159 // --------------------------
160 #define GENLIST_DESCRIPTION_LR( left, right, param ) \
161       description { state: "default" 0.0;\
162          rel1 { \
163             relative: 1 0; \
164             to_x: left; \
165             to_y: "base"; \
166          }\
167          rel2 {\
168             relative: 0 1;\
169             to_x: right;\
170             to_y: "base"; \
171          }\
172          param\
173       }
174
175 //   |  top     |
176 // -----------------
177 //  |  HERE  <--| right
178 // -----------------
179 //  | bottom   |
180 #define GENLIST_DESCRIPTION_RTB( right, top, bottom, param ) \
181       description { state: "default" 0.0;\
182          align: 1 0.5;\
183          rel1 { \
184             relative: 0 1; \
185             to_x: right; \
186             to_y: top; \
187          }\
188          rel2 {\
189             relative: 0 0;\
190             to_x: right;\
191             to_y: bottom;\
192          }\
193          param\
194       }
195
196 // left |  HERE  | right
197 // ---------------------
198 //      | bottom |
199 #define GENLIST_DESCRIPTION_LRB( left, right, bottom, param ) \
200       description { state: "default" 0.0;\
201          align: 0.5 1;\
202          rel1 { \
203             relative: 1 0; \
204             to_x: left; \
205             to_y: bottom; \
206          }\
207          rel2 {\
208             relative: 0 0;\
209             to_x: right;\
210             to_y: bottom;\
211          }\
212          param\
213       }
214
215 //      |   top  |
216 // ---------------------
217 // left |  HERE  | right
218 #define GENLIST_DESCRIPTION_LRT( left, right, top, param ) \
219       description { state: "default" 0.0;\
220          align: 0.5 0;\
221          rel1 { \
222             relative: 1 1; \
223             to_x: left; \
224             to_y: top; \
225          }\
226          rel2 {\
227             relative: 0 1;\
228             to_x: right;\
229             to_y: top;\
230          }\
231          param\
232       }
233
234 //      |       top  |
235 // ---------------------
236 // left | -->  HERE  |
237 #define GENLIST_DESCRIPTION_LT( left, top, param ) \
238       description { state: "default" 0.0;\
239          align: 0 0;\
240          rel1 { \
241             relative: 1 1; \
242             to_x: left; \
243             to_y: top; \
244          }\
245          rel2 {\
246             relative: 1 1;\
247             to_x: left;\
248             to_y: top;\
249          }\
250          param\
251       }
252
253 // left |  --> HERE  |
254 // ---------------------
255 //      |     bottom |
256 #define GENLIST_DESCRIPTION_LB( left, bottom, param ) \
257       description { state: "default" 0.0;\
258          align: 0 1;\
259          rel1 { \
260             relative: 1 0; \
261             to_x: left; \
262             to_y: bottom; \
263          }\
264          rel2 {\
265             relative: 1 0;\
266             to_x: left;\
267             to_y: bottom;\
268          }\
269          param\
270       }
271
272 //      |     top  |
273 // ---------------------
274 // left |--> HERE  |
275 // ---------------------
276 //      |   bottom |
277 #define GENLIST_DESCRIPTION_LTB( left, top, bottom, param ) \
278       description { state: "default" 0.0;\
279          align: 0 0.5;\
280          rel1 { \
281             relative: 1 1; \
282             to_x: left; \
283             to_y: top; \
284          }\
285          rel2 {\
286             relative: 1 0;\
287             to_x: left;\
288             to_y: bottom;\
289          }\
290          param\
291       }
292
293 //      |   top  |
294 // ---------------------
295 //     |  HERE <--| right
296 #define GENLIST_DESCRIPTION_RT( right, top, param ) \
297       description { state: "default" 0.0;\
298          align: 1 0;\
299          rel1 { \
300             relative: 0 1; \
301             to_x: right; \
302             to_y: top; \
303          }\
304          rel2 {\
305             relative: 0 1;\
306             to_x: right;\
307             to_y: top;\
308          }\
309          param\
310       }
311
312 //  | HERE <-- | right
313 // ---------------------
314 //  |  bottom  |
315 #define GENLIST_DESCRIPTION_RB( right, bottom, param ) \
316       description { state: "default" 0.0;\
317          align: 1 1;\
318          rel1 { \
319             relative: 0 0; \
320             to_x: right; \
321             to_y: bottom; \
322          }\
323          rel2 {\
324             relative: 0 0;\
325             to_x: right;\
326             to_y: bottom;\
327          }\
328          param\
329       }
330
331 // |   top  |
332 // ----------
333 // |  HERE  |
334 // ----------
335 // | bottom |
336 #define GENLIST_DESCRIPTION_TB( top, bottom, param ) \
337       description { state: "default" 0.0;\
338          align: 0.5 0.5;\
339          rel1 { \
340             relative: 0 1; \
341             to_y: top; \
342          }\
343          rel2 {\
344             relative: 1 0;\
345             to_y: bottom;\
346          }\
347          param\
348       }
349
350 #define GENLIST_PROLOG \
351       data.item: "stacking" "above"; \
352       data.item: "selectraise" "on"; \
353       data.item: "treesize" 0;
354
355 #define GENLIST_PROLOG_NORMAL \
356       GENLIST_PROLOG \
357       data.item: "treesize" GENLIST_TREESIZE_DEFAULT; \
358       data.item: "flips" "elm.flip.icon elm.flip.content elm.flip.eraser"; \
359       images { \
360          image : "00_list_group_bg.png" COMP; \
361          image : "00_list_group_bg_press.png" COMP; \
362       }
363
364 #define GENLIST_PROLOG_DIALOGUE \
365       GENLIST_PROLOG \
366       data.item: "flips" "elm.flip.icon elm.flip.content elm.flip.eraser"; \
367       images { \
368          image : "00_list_group_bg.png" COMP; \
369          image : "00_list_group_bg_press.png" COMP; \
370          image : "00_list_group_bg_top.png" COMP; \
371          image : "00_list_group_bg_top_press.png" COMP; \
372          image : "00_list_group_bg_center.png" COMP; \
373          image : "00_list_group_bg_center_press.png" COMP; \
374          image : "00_list_group_bg_bottom.png" COMP; \
375          image : "00_list_group_bg_bottom_press.png" COMP; \
376       }
377
378 #define GENLIST_NAME(NAME) \
379       name: "elm/genlist/item/"NAME; \
380       alias: "elm/genlist/item_odd/"NAME; \
381       alias: "elm/genlist/item_compress/"NAME; \
382       alias: "elm/genlist/item_compress_odd/"NAME; \
383       alias: "elm/genlist/tree/"NAME; \
384       alias: "elm/genlist/tree_odd/"NAME; \
385       alias: "elm/genlist/tree_compress/"NAME; \
386       alias: "elm/genlist/tree_compress_odd/"NAME; \
387
388 /*****************************************************************************/
389 /******************************* Dialogue group ******************************/
390 /*****************************************************************************/
391 #define GENLIST_DIALOGUE_INHERIT_BODY( _PARTS ) \
392       data.item: "treesize" 0; \
393       parts { \
394          GENLIST_PART_BG_NORMAL_OFF \
395          GENLIST_PART_BOTTOM_LINE_OFF \
396          GENLIST_PART_BG_DIALOGUE \
397          GENLIST_PART_PADDING_LEFT_SIZE( DIALOGUE_PADDING_SIZE_LEFT ) \
398          GENLIST_PART_PADDING_RIGHT_EDIT \
399          _PARTS \
400          GENLIST_PART_FLIP \
401       }
402
403 #define GENLIST_INHERIT_THUMB_CIRCLE(SIZE_PREFIX, MASK_SIZE, PARENT) \
404      images { \
405          image: "thumbnail/"SIZE_PREFIX"/00_list_circle_thumbnail_normal.png" COMP; \
406          image: "thumbnail/"SIZE_PREFIX"/00_list_circle_thumbnail_press.png" COMP; \
407          image: "thumbnail/"SIZE_PREFIX"/00_list_circle_thumbnail_dim.png" COMP; \
408       } \
409       parts { \
410          GENLIST_PART_IMAGE("elm.thumb", \
411             GENLIST_DESCRIPTION_ENVELOP(PARENT, \
412                image.normal: "thumbnail/"SIZE_PREFIX"/00_list_circle_thumbnail_normal.png"; \
413                min: MASK_SIZE MASK_SIZE; \
414                fixed:1 1; \
415             ) \
416             description { state: "selected" 0.0; \
417                inherit: "default" 0.0; \
418                image.normal: "thumbnail/"SIZE_PREFIX"/00_list_circle_thumbnail_press.png"; \
419             } \
420             description { state: "disabled" 0.0; \
421                inherit: "default" 0.0; \
422                image.normal: "thumbnail/"SIZE_PREFIX"/00_list_circle_thumbnail_dim.png"; \
423             } \
424          ) \
425       }
426
427 #define GENLIST_INHERIT_THUMB_SQUARE(SIZE_PREFIX, MASK_SIZE, PARENT) \
428       images { \
429          image: "thumbnail/"SIZE_PREFIX"/00_list_square_thumbnail_normal.png" COMP; \
430          image: "thumbnail/"SIZE_PREFIX"/00_list_square_thumbnail_press.png" COMP; \
431          image: "thumbnail/"SIZE_PREFIX"/00_list_square_thumbnail_dim.png" COMP; \
432       } \
433       parts { \
434          GENLIST_PART_IMAGE("elm.thumb", \
435             GENLIST_DESCRIPTION_ENVELOP(PARENT, \
436                image.normal: "thumbnail/"SIZE_PREFIX"/00_list_square_thumbnail_normal.png"; \
437                min: MASK_SIZE MASK_SIZE; \
438                max: MASK_SIZE MASK_SIZE; \
439                fixed:1 1; \
440             ) \
441             description { state: "selected" 0.0; \
442                inherit: "default" 0.0; \
443                image.normal: "thumbnail/"SIZE_PREFIX"/00_list_square_thumbnail_press.png"; \
444             } \
445             description { state: "disabled" 0.0; \
446                inherit: "default" 0.0; \
447                image.normal: "thumbnail/"SIZE_PREFIX"/00_list_square_thumbnail_dim.png"; \
448             } \
449          ) \
450       }
451
452
453 #define GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE(SIZE_PREFIX, MASK_SIZE, PARENT) \
454      images { \
455          image: "thumbnail/"SIZE_PREFIX"/00_dialogue_circle_thumbnail_normal.png" COMP; \
456          image: "thumbnail/"SIZE_PREFIX"/00_dialogue_circle_thumbnail_press.png" COMP; \
457          image: "thumbnail/"SIZE_PREFIX"/00_dialogue_circle_thumbnail_dim.png" COMP; \
458       } \
459       parts { \
460          GENLIST_PART_IMAGE("elm.thumb", \
461             GENLIST_DESCRIPTION_ENVELOP(PARENT, \
462                image.normal: "thumbnail/"SIZE_PREFIX"/00_dialogue_circle_thumbnail_normal.png"; \
463                min: MASK_SIZE MASK_SIZE; \
464                max: MASK_SIZE MASK_SIZE; \
465                fixed:1 1; \
466             ) \
467             description { state: "selected" 0.0; \
468                inherit: "default" 0.0; \
469                image.normal: "thumbnail/"SIZE_PREFIX"/00_dialogue_circle_thumbnail_press.png"; \
470             } \
471          ) \
472       }
473
474 #define GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE(SIZE_PREFIX, MASK_SIZE, PARENT) \
475       images { \
476          image: "thumbnail/"SIZE_PREFIX"/00_dialogue_square_thumbnail_normal.png" COMP; \
477          image: "thumbnail/"SIZE_PREFIX"/00_dialogue_square_thumbnail_press.png" COMP; \
478          image: "thumbnail/"SIZE_PREFIX"/00_dialogue_square_thumbnail_dim.png" COMP; \
479       } \
480       parts { \
481          GENLIST_PART_IMAGE("elm.thumb", \
482             GENLIST_DESCRIPTION_ENVELOP(PARENT, \
483                image.normal: "thumbnail/"SIZE_PREFIX"/00_dialogue_square_thumbnail_normal.png"; \
484                min: MASK_SIZE MASK_SIZE; \
485                fixed:1 1; \
486             ) \
487             description { state: "selected" 0.0; \
488                inherit: "default" 0.0; \
489                image.normal: "thumbnail/"SIZE_PREFIX"/00_dialogue_square_thumbnail_press.png"; \
490             } \
491          ) \
492       }
493
494 #define GENLIST_INHERIT_THUMB_CIRCLE_MEDIUM(PARENT) \
495    GENLIST_INHERIT_THUMB_CIRCLE("72x72", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
496
497 // FIXME: 72x72 squre image is not ready yet. UX team!!!!!!?@!#!!
498 #define GENLIST_INHERIT_THUMB_SQUARE_MEDIUM(PARENT) \
499    GENLIST_INHERIT_THUMB_SQUARE("99x99", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
500
501 #define GENLIST_INHERIT_THUMB_CIRCLE_LARGE(PARENT) \
502    GENLIST_INHERIT_THUMB_CIRCLE("99x99", GENLIST_ICON_LARGE_MASK_SIZE, PARENT)
503
504 #define GENLIST_INHERIT_THUMB_SQUARE_LARGE(PARENT) \
505    GENLIST_INHERIT_THUMB_SQUARE("99x99", GENLIST_ICON_LARGE_MASK_SIZE, PARENT)
506
507 #define GENLIST_INHERIT_THUMB_CIRCLE_THUMB(PARENT) \
508    GENLIST_INHERIT_THUMB_CIRCLE("126x126", GENLIST_ICON_THUMB_MASK_SIZE, PARENT)
509
510 // FIXME: 72x72 squre image is not ready yet. UX team!!!!!!?@!#!!
511 #define GENLIST_INHERIT_THUMB_SQUARE_THUMB(PARENT) \
512    GENLIST_INHERIT_THUMB_SQUARE("99x99", GENLIST_ICON_THUMB_MASK_SIZE, PARENT)
513
514
515 #define GENLIST_INHERIT_THUMB_CIRCLE_MEDIUM_DIALOGUE(PARENT) \
516    GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE("72x72", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
517
518 // FIXME: 72x72 squre image is not ready yet. UX team!!!!!!?@!#!!
519 #define GENLIST_INHERIT_THUMB_SQUARE_MEDIUM_DIALOGUE(PARENT) \
520    GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE("99x99", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
521
522 #define GENLIST_INHERIT_THUMB_CIRCLE_LARGE_DIALOGUE(PARENT) \
523    GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE("99x99", GENLIST_ICON_LARGE_MASK_SIZE, PARENT)
524
525 #define GENLIST_INHERIT_THUMB_SQUARE_LARGE_DIALOGUE(PARENT) \
526    GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE("99x99", GENLIST_ICON_LARGE_MASK_SIZE, PARENT)
527
528 #define GENLIST_INHERIT_THUMB_CIRCLE_THUMB_DIALOGUE(PARENT) \
529    GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE("126x126", GENLIST_ICON_THUMB_MASK_SIZE, PARENT)
530
531 // FIXME: 72x72 squre image is not ready yet. UX team!!!!!!?@!#!!
532 #define GENLIST_INHERIT_THUMB_SQUARE_THUMB_DIALOGUE(PARENT) \
533    GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE("99x99", GENLIST_ICON_THUMB_MASK_SIZE, PARENT)
534
535 //****************************************************************************//
536 // ****************************** BG Image **********************************//
537 //****************************************************************************//
538 #define GENLIST_PART_BG(DEFAULT_COLOR, SELECT_COLOR, DISABLE_COLOR) \
539       GENLIST_PART_RECT("bg_clip", \
540          mouse_events: 0; \
541          description { state: "default" 0.0; \
542          } \
543          description { state: "decorate" 0.0; \
544             inherit: "default" 0.0; \
545             color: 0 0 0 0; \
546          } \
547          description { state: "reorder" 0.0; \
548             inherit: "default" 0.0; \
549             color: 0 0 0 0; \
550          } \
551       ) \
552       GENLIST_PART_RECT("bg",  \
553          mouse_events: 0; \
554          clip_to: "bg_clip"; \
555          description { state: "default" 0.0; \
556             color: GENLIST_LIST_BG_COLOR; \
557          } \
558          description { state: "selected" 0.0; \
559             inherit: "default" 0.0; \
560             color: SELECT_COLOR; \
561          } \
562          description { state: "disabled" 0.0; \
563             inherit: "default" 0.0; \
564             color: DISABLE_COLOR; \
565          } \
566          description { state: "decorate" 0.0; \
567             inherit: "default" 0.0; \
568             visible: 0; \
569          } \
570          GENLIST_DESCRIPTION_FADE \
571       )
572
573 #define GENLIST_PART_BG_NORMAL \
574       GENLIST_PART_BG(GENLIST_LIST_BG_COLOR, \
575          GENLIST_LIST_PRESS_COLOR, \
576          GENLIST_LIST_DIM_COLOR \
577       ) \
578       GENLIST_PART_BG_REORDER
579
580 #define GENLIST_PART_BG_NORMAL_OFF \
581       GENLIST_PART_BG_OFF \
582       GENLIST_PART_BG_REORDER_OFF
583
584 #define GENLIST_PART_BG_OFF \
585    GENLIST_PART_RECT("bg", \
586       mouse_events: 0; \
587       description { state: "default" 0.0; \
588          visible: 0; \
589       } \
590       description { state: "selected" 0.0; \
591          visible: 0; \
592       } \
593       description { state: "disabled" 0.0; \
594          visible: 0; \
595       } \
596       description { state: "decorate" 0.0; \
597          visible: 0; \
598       } \
599    )
600
601 #define GENLIST_PART_BG_REORDER \
602    GENLIST_PART_RECT("bg_reorder_clip", \
603       description { state: "default" 0.0; \
604          color: 0 0 0 0; \
605       } \
606       description { state: "reorder" 0.0; \
607          inherit: "default" 0.0; \
608          color: 255 255 255 255; \
609       } \
610       description { state: "flip" 0.0; \
611          inherit: "default" 0.0; \
612          color: 0 0 0 0; \
613       } \
614    ) \
615    GENLIST_PART_SPACER("bg_reorder_left", \
616       description { state: "default" 0.0; \
617          min: 16 0; \
618          max: 16 -1; \
619          fixed: 1 0; \
620          align: 0 0.5; \
621          rel2.relative: 0 1; \
622       } \
623    ) \
624    GENLIST_PART_SPACER("bg_reorder_right", \
625       description { state: "default" 0.0; \
626          min: 16 0; \
627          max: 16 -1; \
628          fixed: 1 0; \
629          align: 1.0 0.5; \
630          rel1.relative: 1 0; \
631       } \
632    ) \
633    GENLIST_PART_IMAGE("bg_reorder", \
634       clip_to: "bg_reorder_clip"; \
635       mouse_events: 0; \
636       GENLIST_DESCRIPTION_LR("bg_reorder_left", "bg_reorder_right", \
637          image { \
638             normal: "00_list_group_bg.png"; \
639             border: 17 17 8 8; \
640             border_scale: 1; \
641          } \
642       ) \
643       description { state: "selected" 0.0; \
644          inherit: "default"; \
645          image { \
646             normal: "00_list_group_bg_press.png"; \
647             border: 17 17 8 8; \
648             border_scale: 1; \
649          } \
650       } \
651       GENLIST_DESCRIPTION_FADE \
652    )
653
654 #define GENLIST_PART_BG_REORDER_OFF \
655    GENLIST_PART_IMAGE("bg_reorder", \
656       description {state: "default" 0.0;\
657          visible: 0;\
658       }\
659       description { state: "selected" 0.0; {\
660          inherit: "default" 0.0; \
661          visible: 0; \
662       } \
663    ) \
664
665 #define GENLIST_PART_BG_DIALOGUE \
666    GENLIST_PART_RECT("bg_dialogue_clip", \
667       description { state: "default" 0.0; \
668          color: 255 255 255 255; \
669       } \
670       description { state: "2depth" 0.0; \
671          color: 220 218 211 255; \
672       } \
673    ) \
674    GENLIST_PART_SPACER("bg_dialogue_left", \
675       description { state: "default" 0.0; \
676          min: 16 0; \
677          max: 16 -1; \
678          fixed: 1 0; \
679          align: 0 0.5; \
680          rel2.relative: 0 1; \
681       } \
682    ) \
683    GENLIST_PART_SPACER("bg_dialogue_right", \
684       description { state: "default" 0.0; \
685          min: 16 0; \
686          max: 16 -1; \
687          fixed: 1 0; \
688          align: 1.0 0.5; \
689          rel1.relative: 1 0; \
690       } \
691       description { state: "editmode" 0.0; \
692          inherit: "default" 0.0; \
693          min: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_ICON_MEDIUM_SIZE) 0; \
694          max: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_ICON_MEDIUM_SIZE) 0; \
695       } \
696    ) \
697    GENLIST_PART_IMAGE("bg_dialogue", \
698       insert_after: "base"; \
699       clip_to: "bg_dialogue_clip"; \
700       mouse_events: 0; \
701       GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_right", \
702          image { \
703             normal: "00_list_group_bg.png"; \
704             border: 17 17 8 8; \
705             border_scale: 1; \
706          } \
707       ) \
708       description { state: "selected" 0.0; \
709          inherit: "default" 0.0; \
710          image { \
711             normal: "00_list_group_bg_press.png"; \
712             border: 17 17 8 8; \
713             border_scale: 1; \
714          } \
715       } \
716       description { state: "top" 0.0; \
717          inherit: "default" 0.0; \
718          image { \
719             normal: "00_list_group_bg_top.png"; \
720             border: 17 17 8 8; \
721             border_scale: 1; \
722          } \
723       } \
724       description { state: "top_selected" 0.0; \
725          inherit: "default" 0.0; \
726          image { \
727             normal: "00_list_group_bg_top_press.png"; \
728             border: 17 17 8 8; \
729             border_scale: 1; \
730          } \
731       } \
732       description { state: "center" 0.0; \
733          inherit: "default" 0.0; \
734          image { \
735             normal: "00_list_group_bg_center.png"; \
736             border: 17 17 8 8; \
737             border_scale: 1; \
738          } \
739       } \
740       description { state: "center_selected" 0.0; \
741          inherit: "default" 0.0; \
742          image { \
743             normal: "00_list_group_bg_center_press.png"; \
744             border: 17 17 8 8; \
745             border_scale: 1; \
746          } \
747       } \
748       description { state: "bottom" 0.0; \
749          inherit: "default" 0.0; \
750          image { \
751             normal: "00_list_group_bg_bottom.png"; \
752             border: 17 17 8 8; \
753             border_scale: 1; \
754          } \
755       } \
756       description { state: "bottom_selected" 0.0; \
757          inherit: "default" 0.0; \
758          image { \
759             normal: "00_list_group_bg_bottom_press.png"; \
760             border: 17 17 8 8; \
761             border_scale: 1; \
762          } \
763       } \
764       GENLIST_DESCRIPTION_FADE \
765    )
766
767 //****************************************************************************//
768 // ****************************** BASE  ********************************//
769 //****************************************************************************//
770 #define GENLIST_PART_BASE \
771          part { name: "base"; \
772             type: RECT; \
773             repeat_events: 1; \
774             scale: 1; \
775             description { state: "default" 0.0; \
776                align: 0.5 0.5; \
777                color: 0 0 0 0; \
778             } \
779             description { state: "disabled" 0.0; \
780                inherit: "default"; \
781             } \
782          } \
783          GENLIST_PART_PERSPECTIVE_POINT
784
785 #define GENLIST_PART_BASE_SIZE(HEIGHT) \
786          part { name: "base"; \
787             type: RECT; \
788             repeat_events: 1; \
789             scale: 1; \
790             description { state: "default" 0.0; \
791                align: 0.5 0.5; \
792                color: 0 0 0 0; \
793                min: 0 HEIGHT; \
794             } \
795          } \
796          GENLIST_PART_PERSPECTIVE_POINT
797
798 //****************************************************************************//
799 // ****************************** LINE ********************************//
800 //****************************************************************************//
801 #define GENLIST_PART_BOTTOM_LINE \
802          GENLIST_PART_RECT("bottom_line_clip", \
803             mouse_events: 0; \
804             description { state: "default" 0.0; \
805                visible: 1; \
806             } \
807             description { state: "decorate" 0.0; \
808                visible: 0; \
809             } \
810             description { state: "reorder" 0.0; \
811                visible: 0; \
812             } \
813          ) \
814          GENLIST_PART_RECT("bottom_line", \
815             mouse_events: 0; \
816             clip_to: "bottom_line_clip"; \
817             description { state: "default" 0.0; \
818                min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
819                max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
820                fixed: 0 1; \
821                align: 0.5 1; \
822                color: GENLIST_LIST_LINE1_COLOR; \
823                rel1.to: "bottom_line2"; \
824                rel2.to: "bottom_line2"; \
825                rel2.relative: 1 0; \
826                rel1.offset: -1 -1; \
827             } \
828             description { state: "selected" 0.0; \
829                inherit: "default" 0.0; \
830                color: GENLIST_LIST_PRESS_COLOR; \
831             } \
832             description { state: "disabled" 0.0; \
833                inherit: "default" 0.0; \
834                color: GENLIST_LIST_DIM_COLOR; \
835             } \
836             description { state: "decorate" 0.0; \
837                inherit: "default" 0.0; \
838                visible: 0; \
839             } \
840             GENLIST_DESCRIPTION_FADE \
841          ) \
842          GENLIST_PART_RECT("bottom_line2", \
843             mouse_events: 0; \
844             clip_to: "bottom_line_clip"; \
845             description { state: "default" 0.0; \
846                min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
847                max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
848                fixed: 0 1; \
849                align: 0.5 1; \
850                color: GENLIST_LIST_LINE2_COLOR; \
851                rel1.to_x: "elm.padding.left"; \
852                rel1.relative: 1 0; \
853                rel2.to_x: "elm.padding.right"; \
854                rel2.relative: 0 1; \
855                rel1.offset: -1 -1; \
856             } \
857             description { state: "selected" 0.0; \
858                inherit: "default" 0.0; \
859                color: GENLIST_LIST_PRESS_COLOR; \
860             } \
861             description { state: "disabled" 0.0; \
862                inherit: "default" 0.0; \
863                color: GENLIST_LIST_DIM_COLOR; \
864             } \
865             description { state: "decorate" 0.0; \
866                inherit: "default" 0.0; \
867                visible: 0; \
868             } \
869             GENLIST_DESCRIPTION_FADE \
870          )
871
872 #define GENLIST_PART_BOTTOM_LINE_OFF \
873          GENLIST_PART_RECT("bottom_line", \
874             mouse_events: 0; \
875             description { state: "default" 0.0; \
876                visible: 0; \
877             } \
878             description { state: "selected" 0.0; \
879                visible: 0; \
880             } \
881             description { state: "disabled" 0.0; \
882                visible: 0; \
883             } \
884             description { state: "decorate" 0.0; \
885                visible: 0; \
886             } \
887          ) \
888          GENLIST_PART_RECT("bottom_line2", \
889             mouse_events: 0; \
890             description { state: "default" 0.0; \
891                visible: 0; \
892             } \
893             description { state: "selected" 0.0; \
894                visible: 0; \
895             } \
896             description { state: "disabled" 0.0; \
897                visible: 0; \
898             } \
899             description { state: "decorate" 0.0; \
900                visible: 0; \
901             } \
902          )
903
904 #define GENLIST_PART_DIVIDER_PADDING \
905          GENLIST_PART_SPACER("elm.padding.divider.top", \
906             description { state: "default" 0.0; \
907                align: 0.5 0; \
908                min: 0 30; \
909                max: -1 30; \
910                fixed: 0 1; \
911                rel2.relative: 1 0; \
912             } \
913          ) \
914          GENLIST_PART_SPACER("elm.padding.divider.bottom", \
915             description { state: "default" 0.0; \
916                align: 0.5 1; \
917                min: 0 30; \
918                max: -1 30; \
919                fixed: 0 1; \
920                rel1.relative: 0 1; \
921             } \
922          ) \
923
924 #define GENLIST_PART_DIVIDER_L(LEFT) \
925          GENLIST_PART_DIVIDER_PADDING \
926          GENLIST_PART_RECT("elm.divider1", \
927             mouse_events: 0; \
928             GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
929                align: 0 0.5; \
930                min: 1 0; \
931                max: 1 -1; \
932                fixed: 1 0; \
933                rel2.offset: 0 0; \
934                color: GENLIST_LIST_DIVIDER1_COLOR; \
935             ) \
936             GENLIST_DESCRIPTION_FADE \
937          ) \
938          GENLIST_PART_RECT("elm.divider2", \
939             mouse_events: 0; \
940             GENLIST_DESCRIPTION_LTB("elm.divider1", "elm.padding.divider.top", "elm.padding.divider.bottom", \
941                align: 0 0.5; \
942                min: 1 0; \
943                max: 1 -1; \
944                fixed: 1 0; \
945                rel2.offset: 0 0; \
946                color: GENLIST_LIST_DIVIDER2_COLOR; \
947             ) \
948             GENLIST_DESCRIPTION_FADE \
949          )
950
951 #define GENLIST_PART_DIVIDER_R(RIGHT) \
952          GENLIST_PART_DIVIDER_PADDING \
953          GENLIST_PART_RECT("elm.divider1", \
954             mouse_events: 0; \
955             GENLIST_DESCRIPTION_RTB("elm.divider2", "elm.padding.divider.top", "elm.padding.divider.bottom", \
956                min: 1 0; \
957                max: 1 -1; \
958                fixed: 1 0; \
959                rel1.offset: -1 0;\
960                color: GENLIST_LIST_DIVIDER1_COLOR; \
961             ) \
962             GENLIST_DESCRIPTION_FADE \
963          ) \
964          GENLIST_PART_RECT("elm.divider2", \
965             mouse_events: 0; \
966             GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
967                min: 1 0; \
968                max: 1 -1; \
969                fixed: 1 0; \
970                rel1.offset: -1 0;\
971                color: GENLIST_LIST_DIVIDER2_COLOR; \
972             ) \
973             GENLIST_DESCRIPTION_FADE \
974          )
975
976 #define GENLIST_PART_CENTER_LINE_LT(LEFT, TOP) \
977          GENLIST_PART_SPACER("elm.padding.divider.left", \
978             GENLIST_DESCRIPTION_L(LEFT, \
979                min: 16 0; \
980                max: 16 -1; \
981                fixed: 1 0; \
982             ) \
983          ) \
984          GENLIST_PART_SPACER("elm.padding.divider.right", \
985             GENLIST_DESCRIPTION_ENVELOP("base", \
986                min: 16 0; \
987                max: 16 -1; \
988                fixed: 1 0; \
989                align: 1 0.5; \
990                rel1.relative: 1 0; \
991             ) \
992          ) \
993          GENLIST_PART_RECT("center_line", \
994             mouse_events: 0; \
995             GENLIST_DESCRIPTION_LRT("elm.padding.divider.left", "elm.padding.divider.right", TOP, \
996                min: 0 1; \
997                max: -1 1; \
998                fixed: 0 1; \
999                color: GENLIST_LIST_DIVIDER1_COLOR; \
1000             ) \
1001             GENLIST_DESCRIPTION_FADE \
1002          ) \
1003          GENLIST_PART_RECT("center_line2", \
1004             GENLIST_DESCRIPTION_LRT("elm.padding.divider.left", "elm.padding.divider.right", "center_line", \
1005                min: 0 1; \
1006                max: -1 1; \
1007                fixed: 0 1; \
1008                color: GENLIST_LIST_DIVIDER2_COLOR; \
1009             ) \
1010             GENLIST_DESCRIPTION_FADE \
1011          )
1012
1013 #define GENLIST_PART_COLORBAR \
1014          GENLIST_PART_SPACER("elm.padding.colorbar.top", \
1015              GENLIST_DESCRIPTION_ENVELOP("base", \
1016                align: 0.5 0; \
1017                fixed: 0 1; \
1018                min: 0 4; \
1019                max: -1 4; \
1020                rel2.relative: 1 0; \
1021              ) \
1022          ) \
1023          GENLIST_PART_SPACER("elm.padding.colorbar.bottom", \
1024              GENLIST_DESCRIPTION_ENVELOP("base", \
1025                align: 0.5 1; \
1026                fixed: 0 1; \
1027                min: 0 4; \
1028                max: -1 4; \
1029                rel1.relative: 0 1; \
1030              ) \
1031          ) \
1032          GENLIST_PART_ICON("elm.swallow.colorbar", \
1033             GENLIST_DESCRIPTION_TB("elm.padding.colorbar.top", "elm.padding.colorbar.bottom", \
1034                min: GENLIST_ICON_COLORBAR_SIZE 0; \
1035                max: GENLIST_ICON_COLORBAR_SIZE -1; \
1036                fixed: 1 0; \
1037                align: 0 0.5; \
1038                rel1.relative: 0 1; \
1039                rel2.relative: 0 0; \
1040             ) \
1041             GENLIST_DESCRIPTION_FADE \
1042          )
1043
1044 //****************************************************************************//
1045 //********************************* PADDING **********************************//
1046 //****************************************************************************//
1047 #define GENLIST_PART_EXPANDED_PAD \
1048          part { name: "elm.swallow.pad"; \
1049             type: SWALLOW; \
1050             scale: 1; \
1051             mouse_events: 0; \
1052             description { state: "default" 0.0; \
1053                visible: 0; \
1054                min: 0 0; \
1055                fixed: 1 0; \
1056                align: 0.0 0.5; \
1057                rel1.to: "base"; \
1058                rel2.to: "base"; \
1059                rel2.relative: 0.0 1.0; \
1060             } \
1061          } \
1062
1063 #define GENLIST_PART_PADDING( NAME, SIZE, REL1, REL2 ) \
1064       GENLIST_PART_SPACER(NAME, \
1065          description { state: "default" 0.0; \
1066             min: SIZE 0; \
1067             max: SIZE -1; \
1068             fixed: 1 0; \
1069             align: 0.5 0.5; \
1070             rel1 { \
1071                relative: REL1; \
1072                to: "base"; \
1073             } \
1074             rel2 { \
1075                relative: REL2; \
1076                to: "base"; \
1077             } \
1078          } \
1079       )
1080
1081 #define GENLIST_DESCRIPTION_DECORATE_PADDING \
1082    description { state: "decorate" 0.0; \
1083       inherit: "default" 0.0; \
1084       min: 0 0; \
1085       max: 0 0; \
1086    }
1087
1088 #define GENLIST_DESCRIPTION_REORDER_PADDING \
1089    description { state: "reorder" 0.0; \
1090       inherit: "default" 0.0; \
1091       min: 32 0; \
1092       max: 32 -1; \
1093    }
1094
1095 #define GENLIST_PART_PADDING_LEFT \
1096          GENLIST_PART_EXPANDED_PAD \
1097          GENLIST_PART_SPACER("elm.padding.left", \
1098             GENLIST_DESCRIPTION_L("elm.swallow.pad",  \
1099                min: GENLIST_PADDING_SIZE_LEFT 0; \
1100                max: GENLIST_PADDING_SIZE_LEFT -1; \
1101                fixed: 1 0; \
1102             ) \
1103             GENLIST_DESCRIPTION_DECORATE_PADDING \
1104             GENLIST_DESCRIPTION_REORDER_PADDING \
1105          )
1106
1107 #define GENLIST_PART_PADDING_LEFT_SIZE( SIZE ) \
1108          GENLIST_PART_EXPANDED_PAD \
1109          GENLIST_PART_SPACER("elm.padding.left", \
1110             GENLIST_DESCRIPTION_L("elm.swallow.pad",  \
1111                min: SIZE 0; \
1112                max: SIZE -1; \
1113                fixed: 1 0; \
1114             ) \
1115             GENLIST_DESCRIPTION_DECORATE_PADDING \
1116             GENLIST_DESCRIPTION_REORDER_PADDING \
1117          )
1118
1119 #define GENLIST_PART_EDITBTN \
1120    GENLIST_PART_ICON("elm.icon.edit", \
1121       GENLIST_DESCRIPTION_R("elm.padding.edit.right", \
1122          fixed: 1 1; \
1123          visible: 0; \
1124          min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
1125          max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
1126       ) \
1127       description { state: "editmode" 0.0; \
1128          inherit: "default" 0.0; \
1129          visible: 1; \
1130       } \
1131    ) \
1132    GENLIST_PART_SPACER("elm.padding.edit.right", \
1133       description { state: "default" 0.0; \
1134          fixed: 1 0; \
1135          align: 1.0 0.5; \
1136          rel1.relative: 1 0; \
1137          min: GENLIST_PADDING_SIZE_RIGHT 0; \
1138          max: GENLIST_PADDING_SIZE_RIGHT -1; \
1139       } \
1140    )
1141
1142 #define GENLIST_PART_PADDING_RIGHT \
1143          GENLIST_PART_SPACER("elm.padding.right", \
1144             description { state: "default" 0.0; \
1145                min: GENLIST_PADDING_SIZE_RIGHT 0; \
1146                max: GENLIST_PADDING_SIZE_RIGHT -1; \
1147                fixed: 1 0; \
1148                align: 1.0 0.5; \
1149                rel1.to: "base"; \
1150                rel2.to: "base"; \
1151                rel1.relative: 1 0; \
1152             } \
1153             GENLIST_DESCRIPTION_DECORATE_PADDING \
1154             GENLIST_DESCRIPTION_REORDER_PADDING \
1155          )
1156
1157 #define GENLIST_PART_PADDING_RIGHT_SIZE( SIZE ) \
1158          GENLIST_PART_SPACER("elm.padding.right", \
1159             description { state: "default" 0.0; \
1160                min: SIZE 0; \
1161                max: SIZE -1; \
1162                fixed: 1 0; \
1163                align: 1.0 0.5; \
1164                rel1.to: "base"; \
1165                rel2.to: "base"; \
1166                rel1.relative: 1 0; \
1167             } \
1168             GENLIST_DESCRIPTION_DECORATE_PADDING \
1169             GENLIST_DESCRIPTION_REORDER_PADDING \
1170          )
1171
1172 #define GENLIST_PART_PADDING_RIGHT_EDIT \
1173          GENLIST_PART_SPACER("elm.padding.right.edit", \
1174             description { state: "default" 0.0; \
1175                min:0 0; \
1176                max: 0 -1; \
1177                fixed: 1 0; \
1178                align: 1.0 0.5; \
1179                rel1.relative: 1 0; \
1180             } \
1181             description { state: "editmode" 0.0; \
1182                inherit: "default" 0.0; \
1183                min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_MEDIUM_SIZE) 0; \
1184                max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_MEDIUM_SIZE) -1; \
1185             } \
1186          ) \
1187          GENLIST_PART_SPACER("elm.padding.right", \
1188             GENLIST_DESCRIPTION_R("elm.padding.right.edit", \
1189                min: DIALOGUE_PADDING_SIZE_RIGHT 0; \
1190                max: DIALOGUE_PADDING_SIZE_RIGHT -1; \
1191                fixed: 1 0; \
1192             ) \
1193             GENLIST_DESCRIPTION_DECORATE_PADDING \
1194             GENLIST_DESCRIPTION_REORDER_PADDING \
1195          ) \
1196          GENLIST_PART_EDITBTN
1197
1198 #define GENLIST_PART_PADDING_TOP \
1199          GENLIST_PART_SPACER("elm.padding.top", \
1200             description { \
1201                state: "default" 0.0; \
1202                min: 0 GENLIST_PADDING_SIZE_TOP; \
1203                max: -1 GENLIST_PADDING_SIZE_TOP; \
1204                fixed: 0 1; \
1205                rel1.to: "base"; \
1206                rel2.to: "base"; \
1207                rel2.relative: 1.0 0.0; \
1208                align: 0.5 0.0; \
1209             } \
1210          )
1211
1212 #define GENLIST_PART_PADDING_TOP_2LINE \
1213          GENLIST_PART_SPACER("elm.padding.top", \
1214             description { \
1215                state: "default" 0.0; \
1216                min: 0 GENLIST_PADDING_SIZE_TOP_2LINE; \
1217                max: -1 GENLIST_PADDING_SIZE_TOP_2LINE; \
1218                fixed: 0 1; \
1219                rel1.to: "base"; \
1220                rel2.to: "base"; \
1221                rel2.relative: 1.0 0.0; \
1222                align: 0.5 0.0; \
1223             } \
1224          )
1225
1226 #define GENLIST_PART_PADDING_TOP_SIZE( SIZE ) \
1227          GENLIST_PART_SPACER("elm.padding.top", \
1228             description { \
1229                state: "default" 0.0; \
1230                min: 0 SIZE; \
1231                max: -1 SIZE; \
1232                fixed: 0 1; \
1233                rel1.to: "base"; \
1234                rel2.to: "base"; \
1235                rel2.relative: 1.0 0.0; \
1236                align: 0.5 0.0; \
1237             } \
1238          )
1239
1240 #define GENLIST_PART_PADDING_BOTTOM \
1241          GENLIST_PART_SPACER("elm.padding.bottom", \
1242             description { state: "default" 0.0; \
1243                min: 0 GENLIST_PADDING_SIZE_BOTTOM; \
1244                max: -1 GENLIST_PADDING_SIZE_BOTTOM; \
1245                fixed: 0 1; \
1246                rel1.to: "base"; \
1247                rel2.to: "base"; \
1248                rel1.relative: 0.0 1.0; \
1249                align: 0.5 1.0; \
1250             } \
1251          )
1252
1253 #define GENLIST_PART_PADDING_BOTTOM_2LINE \
1254          GENLIST_PART_SPACER("elm.padding.bottom", \
1255             description { state: "default" 0.0; \
1256                min: 0 GENLIST_PADDING_SIZE_BOTTOM_2LINE; \
1257                max: -1 GENLIST_PADDING_SIZE_BOTTOM_2LINE; \
1258                fixed: 0 1; \
1259                rel1.to: "base"; \
1260                rel2.to: "base"; \
1261                rel1.relative: 0.0 1.0; \
1262                align: 0.5 1.0; \
1263             } \
1264          )
1265
1266 #define GENLIST_PART_PADDING_BOTTOM_SIZE( SIZE ) \
1267          GENLIST_PART_SPACER("elm.padding.bottom", \
1268             description { state: "default" 0.0; \
1269                min: 0 SIZE; \
1270                max: -1 SIZE; \
1271                fixed: 0 1; \
1272                rel1.to: "base"; \
1273                rel2.to: "base"; \
1274                rel1.relative: 0.0 1.0; \
1275                align: 0.5 1.0; \
1276             } \
1277          )
1278
1279 #define GENLIST_PART_PADDING_R( NAME, RIGHT ) \
1280          GENLIST_PART_SPACER(NAME, \
1281             description { state: "default" 0.0; \
1282                fixed: 1 0; \
1283                min: GENLIST_PADDING_SIZE_DEFAULT 0; \
1284                max: GENLIST_PADDING_SIZE_DEFAULT -1; \
1285                align: 1 0.5; \
1286                rel1 { \
1287                   relative: 0 0; \
1288                   to_x: RIGHT; \
1289                } \
1290                rel2 { \
1291                   relative: 0 1; \
1292                   to_x: RIGHT; \
1293                } \
1294             } \
1295          )
1296
1297 #define GENLIST_PART_PADDING_R_SIZE( NAME, RIGHT, SIZE ) \
1298          GENLIST_PART_SPACER(NAME, \
1299             description { state: "default" 0.0; \
1300                fixed: 1 0; \
1301                min: SIZE 0; \
1302                max: SIZE -1; \
1303                align: 1 0.5; \
1304                rel1 { \
1305                   relative: 0 0; \
1306                   to_x: RIGHT; \
1307                } \
1308                rel2 { \
1309                   relative: 0 1; \
1310                   to_x: RIGHT; \
1311                } \
1312             } \
1313          )
1314
1315 #define GENLIST_PART_PADDING_L( NAME, LEFT ) \
1316          GENLIST_PART_SPACER(NAME, \
1317             description { state: "default" 0.0; \
1318                fixed: 1 0; \
1319                min: GENLIST_PADDING_SIZE_DEFAULT 0; \
1320                max: GENLIST_PADDING_SIZE_DEFAULT -1; \
1321                align: 0 0.5; \
1322                rel1 { \
1323                   relative: 1 0; \
1324                   to_x: LEFT; \
1325                } \
1326                rel2 { \
1327                   relative: 1 1; \
1328                   to_x: LEFT; \
1329                } \
1330             } \
1331          )
1332
1333 #define GENLIST_PART_PADDING_L_SIZE( NAME, LEFT, SIZE ) \
1334          GENLIST_PART_SPACER(NAME, \
1335             description { state: "default" 0.0; \
1336                fixed: 1 0; \
1337                min: SIZE 0; \
1338                max: SIZE -1; \
1339                align: 0 0.5; \
1340                rel1 { \
1341                   relative: 1 0; \
1342                   to_x: LEFT; \
1343                } \
1344                rel2 { \
1345                   relative: 1 1; \
1346                   to_x: LEFT; \
1347                } \
1348             } \
1349          )
1350
1351
1352 #define GENLIST_PART_PADDING_T_SIZE( NAME, TOP, SIZE ) \
1353          GENLIST_PART_SPACER(NAME, \
1354             description { state: "default" 0.0; \
1355                min: 0 SIZE; \
1356                max: -1 SIZE; \
1357                fixed: 0 1; \
1358                align: 0.5 0; \
1359                rel1 { \
1360                   relative: 0 1; \
1361                   to: TOP; \
1362                } \
1363                rel2 { \
1364                   relative: 1 1; \
1365                   to: TOP; \
1366                } \
1367             } \
1368          )
1369
1370 #define GENLIST_PART_PADDING_B_SIZE( NAME, BOTTOM, SIZE ) \
1371          GENLIST_PART_SPACER(NAME, \
1372             description { state: "default" 0.0; \
1373                min: 0 SIZE; \
1374                max: -1 SIZE; \
1375                fixed: 0 1; \
1376                align: 0.5 1; \
1377                rel1 { \
1378                   relative: 0.5 0; \
1379                   to: BOTTOM; \
1380                } \
1381                rel2 { \
1382                   relative: 0.5 0; \
1383                   to: BOTTOM; \
1384                } \
1385             } \
1386          )
1387
1388 #define GENLIST_PART_PERSPECTIVE_POINT \
1389          GENLIST_PART_RECT("point", \
1390             description { \
1391                state: "default" 0.0; \
1392                color: 0 0 0 0; \
1393                rel1 { relative: 0.0 0.0; } \
1394                rel2 { relative: 1.0 0.0; } \
1395             } \
1396          )
1397
1398 #define GENLIST_DESCRIPTION_ROTATE( param_x, param_y, param_z ) \
1399    description { state: "map_contracted" 0.0; \
1400       inherit: "default" 0.0; \
1401       map { \
1402          perspective: "point"; \
1403          on: 1; \
1404          smooth: 1; \
1405          perspective_on: 1; \
1406          backface_cull: 1; \
1407          rotation { \
1408             center: "point"; \
1409             x: param_x; \
1410             y: param_y; \
1411             z: param_z; \
1412          } \
1413       } \
1414    } \
1415    description { state: "map_expanded" 0.0; \
1416       inherit: "default" 0.0; \
1417       map { \
1418          perspective: "point"; \
1419          on: 1; \
1420          smooth: 1; \
1421          perspective_on: 1; \
1422          backface_cull: 1; \
1423          rotation { \
1424             center: "point"; \
1425             x: 0; \
1426             y: 0; \
1427             z: 0; \
1428          } \
1429       } \
1430    } \
1431    description { \
1432       state: "hide" 0.0; \
1433       inherit: "default" 0.0; \
1434       visible: 0; \
1435    }
1436
1437 // Genlist expandable rotation
1438 #define GENLIST_PROGRAM_ROTATE( TARGET ) \
1439    program { name: "map_expand_start"; \
1440       signal: "flip_item"; \
1441       action: STATE_SET "map_contracted" 0.0; \
1442       target: "bg"; \
1443       TARGET \
1444       after: "map_expanding"; \
1445    } \
1446    program { name: "map_expanding"; \
1447       action: STATE_SET "hide" 0.0; \
1448       transition: LINEAR 0.2; \
1449       target: "bg"; \
1450       TARGET \
1451       after: "map_expand_end"; \
1452    } \
1453    program { name: "map_expand_end"; \
1454       action: STATE_SET "default" 0.0; \
1455       target: "bg"; \
1456       TARGET \
1457    } \
1458    program { name: "map_contract_start"; \
1459       signal: "elm,state,contract_flip"; \
1460       action: STATE_SET "map_expanded" 0.0; \
1461       target: "bg"; \
1462       TARGET \
1463       after: "map_contracting"; \
1464    } \
1465    program { name: "map_contracting"; \
1466       action: STATE_SET "map_contracted" 0.0; \
1467       transition: LINEAR 0.3; \
1468       target: "bg"; \
1469       TARGET \
1470       after: "map_contract_end"; \
1471    } \
1472    program { name: "map_contract_end"; \
1473       action: STATE_SET "hide" 0.0; \
1474       target: "bg"; \
1475       TARGET \
1476    }
1477
1478 // FIXME: swallow part cannot be fade out ???
1479 #define GENLIST_DESCRIPTION_FADE_ICON \
1480    description { state: "fadeout" 0.0; \
1481       inherit: "default" 0.0; \
1482       color: 0 0 0 10; \
1483       visible: 0; \
1484    } \
1485    description { state: "fadein" 0.0; \
1486       inherit: "default" 0.0; \
1487    } \
1488
1489 #define GENLIST_DESCRIPTION_FADE \
1490    description { state: "fadeout" 0.0; \
1491       inherit: "default" 0.0; \
1492       color: 255 255 255 10; \
1493    } \
1494    description { state: "fadein" 0.0; \
1495       inherit: "default" 0.0; \
1496    } \
1497
1498 #define GENLIST_PROGRAM_EXPAND_FADE( TARGET ) \
1499    program { name: "expand_start"; \
1500       signal: "flip_item"; \
1501       source: "elm"; \
1502       action: STATE_SET "fadeout" 0.0; \
1503       TARGET \
1504       after: "expand_end"; \
1505    } \
1506    program { name: "expand_end"; \
1507       transition: DECELERATE 0.3; \
1508       action: STATE_SET "default" 0.0; \
1509       TARGET \
1510    } \
1511    program { name: "contract_start"; \
1512       signal: "elm,state,contract_flip"; \
1513       source: "elm"; \
1514       action: STATE_SET "fadein" 0.0; \
1515       TARGET \
1516       after: "contract_end"; \
1517    } \
1518    program { name: "contract_end"; \
1519       transition: ACCELERATE 0.3; \
1520       action: STATE_SET "fadeout" 0.0; \
1521       TARGET \
1522    }
1523
1524 // FIXME: This do need now. I should find why this is used in genlist
1525 #if 0
1526          program { \
1527             name: "show"; \
1528             signal: "elm,state,show"; \
1529             action: STATE_SET "default" 0.0; \
1530             TARGET \
1531          } \
1532          program { \
1533             name: "hide"; \
1534             signal: "elm,state,hide"; \
1535             action: STATE_SET "hide" 0.0; \
1536             TARGET \
1537          }
1538 #endif
1539
1540 #define GENLIST_PROGRAM_EXPAND_ROOT( TARGET ) \
1541          program { \
1542             name: "go_expanded"; \
1543             signal: "elm,state,expanded"; \
1544             source: "elm"; \
1545             action: STATE_SET "expand_opened" 0.0; \
1546             TARGET \
1547          } \
1548          program { \
1549             name: "go_contracted"; \
1550             signal: "elm,state,contracted"; \
1551             source: "elm"; \
1552             action: STATE_SET "default" 0.0; \
1553             TARGET \
1554          } \
1555
1556 #define GENLIST_PROGRAM_EXPANDABLE( SRC ) \
1557         program { \
1558             name: "expand"; \
1559             signal: "mouse,up,1"; \
1560             SRC \
1561             action: SIGNAL_EMIT "elm,action,expand,toggle" "elm"; \
1562          } \
1563
1564 // 2.2.7 Genlist_Edit mode (Rename)
1565 // FIXME: padding is not needed when swallow content is NULL.
1566 // But how can edje know existence of swallow content?
1567 #define GENLIST_PART_FLIP \
1568          GENLIST_PART_RECT("elm.flip.bg", \
1569             mouse_events: 0; \
1570             description { state: "default" 0.0;\
1571                visible: 0; \
1572             } \
1573             description { state: "flip_enabled" 0.0; \
1574                inherit: "default" 0.0; \
1575                visible: 1; \
1576                color: GENLIST_LIST_BG_COLOR;\
1577             }\
1578          ) \
1579          GENLIST_PART_SPACER("elm.flip.padding.left",  \
1580             description { state: "default" 0.0; \
1581                min: 26 0; \
1582                max: 26 -1; \
1583                fixed: 1 0; \
1584                align: 0 0.5; \
1585                rel2.relative: 0 1; \
1586             } \
1587          ) \
1588          GENLIST_PART_SPACER("elm.flip.padding.right", \
1589             description { state: "default" 0.0; \
1590                min: 26 0; \
1591                max: 26 -1; \
1592                fixed: 1 0; \
1593                align: 1 0.5; \
1594                rel1.relative: 1 0; \
1595             } \
1596          ) \
1597          GENLIST_PART_ICON("elm.flip.content", \
1598             GENLIST_DESCRIPTION("elm.flip.padding.left", "elm.flip.padding.eraser.left",  \
1599                "elm.padding.top", "elm.padding.bottom", \
1600                visible: 0; \
1601                aspect: 1 1; \
1602             ) \
1603             description { state: "flip_enabled" 0.0; \
1604                inherit: "default" 0.0; \
1605                visible: 1; \
1606             } \
1607          ) \
1608          GENLIST_PART_PADDING_R("elm.flip.padding.eraser.left", "elm.flip.eraser") \
1609          GENLIST_PART_ICON("elm.flip.eraser", \
1610             GENLIST_DESCRIPTION_RTB("elm.flip.padding.icon.left",  \
1611                "elm.padding.top", "elm.padding.bottom", \
1612                fixed: 1 0; \
1613                visible: 0; \
1614                min: GENLIST_ICON_ENTRY_SIZE GENLIST_ICON_ENTRY_SIZE; \
1615                max: GENLIST_ICON_ENTRY_SIZE GENLIST_ICON_ENTRY_SIZE; \
1616             ) \
1617             description { state: "show" 0.0; \
1618                inherit: "default" 0.0; \
1619                visible: 1; \
1620             } \
1621          ) \
1622          GENLIST_PART_PADDING_R("elm.flip.padding.icon.left", "elm.flip.icon") \
1623          GENLIST_PART_ICON( "elm.flip.icon", \
1624             GENLIST_DESCRIPTION_RTB("elm.flip.padding.right", \
1625                "elm.padding.top", "elm.padding.bottom", \
1626                visible: 0; \
1627                aspect: 1 1; \
1628                align: 1 0.5; \
1629                max: 154 74; \
1630             ) \
1631             description { state: "flip_enabled" 0.0; \
1632                inherit: "default" 0.0; \
1633                visible: 1; \
1634             } \
1635          )
1636
1637 //****************************************************************************//
1638 // *******************************  Programs ********************************//
1639 //**************************************************************************//
1640 // signal: elm,state,%s,active
1641 //   a "check" item named %s went active
1642 // signal: elm,state,%s,passive
1643 //   a "check" item named %s went passive
1644 // default is passive
1645 #define GENLIST_PROGRAM_DEFAULT( TARGET ) \
1646          program { name: "default"; \
1647             signal: "elm,state,default"; \
1648             source: "elm"; \
1649             action: STATE_SET "default" 0.0; \
1650             TARGET \
1651          } \
1652
1653 #define GENLIST_PROGRAM_DISABLED( TARGET ) \
1654          program { name: "enabled"; \
1655             signal: "elm,state,enabled"; \
1656             source: "elm"; \
1657             action: STATE_SET "default" 0.0; \
1658             target: "base"; \
1659             TARGET \
1660          } \
1661          program { name: "disabled"; \
1662             signal: "elm,state,disabled"; \
1663             source: "elm"; \
1664             action: STATE_SET "disabled" 0.0; \
1665             target: "base"; \
1666             TARGET \
1667          }
1668
1669 // If check is swallowed, genlist selected/unselected should be synched with check.
1670 #define GENLIST_PROGRAM_CHECK(CHECK) \
1671          program { name: "selected"CHECK; \
1672             signal: "mouse,down,1"; \
1673             source: CHECK; \
1674             script { \
1675                new st[31]; \
1676                new Float:vl; \
1677                get_state(PART:"base", st, 30, vl); \
1678                if (strcmp(st, "disabled")) \
1679                   run_program(PROGRAM:"selected"); \
1680             } \
1681          } \
1682          program { name: "unselected"CHECK; \
1683             signal: "mouse,up,1"; \
1684             source: CHECK; \
1685             script { \
1686                new st[31]; \
1687                new Float:vl; \
1688                get_state(PART:"base", st, 30, vl); \
1689                if (strcmp(st, "disabled")) \
1690                   run_program(PROGRAM:"unselected"); \
1691             } \
1692          }
1693
1694 #define GENLIST_PROGRAM_SOUND( SRC ) \
1695          program { name: "play_sound"SRC; \
1696             signal: "mouse,clicked,1"; \
1697             source: SRC; \
1698             script { \
1699                new st[31]; \
1700                new Float:vl; \
1701                get_state(PART:"base", st, 30, vl); \
1702                if (strcmp(st, "disabled")) \
1703                   run_program(PROGRAM:"play_button_press"SRC); \
1704             } \
1705          } \
1706          program { name: "play_button_press"SRC; \
1707             action: PLAY_SAMPLE "button-pressed" 1.0; \
1708          }
1709
1710 #define GENLIST_PROGRAM_SELECT( TARGET ) \
1711          program { name: "selected"; \
1712             signal: "elm,state,selected"; \
1713             source: "elm"; \
1714             action: STATE_SET "selected" 0.0; \
1715             TARGET \
1716          } \
1717          program { name: "unselected"; \
1718             signal: "elm,state,unselected"; \
1719             source: "elm"; \
1720             action: STATE_SET "default" 0.0; \
1721             TARGET \
1722          }
1723
1724 #define GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
1725          program { name: "selected"; \
1726             signal: "elm,state,selected"; \
1727             source: "elm"; \
1728             script { \
1729                new st[31]; \
1730                new Float:vl; \
1731                get_state(PART:"bg_dialogue", st, 30, vl); \
1732                if (!strcmp(st, "top")) \
1733                   set_state(PART:"bg_dialogue", "top_selected", 0.0); \
1734                else if (!strcmp(st, "center")) \
1735                   set_state(PART:"bg_dialogue", "center_selected", 0.0); \
1736                else if (!strcmp(st, "bottom")) \
1737                   set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
1738                else if (!strcmp(st, "default")) \
1739                   set_state(PART:"bg_dialogue", "selected", 0.0); \
1740                run_program(PROGRAM:"target_selected"); \
1741             } \
1742          } \
1743          program { name: "unselected"; \
1744             signal: "elm,state,unselected"; \
1745             source: "elm"; \
1746             script { \
1747                new st[31]; \
1748                new Float:vl; \
1749                get_state(PART:"bg_dialogue", st, 30, vl); \
1750                if (!strcmp(st, "top_selected")) \
1751                   set_state(PART:"bg_dialogue", "top", 0.0); \
1752                else if (!strcmp(st, "center_selected"))  \
1753                   set_state(PART:"bg_dialogue", "center", 0.0); \
1754                else if (!strcmp(st, "bottom_selected"))  \
1755                   set_state(PART:"bg_dialogue", "bottom", 0.0); \
1756                else if (!strcmp(st, "selected")) \
1757                   set_state(PART:"bg_dialogue", "default", 0.0); \
1758                run_program(PROGRAM:"target_unselected"); \
1759             } \
1760          } \
1761          program { name: "target_selected"; \
1762             action: STATE_SET "selected" 0.0; \
1763             TARGET \
1764          }\
1765          program { name: "target_unselected"; \
1766             action: STATE_SET "default" 0.0; \
1767             TARGET \
1768          }\
1769          program { name: "bg_default"; \
1770             signal: "elm,state,default"; \
1771             source: "*"; \
1772             action: STATE_SET "default" 0.0; \
1773             target: "bg_dialogue"; \
1774          } \
1775          program { name: "bg_top"; \
1776             signal: "elm,state,top"; \
1777             source: "*"; \
1778             action: STATE_SET "top" 0.0; \
1779             target: "bg_dialogue"; \
1780          } \
1781          program { name: "bg_center"; \
1782             signal: "elm,state,center"; \
1783             source: "*"; \
1784             action: STATE_SET "center" 0.0; \
1785             target: "bg_dialogue"; \
1786          } \
1787          program { name: "bg_bottom"; \
1788             signal: "elm,state,bottom"; \
1789             source: "*"; \
1790             action: STATE_SET "bottom" 0.0; \
1791             target: "bg_dialogue"; \
1792          }
1793
1794 #define GENLIST_PROGRAM_SELECT_ARROW \
1795          program { name: "selected_arrow"; \
1796             signal: "elm,state,selected"; \
1797             source: "elm"; \
1798             script { \
1799                new st[31]; \
1800                new Float:vl; \
1801                get_state(PART:"arrow", st, 30, vl); \
1802                if (!strcmp(st, "default")) { \
1803                   set_state(PART:"arrow", "default_press", 0.0); \
1804                   set_state(PART:"arrow_clip", "default_press", 0.0); \
1805                } \
1806                else if (!strcmp(st, "expand_opened")) { \
1807                   set_state(PART:"arrow", "expand_opened_press", 0.0); \
1808                   set_state(PART:"arrow_clip", "expand_opened_press", 0.0); \
1809                } \
1810             } \
1811          } \
1812          program { name: "unselected_arrow"; \
1813             signal: "elm,state,unselected"; \
1814             source: "elm"; \
1815             script { \
1816                new st[31]; \
1817                new Float:vl; \
1818                get_state(PART:"arrow", st, 30, vl); \
1819                if (!strcmp(st, "default_press")) { \
1820                   set_state(PART:"arrow", "default", 0.0); \
1821                   set_state(PART:"arrow_clip", "default", 0.0); \
1822                } \
1823                else if (!strcmp(st, "expand_opened_press")) { \
1824                   set_state(PART:"arrow", "expand_opened", 0.0); \
1825                   set_state(PART:"arrow_clip", "expand_opened", 0.0); \
1826                } \
1827             } \
1828          }
1829
1830 #define GENLIST_PROGRAM_DECORATE( TARGET ) \
1831          program { name: "decorate_enabled_effect"; \
1832             signal: "elm,state,decorate,enabled,effect";\
1833             source: "elm";\
1834             action:  STATE_SET "decorate" 0.0;\
1835             TARGET \
1836          }\
1837          program { name: "decorate_disabled_effect";\
1838             signal: "elm,state,decorate,disabled,effect";\
1839             source: "elm";\
1840             action: STATE_SET "default" 0.0; \
1841             TARGET \
1842          }\
1843          program { name: "decorate_enabled";\
1844             signal: "elm,state,decorate,enabled";\
1845             source: "elm";\
1846             action:  STATE_SET "decorate" 0.0;\
1847             TARGET \
1848          }\
1849          program { name: "decorate_disabled";\
1850             signal: "elm,state,decorate,disabled";\
1851             source: "elm";\
1852             action:  STATE_SET "default" 0.0;\
1853             TARGET \
1854          }
1855
1856 #define GENLIST_PROGRAM_REORDER( TARGET ) \
1857          program { name: "reorder_enabled"; \
1858             signal: "elm,state,reorder,mode_set"; \
1859             source: "elm"; \
1860             action: STATE_SET "reorder" 0.0; \
1861             TARGET \
1862          } \
1863          program { name: "reorder_disabled"; \
1864             signal: "elm,state,reorder,mode_unset"; \
1865             source: "elm"; \
1866             action: STATE_SET "default" 0.0; \
1867             TARGET \
1868          }
1869
1870 #define GENLIST_PROGRAM_FLIP \
1871          program { name: "flip_enabled"; \
1872             signal:  "elm,state,flip,enabled"; \
1873             source:  "elm"; \
1874             transition: DECELERATE 0.5; \
1875             action:  STATE_SET "flip_enabled" 0.0; \
1876             target: "elm.flip.content"; \
1877             target: "elm.flip.icon"; \
1878          } \
1879          program { name: "flip_disabled"; \
1880             signal:  "elm,state,flip,disabled"; \
1881             source:  "elm"; \
1882             transition: DECELERATE 0.5; \
1883             action:  STATE_SET "default" 0.0; \
1884             target: "elm.flip.content"; \
1885             target: "elm.flip.icon"; \
1886          } \
1887          program { name: "flip_enabled_bg"; \
1888             signal:  "elm,state,flip,enabled"; \
1889             source:  "elm"; \
1890             action:  STATE_SET "flip_enabled" 0.0; \
1891             target: "elm.flip.bg"; \
1892          } \
1893          program { name: "flip_disabled_bg"; \
1894             signal:  "elm,state,flip,disabled"; \
1895             source:  "elm"; \
1896             action:  STATE_SET "default" 0.0; \
1897             target: "elm.flip.bg"; \
1898          } \
1899          program { \
1900             signal: "elm,state,eraser,show"; \
1901             action: STATE_SET "show" 0.0; \
1902             target: "elm.flip.eraser"; \
1903          } \
1904          program { \
1905             signal: "elm,state,eraser,hide"; \
1906             action: STATE_SET "default" 0.0; \
1907             target: "elm.flip.eraser"; \
1908          }
1909
1910 #define GENLIST_PROGRAM_FLIP_TARGET( TARGET, BG ) \
1911          program { name: "flip_enabled"; \
1912             signal:  "elm,state,flip,enabled"; \
1913             source:  "elm"; \
1914             action:  STATE_SET "flip_enabled" 0.0; \
1915             transition: DECELERATE 0.5; \
1916             TARGET; \
1917          } \
1918          program { name: "flip_disabled"; \
1919             signal:  "elm,state,flip,disabled"; \
1920             source:  "elm"; \
1921             action:  STATE_SET "default" 0.0; \
1922             transition: DECELERATE 0.5; \
1923             TARGET \
1924          } \
1925          program { name: "flip_enabled_noeffect"; \
1926             signal:  "elm,state,flip,enabled"; \
1927             source:  "elm"; \
1928             action:  STATE_SET "flip_enabled" 0.0; \
1929             BG; \
1930          } \
1931          program { name: "flip_disabled_noeffect"; \
1932             signal:  "elm,state,flip,disabled"; \
1933             source:  "elm"; \
1934             action:  STATE_SET "default" 0.0; \
1935             BG; \
1936          }
1937
1938 #define GENLIST_PROGRAM_EDITMODE \
1939    program { name: "edit_enabled"; \
1940       signal:  "elm,state,edit,enabled"; \
1941       source:  "*"; \
1942       action:  STATE_SET "editmode" 0.0; \
1943       target: "elm.padding.right.edit"; \
1944       target: "elm.icon.edit"; \
1945       target: "bg_dialogue_right"; \
1946    } \
1947    program { name: "edit_disabled"; \
1948       signal:  "elm,state,edit,disabled"; \
1949       source:  "*"; \
1950       action:  STATE_SET "default" 0.0; \
1951       target: "elm.padding.right.edit"; \
1952       target: "elm.icon.edit"; \
1953       target: "bg_dialogue_right"; \
1954    }
1955
1956 #define GENLIST_PROGRAMS_NORMAL( TARGET ) \
1957    programs { \
1958       GENLIST_PROGRAM_DEFAULT( TARGET \
1959          target: "bg_clip"; \
1960          target: "bottom_line_clip"; \
1961          target: "bg"; \
1962          target: "bottom_line"; \
1963          target: "bottom_line2"; \
1964          target: "bg_reorder"; \
1965          target: "elm.padding.left"; \
1966          target: "elm.padding.right"; \
1967       ) \
1968       GENLIST_PROGRAM_DISABLED( TARGET \
1969          target: "bg"; \
1970          target: "bottom_line"; \
1971          target: "bottom_line2"; \
1972          target: "bg_reorder"; \
1973       ) \
1974       GENLIST_PROGRAM_SELECT( TARGET \
1975          target: "bg"; \
1976          target: "bottom_line"; \
1977          target: "bottom_line2"; \
1978          target: "bg_reorder"; \
1979       ) \
1980       GENLIST_PROGRAM_SOUND("base") \
1981       GENLIST_PROGRAM_EXPAND_FADE( TARGET \
1982          target: "bg"; \
1983          target: "bottom_line"; \
1984          target: "bottom_line2"; \
1985          target: "bg_reorder"; \
1986       ) \
1987       GENLIST_PROGRAM_REORDER( \
1988          target: "bg_clip"; \
1989          target: "bottom_line_clip"; \
1990          target: "elm.padding.left"; \
1991          target: "elm.padding.right"; \
1992          target: "bg_reorder_clip"; \
1993       ) \
1994       GENLIST_PROGRAM_DECORATE( \
1995          target: "bg_clip"; \
1996          target: "bottom_line_clip"; \
1997          target: "elm.padding.left"; \
1998          target: "elm.padding.right"; \
1999       ) \
2000       GENLIST_PROGRAM_FLIP \
2001    }
2002
2003 // FIXME: inheritance !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
2004 // if GENLIST_PROGRAM_EXPAND is here, expanda effect is something wrong.
2005 // because after can be duplicated when program inheriting.
2006 #define GENLIST_PROGRAMS_DIALOGUE( TARGET ) \
2007    programs { \
2008       GENLIST_PROGRAM_DEFAULT( TARGET \
2009          target: "bg_dialogue_clip"; \
2010          target: "bg_dialogue"; \
2011          target: "elm.padding.left"; \
2012          target: "elm.padding.right"; \
2013       ) \
2014       GENLIST_PROGRAM_DISABLED( TARGET ) \
2015       GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
2016       program { name: "bg_color_change"; \
2017          signal: "bg_color_change"; \
2018          source: "elm"; \
2019          action: STATE_SET "2depth" 0.0; \
2020          target: "bg_dialogue_clip"; \
2021       } \
2022       GENLIST_PROGRAM_SOUND("base") \
2023       GENLIST_PROGRAM_EXPAND_FADE( TARGET \
2024          target: "bg_dialogue"; \
2025       ) \
2026       GENLIST_PROGRAM_DECORATE( TARGET \
2027          target: "bg_dialogue_clip"; \
2028          target: "elm.padding.left"; \
2029          target: "elm.padding.right"; \
2030       ) \
2031       GENLIST_PROGRAM_FLIP \
2032       GENLIST_PROGRAM_EDITMODE \
2033    }
2034
2035 #define GENLIST_PROGRAMS_READ_TEXT( TARGET ) \
2036    programs { \
2037       GENLIST_PROGRAM_DEFAULT( TARGET \
2038          target: "bg_clip"; \
2039          target: "bottom_line_clip"; \
2040          target: "bg"; \
2041          target: "bottom_line"; \
2042          target: "bottom_line2"; \
2043          target: "bg_reorder"; \
2044          target: "elm.padding.left"; \
2045          target: "elm.padding.right"; \
2046       ) \
2047       GENLIST_PROGRAM_DISABLED( \
2048          target: "bg"; \
2049          target: "bottom_line"; \
2050          target: "bottom_line2"; \
2051          target: "bg_reorder"; \
2052          TARGET \
2053       ) \
2054       GENLIST_PROGRAM_SELECT( \
2055          target: "bg"; \
2056          target: "bottom_line"; \
2057          target: "bottom_line2"; \
2058          target: "bg_reorder"; \
2059          TARGET \
2060       ) \
2061       GENLIST_PROGRAM_SOUND("base") \
2062       GENLIST_PROGRAM_EXPAND_FADE( \
2063          target: "bg"; \
2064          target: "bottom_line"; \
2065          target: "bottom_line2"; \
2066          target: "bg_reorder"; \
2067          TARGET \
2068       ) \
2069       GENLIST_PROGRAM_REORDER( \
2070          target: "bg_clip"; \
2071          target: "bottom_line_clip"; \
2072          target: "elm.padding.left"; \
2073          target: "elm.padding.right"; \
2074          target: "bg_reorder_clip"; \
2075       ) \
2076       GENLIST_PROGRAM_DECORATE( \
2077          target: "bg_clip"; \
2078          target: "bottom_line_clip"; \
2079          target: "elm.padding.left"; \
2080          target: "elm.padding.right"; \
2081       ) \
2082       program { name: "unselected_target"; \
2083          action: STATE_SET "default" 0.0; \
2084          TARGET \
2085       } \
2086       program { name: "unselected_read"; \
2087          signal: "elm,state,unselected"; \
2088          source: "elm"; \
2089          script { \
2090             if (get_int(readed) == 1) \
2091                run_program(PROGRAM:"go_read_target"); \
2092             else \
2093                run_program(PROGRAM:"unselected_target"); \
2094          } \
2095       } \
2096       program { name: "go_read"; \
2097          signal: "elm,state,read"; \
2098          source: "*"; \
2099          script { \
2100            set_int(readed, 1); \
2101            run_program(PROGRAM:"go_read_target"); \
2102          } \
2103       } \
2104       program { name: "go_unread"; \
2105          signal: "elm,state,unread"; \
2106          source: "*"; \
2107          script { \
2108            set_int(readed, 0); \
2109            run_program(PROGRAM:"go_unread_target"); \
2110          } \
2111       } \
2112       program { name: "go_read_target"; \
2113          action: STATE_SET "read" 0.0; \
2114          TARGET \
2115       } \
2116       program { name: "go_unread_target"; \
2117          action: STATE_SET "unread" 0.0; \
2118          TARGET \
2119       } \
2120    }
2121
2122 #define GENLIST_PROGRAMS_DECORATE_EFFECT( TARGET ) \
2123    program { name: "decorate_enabled_effect"; \
2124       signal: "elm,state,decorate,enabled,effect";\
2125       source: "elm";\
2126       transition: DECELERATE 0.5;\
2127       action:  STATE_SET "decorate" 0.0;\
2128       TARGET \
2129    }\
2130    program { name: "decorate_disabled_effect";\
2131       signal: "elm,state,decorate,disabled,effect";\
2132       source: "elm";\
2133       transition: ACCELERATE 0.5;\
2134       action:  STATE_SET "default" 0.0;\
2135       TARGET \
2136    } \
2137    program { name: "decorate_enabled";\
2138       signal: "elm,state,decorate,enabled";\
2139       source: "elm";\
2140       action:  STATE_SET "decorate" 0.0;\
2141       TARGET \
2142    }\
2143    program { name: "decorate_disabled";\
2144       signal: "elm,state,decorate,disabled";\
2145       source: "elm";\
2146       action:  STATE_SET "default" 0.0;\
2147       TARGET \
2148    }
2149
2150 #define GENLIST_PROGRAMS_ENTRY \
2151    program { \
2152       signal: "elm,state,eraser,show"; \
2153       action: STATE_SET "show" 0.0; \
2154       target: "elm.icon.eraser"; \
2155    } \
2156    program { \
2157       signal: "elm,state,eraser,hide"; \
2158       action: STATE_SET "default" 0.0; \
2159       target: "elm.icon.eraser"; \
2160    } \
2161     program { \
2162       signal: "elm,state,rename,show"; \
2163       action: STATE_SET "default" 0.0; \
2164       target: "elm.image.rename"; \
2165    } \
2166    program { \
2167       signal: "elm,state,rename,hide"; \
2168       action: STATE_SET "hide" 0.0; \
2169       target: "elm.image.rename"; \
2170    }
2171
2172 //****************************************************************************//
2173 // *******************************  Icon Part ******************************//
2174 //***************************************************************************//
2175 #define GENLIST_PART_ICON(NAME, DESCRIPION) \
2176    part { name: NAME; \
2177       scale: 1; \
2178       type: SWALLOW; \
2179       DESCRIPION \
2180       GENLIST_DESCRIPTION_FADE_ICON \
2181    }
2182
2183 #define GENLIST_PARAM_ICON_BIG \
2184          min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
2185          max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE;
2186
2187 #define GENLIST_PARAM_ICON_SMALL \
2188          min: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE; \
2189          max: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE;
2190
2191 #define GENLIST_PARAM_ICON_BTN_01 \
2192          min: 0 GENLIST_BTN_01_HEIGHT; \
2193          max: -1 GENLIST_BTN_01_HEIGHT;
2194
2195 #define GENLIST_PARAM_ICON_BTN_02 \
2196          min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
2197          max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE;
2198
2199 #define GENLIST_PARAM_ICON_ONOFF_WIDTH \
2200          min: GENLIST_ICON_ONOFF_WIDTH GENLIST_ICON_ONOFF_HEIGHT; \
2201          max: GENLIST_ICON_ONOFF_WIDTH GENLIST_ICON_ONOFF_HEIGHT;
2202
2203 #define GENLIST_PARAM_ICON_THUMBNAIL1\
2204          min: GENLIST_ICON_LARGE_SIZE GENLIST_ICON_LARGE_SIZE; \
2205          max: GENLIST_ICON_LARGE_SIZE GENLIST_ICON_LARGE_SIZE;
2206
2207 #define GENLIST_PARAM_ICON_CHECK_RADIO \
2208          min: GENLIST_ICON_CHECK_RADIO_SIZE GENLIST_ICON_CHECK_RADIO_SIZE; \
2209          max: GENLIST_ICON_CHECK_RADIO_SIZE GENLIST_ICON_CHECK_RADIO_SIZE;
2210
2211 #define GENLIST_PARAM_ICON_STAR \
2212          min: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \
2213          max: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \
2214
2215 #define GENLIST_PART_ICON_BIG_R(NAME, RIGHT) \
2216    GENLIST_PART_ICON(NAME, \
2217       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2218          fixed: 1 1; \
2219          GENLIST_PARAM_ICON_BIG \
2220       ) \
2221    )
2222
2223 #define GENLIST_PART_ICON_BIG_L(NAME, LEFT) \
2224    GENLIST_PART_ICON(NAME, \
2225       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2226          GENLIST_PARAM_ICON_BIG \
2227          fixed: 1 1; \
2228       ) \
2229    )
2230
2231 #define GENLIST_PART_ICON_SMALL_L(NAME, LEFT) \
2232    GENLIST_PART_ICON(NAME, \
2233       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2234          GENLIST_PARAM_ICON_SMALL \
2235          fixed: 1 1; \
2236       ) \
2237    )
2238
2239 #define GENLIST_PART_ICON_SMALL_LB(NAME, LEFT, BOTTOM) \
2240    GENLIST_PART_ICON(NAME, \
2241       GENLIST_DESCRIPTION_LB(LEFT, BOTTOM, \
2242         GENLIST_PARAM_ICON_SMALL \
2243         fixed: 1 1; \
2244       ) \
2245    )
2246
2247 #define GENLIST_PART_ICON_SMALL_LTB(NAME, LEFT, TOP, BOTTOM) \
2248    GENLIST_PART_ICON(NAME, \
2249       GENLIST_DESCRIPTION_LTB(LEFT, TOP, BOTTOM, \
2250          GENLIST_PARAM_ICON_SMALL \
2251          fixed: 1 1; \
2252       ) \
2253    )
2254
2255 #define GENLIST_PART_ICON_SMALL_RTB(NAME, RIGHT, TOP, BOTTOM) \
2256    GENLIST_PART_ICON(NAME, \
2257       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
2258          GENLIST_PARAM_ICON_SMALL \
2259          fixed: 1 1; \
2260       ) \
2261    )
2262
2263 #define GENLIST_PART_ICON_BTN_01_RTB(NAME, RIGHT, TOP, BOTTOM) \
2264    GENLIST_PART_ICON(NAME, \
2265       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\
2266          GENLIST_PARAM_ICON_BTN_01 \
2267          fixed: 1 1; \
2268       ) \
2269    )
2270
2271 #define GENLIST_PART_ICON_BTN_02_RTB(NAME, RIGHT, TOP, BOTTOM) \
2272    GENLIST_PART_ICON(NAME, \
2273       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\
2274          GENLIST_PARAM_ICON_BTN_02 \
2275          fixed: 1 1; \
2276       ) \
2277    )
2278
2279 #define GENLIST_PART_ICON_BTN_ONOFF_R(NAME, RIGHT) \
2280    GENLIST_PART_ICON(NAME, \
2281       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2282          GENLIST_PARAM_ICON_ONOFF_WIDTH \
2283          fixed: 1 1; \
2284       ) \
2285    )
2286
2287 #define GENLIST_PART_ICON_BTN_ONOFF_L(NAME, LEFT) \
2288    GENLIST_PART_ICON(NAME, \
2289       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2290          GENLIST_PARAM_ICON_ONOFF_WIDTH \
2291          fixed: 1 1; \
2292       ) \
2293    )
2294
2295 #define GENLIST_PART_ICON_THUMBNAIL1_R(NAME, RIGHT) \
2296    GENLIST_PART_ICON(NAME, \
2297       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2298          GENLIST_PARAM_ICON_THUMBNAIL1 \
2299          fixed: 1 1; \
2300       ) \
2301    )
2302
2303 #define GENLIST_PART_ICON_CHECK_RADIO_L(NAME, LEFT) \
2304    GENLIST_PART_ICON(NAME, \
2305       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2306          GENLIST_PARAM_ICON_CHECK_RADIO \
2307          fixed: 1 1; \
2308       ) \
2309    )
2310
2311 #define GENLIST_PART_ICON_STAR_RTB(NAME, RIGHT, TOP, BOTTOM) \
2312    GENLIST_PART_ICON(NAME, \
2313       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
2314          GENLIST_PARAM_ICON_STAR \
2315          fixed: 1 1; \
2316       ) \
2317    )
2318
2319 /*****************************************************************************/
2320 /******************************* Genlist IMAGE ********************************/
2321 /*****************************************************************************/
2322 #define GENLIST_PART_IMAGE(NAME, DESCRIPION) \
2323    part { name: NAME; \
2324       scale: 1; \
2325       type: IMAGE; \
2326       DESCRIPION \
2327       GENLIST_DESCRIPTION_FADE \
2328    }
2329
2330 #define GENLIST_PARAM_PASSWORD_IMAGE \
2331             min: GENLIST_ICON_PASSWORD_SIZE GENLIST_ICON_PASSWORD_SIZE; \
2332             max: GENLIST_ICON_PASSWORD_SIZE GENLIST_ICON_PASSWORD_SIZE; \
2333             image.normal: "00_search_edit_field_bg_02.png"; \
2334             image.border: 12 13 12 13; \
2335             image.border_scale: 1;
2336
2337 /*****************************************************************************/
2338 /******************************* Genlist Bubble ********************************/
2339 /*****************************************************************************/
2340 #define GENLIST_IMAGES_EXPANDABLE_BTN \
2341          images { \
2342             image: "00_button_expand_closed.png" COMP; \
2343             image: "00_button_expand_opened.png" COMP; \
2344          }
2345
2346 #define GENLIST_PART_EXPANDABLE_ARROW \
2347          GENLIST_PART_ICON("touch_arrow", \
2348             ignore_flags: ON_HOLD; \
2349             GENLIST_DESCRIPTION_ENVELOP("arrow", ) \
2350             GENLIST_DESCRIPTION_FADE \
2351          ) \
2352          GENLIST_PART_RECT("arrow_clip", \
2353             GENLIST_DESCRIPTION_ENVELOP("arrow", \
2354                color: 101 101 101 255; \
2355             ) \
2356             description { state: "disabled" 0.0; \
2357                color: 101 101 101 76; \
2358             } \
2359             description { state: "expand_opened_press" 0.0; \
2360                color: 248 246 239 255; \
2361             } \
2362             description { state: "default_press" 0.0; \
2363                color: 248 246 239 255; \
2364             } \
2365          ) \
2366          GENLIST_PART_IMAGE("arrow", \
2367             clip_to: "arrow_clip"; \
2368             ignore_flags: ON_HOLD; \
2369             mouse_events: 0; \
2370             GENLIST_DESCRIPTION_R("elm.padding.right", \
2371                fixed: 1 1; \
2372                min: 72 72; \
2373                max: 72 72; \
2374                image.normal: "00_button_expand_closed.png"; \
2375             ) \
2376             description { state: "default_press" 0.0; \
2377                inherit: "default" 0.0; \
2378                image.normal: "00_button_expand_closed_press.png"; \
2379             } \
2380             description { state: "expand_opened" 0.0; \
2381                inherit: "default" 0.0; \
2382                image.normal: "00_button_expand_opened.png"; \
2383             } \
2384             description { state: "expand_opened_press" 0.0; \
2385                inherit: "expand_opened" 0.0; \
2386                image.normal: "00_button_expand_opened_press.png"; \
2387             } \
2388             GENLIST_DESCRIPTION_FADE \
2389          )
2390 /*****************************************************************************/
2391 /******************************* Genlist RECT ********************************/
2392 /*****************************************************************************/
2393 #define GENLIST_PART_SPACER(NAME, DESCRIPION) \
2394     part { name: NAME; \
2395       scale: 1; \
2396       mouse_events: 0; \
2397       type: SPACER; \
2398       DESCRIPION \
2399    }
2400
2401 #define GENLIST_PART_RECT(NAME, DESCRIPION) \
2402     part { name: NAME; \
2403       scale: 1; \
2404       type: RECT; \
2405       DESCRIPION \
2406       GENLIST_DESCRIPTION_FADE \
2407    }
2408
2409 /*****************************************************************************/
2410 /******************************* Genlist TEXT ********************************/
2411 /*****************************************************************************/
2412 #define GENLIST_PART_TEXT(NAME, DESCRIPION) \
2413     part { name: NAME; \
2414       scale: 1; \
2415       mouse_events: 0; \
2416       type: TEXT; \
2417       DESCRIPION \
2418       GENLIST_DESCRIPTION_FADE \
2419    }
2420
2421 #define GENLIST_PART_TEXTBLOCK(NAME, DESCRIPION) \
2422     part { name: NAME; \
2423       scale: 1; \
2424       mouse_events: 0; \
2425       type: TEXTBLOCK; \
2426       DESCRIPION \
2427       GENLIST_DESCRIPTION_FADE \
2428    }
2429
2430 /*************************** parameters **********************************/
2431 #define GENLIST_PARAM_TEXT_LIMIT_RB \
2432    rel1.to_x: "base"; /* This limits text growing. */\
2433    rel1.relative: 0.35 0; /* This limits text growing. */\
2434    text.max: 1 0; /* This limits text growing. */
2435
2436 #define GENLIST_PARAM_TEXT_LIMIT_RT \
2437    rel1.to_x: "base"; /* This limits text growing. */\
2438    rel1.relative: 0.35 1; /* This limits text growing. */\
2439    text.max: 1 0; /* This limits text growing. */
2440
2441 #define GENLIST_PARAM_TEXT_LIMIT_RTB \
2442    rel1.to_x: "base"; /* This limits text growing. */\
2443    rel1.relative: 0.35 1; /* This limits text growing. */\
2444    text.max: 1 0; /* This limits text growing. */
2445
2446 // Group Title
2447 #define GENLIST_PARAM_DIALOGUE_GROUP_TITLE \
2448    color: GENLIST_DIALOGUE_GROUP_TITLE_COLOR; \
2449    text { \
2450       align: 0.0 0.5; \
2451       font: "Tizen:style=Bold"; \
2452       min: 0 1; \
2453       size: GENLIST_DIALOGUE_GROUP_TITLE_SIZE; \
2454       text_class: "list_item"; \
2455    }
2456
2457 // Password style
2458 #define GENLIST_PARAM_PASSWORD_TITLE \
2459    color: DIALOGUE_PASSWORD_TITLE_COLOR; \
2460    text { \
2461       font: "Tizen:style=Bold"; \
2462       size: DIALOGUE_PASSWORD_TITLE_SIZE; \
2463       min: 0 1; \
2464       align: 0 0.5; \
2465       text_class: "list_item"; \
2466    }
2467
2468 // Progress main text
2469 #define GENLIST_PARAM_PROGRESS_MAIN \
2470    color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; \
2471    text { \
2472       align: 0 0.5; \
2473       min: 0 1; \
2474       font: "Tizen:style=Regular"; \
2475       size: GENLIST_PROGRESS_MAIN_TEXT_SIZE; \
2476       text_class: "list_item"; \
2477    }
2478
2479 // list main text
2480 #define GENLIST_PARAM_LISTITEM \
2481    color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; \
2482    text { \
2483       align: 0 0.5; \
2484       min: 0 1; \
2485       font: "Tizen:style=Regular"; \
2486       size: GENLIST_LIST_MAIN_TEXT_SIZE; \
2487       text_class: "list_item"; \
2488    }
2489
2490 #define GENLIST_PARAM_LISTITEM_TB \
2491    text { \
2492       min: 0 1; \
2493       style: "genlist_style_list_main_text_unread"; \
2494    }
2495
2496 #define GENLIST_PARAM_LISTITEM_TB_WRAP \
2497    text { \
2498       min: 0 1; \
2499       style: "genlist_style_list_main_text_unread_wrap"; \
2500    }
2501
2502 // list subtext
2503 #define GENLIST_PARAM_SUBITEM_DEFAULT \
2504    color: GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR; \
2505    text { \
2506       align: 0 0.5; \
2507       min: 0 1; \
2508       font: "Tizen:style=Medium"; \
2509       size: GENLIST_LIST_SUB_TEXT_SIZE; \
2510       text_class: "tizen"; \
2511    }
2512
2513 #define GENLIST_PARAM_SUBITEM_SETTINGS \
2514    color: GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR; \
2515    text { \
2516       align: 0 0.5; \
2517       min: 0 1; \
2518       font: "Tizen:style=Medium"; \
2519       size: GENLIST_LIST_SUB_TEXT_SIZE; \
2520       text_class: "tizen"; \
2521    }
2522
2523 #define GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2524    text { \
2525       min: 0 1; \
2526       style: "genlist_style_list_sub_text_default"; \
2527    }
2528
2529 #define GENLIST_PARAM_SUBITEM_DEFAULT_TB_WRAP \
2530    text { \
2531       min: 0 1; \
2532       style: "genlist_style_list_sub_text_default_wrap"; \
2533    }
2534
2535 #define GENLIST_PARAM_SUBITEM_SETTINGS_TB \
2536    text { \
2537       min: 0 1; \
2538       style: "genlist_style_list_sub_text_settings"; \
2539    }
2540
2541 #define GENLIST_PARAM_APPS_NAME\
2542    color: GENLIST_APPS_NAME_COLOR; \
2543    text { \
2544       align: 0 0.5; \
2545       min: 0 1; \
2546       font: "Tizen:style=Bold"; \
2547       size: GENLIST_APPS_NAME_SIZE; \
2548       text_class: "list_item"; \
2549    }
2550
2551 #define GENLIST_PARAM_APPS_INC\
2552    color: GENLIST_APPS_INC_COLOR; \
2553    text { \
2554       align: 0 0.5; \
2555       min: 0 1; \
2556       font: "Tizen:style=Bold"; \
2557       size: GENLIST_APPS_INC_SIZE; \
2558       text_class: "list_item"; \
2559    }
2560
2561 #define GENLIST_PARAM_APPS_RATING\
2562    color: GENLIST_APPS_RATING_COLOR; \
2563    text { \
2564       align: 0 0.5; \
2565       min: 0 1; \
2566       font: "Tizen:style=Bold"; \
2567       size: GENLIST_APPS_RATING_SIZE; \
2568       text_class: "list_item"; \
2569    }
2570
2571 #define GENLIST_PARAM_APPS_PRICE\
2572    color: GENLIST_APPS_PRICE_ORIGINAL_COLOR; \
2573    text { \
2574       align: 0 0.5; \
2575       min: 0 1; \
2576       font: "Tizen:style=Bold"; \
2577       size: GENLIST_APPS_PRICE_SIZE; \
2578       text_class: "list_item"; \
2579    }
2580
2581 #define GENLIST_PARAM_APPS_PRICE_SALE\
2582    color: GENLIST_APPS_PRICE_SALE_COLOR; \
2583    text { \
2584       align: 0 0.5; \
2585       min: 0 1; \
2586       font: "Tizen:style=Bold"; \
2587       size: GENLIST_APPS_PRICE_SIZE; \
2588       text_class: "list_item"; \
2589    }
2590
2591 #define GENLIST_PARAM_CONTENTS_TEXT \
2592    color: GENLIST_CONTENTS_TEXT_COLOR; \
2593    text { \
2594       align: 0 0.5; \
2595       min: 0 1; \
2596       font: "Tizen:style=Regular"; \
2597       size: GENLIST_CONTENTS_TEXT_SIZE; \
2598       text_class: "tizen"; \
2599    }
2600
2601 /*************************** Descriptions **********************************/
2602 // list main text
2603 #define GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2604    description { state: "disabled" 0.0; \
2605       inherit: "default" 0.0; \
2606       color: GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR; \
2607    } \
2608    description { state: "read" 0.0; \
2609       inherit: "default" 0.0; \
2610       color: GENLIST_LIST_MAIN_TEXT_READ_COLOR; \
2611    } \
2612    description { state: "read,disabled" 0.0; \
2613       inherit: "default" 0.0; \
2614       color: GENLIST_LIST_MAIN_TEXT_READ_DIM_COLOR; \
2615    } \
2616    description { state: "selected" 0.0; \
2617       inherit: "default" 0.0; \
2618       color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
2619    }
2620
2621 #define GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2622    description { state: "disabled" 0.0; \
2623       inherit: "default" 0.0; \
2624       text.style: "genlist_style_list_main_text_unread_dim"; \
2625    } \
2626    description { state: "read" 0.0; \
2627       inherit: "default" 0.0; \
2628       text.style: "genlist_style_list_main_text_read"; \
2629    } \
2630    description { state: "read,disabled" 0.0; \
2631       inherit: "default" 0.0; \
2632       text.style: "genlist_style_list_main_text_read_dim"; \
2633    } \
2634    description { state: "selected" 0.0; \
2635       inherit: "default" 0.0; \
2636       text.style: "genlist_style_list_main_text_focus"; \
2637    }
2638
2639 // list sub text
2640 #define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2641    description { state: "disabled" 0.0; \
2642       inherit: "default" 0.0; \
2643       color: GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR; \
2644    } \
2645    description { state: "selected" 0.0; \
2646       inherit: "default" 0.0; \
2647       color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
2648    }
2649
2650 #define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2651    description { state: "disabled" 0.0; \
2652       inherit: "default" 0.0; \
2653       text.style: "genlist_style_list_sub_text_default_dim"; \
2654    } \
2655    description { state: "selected" 0.0; \
2656       inherit: "default" 0.0; \
2657       text.style: "genlist_style_list_sub_text_focus"; \
2658    }
2659
2660 #define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB_WRAP \
2661    description { state: "disabled" 0.0; \
2662       inherit: "default" 0.0; \
2663       text.style: "genlist_style_list_sub_text_default_dim_wrap"; \
2664    } \
2665    description { state: "selected" 0.0; \
2666       inherit: "default" 0.0; \
2667       text.style: "genlist_style_list_sub_text_focus_wrap"; \
2668    }
2669
2670 #define GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
2671    description { state: "disabled" 0.0; \
2672       inherit: "default" 0.0; \
2673       color: GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR; \
2674    } \
2675    description { state: "selected" 0.0; \
2676       inherit: "default" 0.0; \
2677       color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
2678    }
2679
2680 #define GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS_TB \
2681    description { state: "disabled" 0.0; \
2682       inherit: "default" 0.0; \
2683       text.style: "genlist_style_list_sub_text_settings_dim"; \
2684    } \
2685    description { state: "selected" 0.0; \
2686       inherit: "default" 0.0; \
2687       text.style: "genlist_style_list_sub_text_focus"; \
2688    }
2689
2690 // list main text multiline
2691 #define GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB_WRAP \
2692    description { state: "disabled" 0.0; \
2693       inherit: "default" 0.0; \
2694       text.style: "genlist_style_list_main_text_unread_dim_wrap"; \
2695    } \
2696    description { state: "selected" 0.0; \
2697       inherit: "default" 0.0; \
2698       text.style: "genlist_style_list_main_text_focus_wrap"; \
2699    }
2700
2701 /*************************** Parts **********************************/
2702 #define GENLIST_PART_DIALOGUE_GROUP_HELP_TEXT(NAME, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
2703    GENLIST_PART_TEXTBLOCK(NAME, \
2704       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2705          text { \
2706             min: 0 1; \
2707             style: "genlist_style_dialogue_group_help_text"; \
2708          } \
2709          PARAM) \
2710    )
2711
2712 #define GENLIST_PART_LISTITEM(NAME, DESCRIPTION) \
2713    GENLIST_PART_TEXT(NAME, \
2714       DESCRIPTION \
2715       GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2716    )
2717
2718 #define GENLIST_PART_LISTITEM_TB(NAME, DESCRIPTION) \
2719    GENLIST_PART_TEXTBLOCK(NAME, \
2720       DESCRIPTION \
2721       GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2722    )
2723
2724 #define GENLIST_PART_LISTITEM_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
2725    GENLIST_PART_TEXT(NAME, \
2726       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2727          min: 0 HEIGHT; \
2728          GENLIST_PARAM_LISTITEM \
2729          PARAM \
2730       ) \
2731       GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2732    )
2733
2734 #define GENLIST_PART_LISTITEM_TB_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
2735    GENLIST_PART_TEXTBLOCK(NAME, \
2736       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2737          min: 0 HEIGHT; \
2738          fixed: 1 0; \
2739          GENLIST_PARAM_LISTITEM_TB \
2740          PARAM \
2741       ) \
2742       GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2743    )
2744
2745 #define GENLIST_PART_LISTITEM_LR(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
2746    GENLIST_PART_TEXT(NAME, \
2747       GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
2748          min: 0 HEIGHT; \
2749          GENLIST_PARAM_LISTITEM \
2750          PARAM \
2751       ) \
2752       GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2753    )
2754
2755 #define GENLIST_PART_LISTITEM_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP, PARAM) \
2756    GENLIST_PART_TEXT(NAME, \
2757       GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
2758          min: 0 HEIGHT; \
2759          fixed: 0 1; \
2760          GENLIST_PARAM_LISTITEM \
2761          PARAM \
2762       ) \
2763       GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2764    )
2765
2766 #define GENLIST_PART_LISTITEM_LRT_TB(NAME, HEIGHT, LEFT, RIGHT, TOP, PARAM) \
2767    GENLIST_PART_TEXTBLOCK(NAME, \
2768       GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
2769          min: 0 HEIGHT; \
2770          fixed: 0 1; \
2771          GENLIST_PARAM_LISTITEM_TB \
2772          PARAM \
2773       ) \
2774       GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2775    )
2776
2777 #define GENLIST_PART_LISTITEM_LR_TB(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
2778    GENLIST_PART_TEXTBLOCK(NAME, \
2779       GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
2780          min: 0 HEIGHT; \
2781          fixed: 1 0; \
2782          GENLIST_PARAM_LISTITEM_TB \
2783          PARAM \
2784       ) \
2785       GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2786    )
2787
2788 #define GENLIST_PART_SUBITEM_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
2789    GENLIST_PART_TEXT(NAME, \
2790       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2791          min: 0 HEIGHT; \
2792          GENLIST_PARAM_SUBITEM_DEFAULT \
2793          PARAM \
2794       ) \
2795       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2796    )
2797
2798 #define GENLIST_PART_SUBITEM(NAME, DESCRIPTION) \
2799    GENLIST_PART_TEXT(NAME, \
2800       DESCRIPTION \
2801       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2802    )
2803
2804 #define GENLIST_PART_SUBITEM_R(NAME, HEIGHT, RIGHT) \
2805    GENLIST_PART_TEXT(NAME, \
2806       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2807          min: 0 HEIGHT; \
2808          fixed: 1 0; \
2809          GENLIST_PARAM_TEXT_LIMIT_RB \
2810          GENLIST_PARAM_SUBITEM_DEFAULT \
2811       ) \
2812       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2813    )
2814
2815 #define GENLIST_PART_SUBITEM_RB(NAME, HEIGHT, RIGHT, BOTTOM) \
2816    GENLIST_PART_TEXT(NAME, \
2817       GENLIST_DESCRIPTION_RB(RIGHT, BOTTOM, \
2818          min: 0 HEIGHT; \
2819          fixed: 1 1; \
2820          GENLIST_PARAM_TEXT_LIMIT_RB \
2821          GENLIST_PARAM_SUBITEM_DEFAULT \
2822       ) \
2823       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2824    )
2825
2826 #define GENLIST_PART_SUBITEM_RB_TB(NAME, HEIGHT, RIGHT, BOTTOM) \
2827    GENLIST_PART_TEXTBLOCK(NAME, \
2828       GENLIST_DESCRIPTION_RB(RIGHT, BOTTOM, \
2829          min: 0 HEIGHT; \
2830          GENLIST_PARAM_TEXT_LIMIT_RB \
2831          fixed: 1 1; \
2832          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2833       ) \
2834       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2835    )
2836
2837 #define GENLIST_PART_SUBITEM_TB_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM) \
2838    GENLIST_PART_TEXTBLOCK(NAME, \
2839       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2840          min: 0 HEIGHT; \
2841          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2842       ) \
2843       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2844    )
2845
2846 #define GENLIST_PART_SUBITEM_R_FIXED(NAME, WIDTH, HEIGHT, RIGHT) \
2847    GENLIST_PART_TEXT(NAME, \
2848       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2849          min: WIDTH HEIGHT; \
2850          fixed: 1 1; \
2851          GENLIST_PARAM_SUBITEM_DEFAULT \
2852       ) \
2853       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2854    )
2855
2856 #define GENLIST_PART_SUBITEM_R_FIXED_TB(NAME, WIDTH, HEIGHT, RIGHT) \
2857    GENLIST_PART_TEXTBLOCK(NAME, \
2858        GENLIST_DESCRIPTION_R(RIGHT, \
2859          min: WIDTH HEIGHT; \
2860          fixed: 1 0; \
2861          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2862       ) \
2863       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2864    )
2865
2866 #define GENLIST_PART_SUBITEM_L_FIXED(NAME, WIDTH, HEIGHT, LEFT) \
2867    GENLIST_PART_TEXT(NAME, \
2868       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2869          min: WIDTH HEIGHT; \
2870          fixed: 1 1; \
2871          GENLIST_PARAM_SUBITEM_DEFAULT \
2872       ) \
2873       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2874    )
2875
2876 #define GENLIST_PART_SUBITEM_LR(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
2877    GENLIST_PART_TEXT(NAME, \
2878       GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
2879          min: 0 HEIGHT; \
2880          GENLIST_PARAM_SUBITEM_DEFAULT \
2881          PARAM \
2882       ) \
2883       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2884    )
2885
2886 #define GENLIST_PART_SUBITEM_LR_TB(NAME, HEIGHT, LEFT, RIGHT) \
2887    GENLIST_PART_TEXTBLOCK(NAME, \
2888       GENLIST_DESCRIPTION_LR(LEFT, RIGHT, \
2889          min: 0 HEIGHT; \
2890          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2891       ) \
2892       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2893    )
2894
2895 #define GENLIST_PART_SUBITEM_LB(NAME, HEIGHT, LEFT, RIGHT) \
2896    GENLIST_PART_TEXT(NAME, \
2897       GENLIST_DESCRIPTION_LB(LEFT, BOTTOM, \
2898          min: 0 HEIGHT; \
2899          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2900       ) \
2901       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2902    )
2903
2904 #define GENLIST_PART_SUBITEM_LRB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
2905    GENLIST_PART_TEXT(NAME, \
2906       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
2907          min: 0 HEIGHT; \
2908          GENLIST_PARAM_SUBITEM_DEFAULT \
2909          fixed: 0 1; \
2910       ) \
2911       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2912    )
2913
2914 #define GENLIST_PART_SUBITEM_SETTINGS_LRB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM, PARAM) \
2915    GENLIST_PART_TEXT(NAME, \
2916       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
2917          min: 0 HEIGHT; \
2918          fixed: 1 1; /*FIXME: why text need this, but textblock doesn't */ \
2919          GENLIST_PARAM_SUBITEM_SETTINGS\
2920          PARAM; \
2921       ) \
2922       GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
2923    )
2924
2925 #define GENLIST_PART_SUBITEM_LRB_TB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
2926    GENLIST_PART_TEXTBLOCK(NAME, \
2927       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
2928          min: 0 HEIGHT; \
2929          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2930          fixed: 0 1; \
2931       ) \
2932       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2933    )
2934
2935 #define GENLIST_PART_SUBITEM_SETTINGS_LRB_TB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
2936    GENLIST_PART_TEXTBLOCK(NAME, \
2937       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
2938          min: 0 HEIGHT; \
2939          GENLIST_PARAM_SUBITEM_SETTINGS_TB \
2940          fixed: 0 1; \
2941       ) \
2942       GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS_TB \
2943    )
2944
2945 #define GENLIST_PART_SUBITEM_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP) \
2946    GENLIST_PART_TEXT(NAME, \
2947       GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
2948          min: 0 HEIGHT; \
2949          fixed: 0 1; \
2950          GENLIST_PARAM_SUBITEM_DEFAULT \
2951       ) \
2952       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2953    )
2954
2955 #define GENLIST_PART_SUBITEM_SETTINGS_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP) \
2956    GENLIST_PART_TEXT(NAME, \
2957       GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
2958          min: 0 HEIGHT; \
2959          fixed: 0 1; \
2960          GENLIST_PARAM_SUBITEM_SETTINGS \
2961       ) \
2962       GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
2963    )
2964
2965 #define GENLIST_PART_SUBITEM_LTB(NAME, HEIGHT, LEFT, TOP, BOTTOM) \
2966    GENLIST_PART_TEXT(NAME, \
2967       GENLIST_DESCRIPTION_LTB(LEFT, TOP, BOTTOM, \
2968          min: 0 HEIGHT; \
2969          fixed: 1 1; /*FIXME: why text need this, but textblock doesn't */ \
2970          GENLIST_PARAM_SUBITEM_DEFAULT \
2971       ) \
2972       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2973    )
2974
2975 #define GENLIST_PART_SUBITEM_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
2976    GENLIST_PART_TEXT(NAME, \
2977       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
2978          min: 0 HEIGHT; \
2979          GENLIST_PARAM_TEXT_LIMIT_RT \
2980          GENLIST_PARAM_SUBITEM_DEFAULT \
2981          fixed: 1 0; \
2982       ) \
2983       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2984    )
2985
2986 #define GENLIST_PART_SUBITEM_RTB_TB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
2987    GENLIST_PART_TEXTBLOCK(NAME, \
2988       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
2989          min: 0 HEIGHT; \
2990          GENLIST_PARAM_TEXT_LIMIT_RT \
2991          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2992          fixed: 1 0; \
2993       ) \
2994       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2995    )
2996
2997 #define GENLIST_PARAM_LIST_BUBBLE_TEXT \
2998    color: GENLIST_LIST_BUBBLE_TEXT_COLOR; \
2999    text { \
3000       align: 1 0.5; \
3001       min: 0 1; \
3002       font: "Tizen:style=Bold"; \
3003       size: GENLIST_LIST_BUBBLE_TEXT_SIZE; \
3004       text_class: "tizen"; \
3005    }
3006
3007 // FIXME: Need to find why rel2.offset: 9 -1 will not fix the alignment of bubble text ?
3008 #define GENLIST_PART_LIST_BUBBLE_TEXT_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
3009          GENLIST_PART_IMAGE("elm.bubble", \
3010             GENLIST_DESCRIPTION_ENVELOP(NAME, \
3011                image { \
3012                   normal: "00_list_bubble_bg.png"; \
3013                   border: 8 8 0 0; \
3014                } \
3015                rel1.offset: -10 0; \
3016                rel2.offset: 8 -1; \
3017                min: 48 38; \
3018                max: -1 38; \
3019                fixed: 0 1; \
3020             ) \
3021             GENLIST_DESCRIPTION_FADE \
3022          ) \
3023          GENLIST_PART_TEXT(NAME, \
3024             GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
3025                min: 0 HEIGHT; \
3026                GENLIST_PARAM_TEXT_LIMIT_RT \
3027                rel2.offset: -10 -1; /* This maintain the text alignment with bubble text. */\
3028                GENLIST_PARAM_LIST_BUBBLE_TEXT \
3029             ) \
3030          )
3031
3032 #if 0
3033 #define GENLIST_PART_BASE__( param_item_height ) \
3034          part { name: "base"; \
3035             type: RECT; \
3036             repeat_events: 1; \
3037             scale: 1; \
3038             description { state: "default" 0.0; \
3039                min: 0 param_item_height; \
3040                color: LAYOUT_GROUP_LIST_BG_COLOR_INC; \
3041             } \
3042          }
3043
3044 /******************************************************************************/
3045 /** ETC
3046 /******************************************************************************/
3047 // FIXME: UX do not define selected state. But I thinkt that it is neededs :(
3048
3049 #define GENLIST_PROOGRAM_EXPAND(SRC, TARGET) \
3050    program { \
3051       name: "expand"; \
3052       signal: "mouse,clicked,1"; \
3053       source: SRC; \
3054       action: SIGNAL_EMIT "elm,action,expand,toggle" "elm"; \
3055    } \
3056    program { \
3057       name: "go_expanded"; \
3058       signal: "elm,state,expanded"; \
3059       source: "elm"; \
3060       action: STATE_SET "active" 0.0; \
3061       TARGET \
3062    } \
3063    program { \
3064       name: "go_contracted"; \
3065       signal: "elm,state,contracted"; \
3066       source: "elm"; \
3067       action: STATE_SET "default" 0.0; \
3068       TARGET \
3069    }
3070
3071 #define GENLIST_PART_BASE_LIST_H( HEIGHT) \
3072          part { name: "base"; \
3073             type: RECT; \
3074             repeat_events: 1; \
3075             scale: 1; \
3076             description { state: "default" 0.0; \
3077                align: 0.5 0.5; \
3078                color: 0 0 0 0; \
3079                rel2.relative: 1 0; \
3080                rel2.to: "bottom_line"; \
3081                min: 0 HEIGHT; \
3082             } \
3083          } \
3084          GENLIST_PART_BOTTOM_LINE
3085
3086 #define GENLIST_PART_DIALOGUE_ITEM \
3087          part { name: "elm.rect.dialogue"; \
3088             type: RECT; \
3089             scale: 1; \
3090             description { state: "default" 0.0; \
3091                min: 10 0; \
3092                fixed: 1 0; \
3093                color: GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC; \
3094                rel2.relative: 0.0 1.0; \
3095                align: 0.0 0.0; \
3096             } \
3097          }
3098
3099 #define GENLIST_PART_DIALOGUE_RIGHT_LINE \
3100          part { name: "elm.rect.dialogue.right.line"; \
3101             type: RECT; \
3102             scale: 1; \
3103             description { state: "default" 0.0; \
3104                min: 1 0; \
3105                fixed: 1 0; \
3106                rel1 { \
3107                   relative: 1.0  0.0; \
3108                   offset: -1 0; \
3109                } \
3110                align: 1.0 0.0; \
3111                color: GENLIST_LIST_LINE1_COLOR; \
3112             } \
3113          }
3114
3115 #define GENLIST_PROGRAM_FLIP_1TEXT \
3116          program { name: "flip_enabled"; \
3117             signal: "elm,state,flip,enabled"; \
3118             source: "elm"; \
3119             action: STATE_SET "flip_enabled" 0.0; \
3120             target: "elm.text"; \
3121             target: "elm.flip.content"; \
3122          } \
3123          program { name: "flip_disabled"; \
3124             signal: "elm,state,flip,disabled"; \
3125             source: "elm"; \
3126             action: STATE_SET "default" 0.0; \
3127             target: "elm.text"; \
3128             target: "elm.flip.content"; \
3129          }
3130
3131 #define GENLIST_PROGRAM_FLIP_2TEXT \
3132          program { name: "flip_enabled"; \
3133             signal: "elm,state,flip,enabled"; \
3134             source: "elm"; \
3135             action: STATE_SET "flip_enabled" 0.0; \
3136             target: "elm.text.1"; \
3137             target: "elm.text.2"; \
3138             target: "elm.flip.content"; \
3139          } \
3140          program { name: "flip_disabled"; \
3141             signal: "elm,state,flip,disabled"; \
3142             source: "elm"; \
3143             action: STATE_SET "default" 0.0; \
3144             target: "elm.text.1"; \
3145             target: "elm.text.2"; \
3146             target: "elm.flip.content"; \
3147          }
3148
3149 #define GENLIST_PROGRAM_FLIP_2TEXT_1ICON \
3150          program { name: "flip_enabled"; \
3151             signal: "elm,state,flip,enabled"; \
3152             source: "elm"; \
3153             action: STATE_SET "flip_enabled" 0.0; \
3154             target: "elm.text.1"; \
3155             target: "elm.text.2"; \
3156             target: "elm.icon"; \
3157             target: "elm.flip.content"; \
3158          } \
3159          program { name: "flip_disabled"; \
3160             signal: "elm,state,flip,disabled"; \
3161             source: "elm"; \
3162             action: STATE_SET "default" 0.0; \
3163             target: "elm.text.1"; \
3164             target: "elm.text.2"; \
3165             target: "elm.icon"; \
3166             target: "elm.flip.content"; \
3167          }
3168
3169 #define GENLIST_PROGRAM_FLIP_2TEXT_2ICON \
3170          program { name: "flip_enabled"; \
3171             signal: "elm,state,flip,enabled"; \
3172             source: "elm"; \
3173             action: STATE_SET "flip_enabled" 0.0; \
3174             target: "elm.text.1"; \
3175             target: "elm.text.2"; \
3176             target: "elm.icon.1"; \
3177             target: "elm.icon.2"; \
3178             target: "elm.flip.content"; \
3179          } \
3180          program { name: "flip_disabled"; \
3181             signal: "elm,state,flip,disabled"; \
3182             source: "elm"; \
3183             action: STATE_SET "default" 0.0; \
3184              target: "elm.text.1"; \
3185             target: "elm.text.2"; \
3186             target: "elm.icon.1"; \
3187             target: "elm.icon.2"; \
3188             target: "elm.flip.content"; \
3189          }
3190
3191 #define GENLIST_PROGRAM_FLIP_3TEXT_2ICON \
3192          program { name: "flip_enabled"; \
3193             signal: "elm,state,flip,enabled"; \
3194             source: "elm"; \
3195             action: STATE_SET "flip_enabled" 0.0; \
3196             target: "elm.text.1"; \
3197             target: "elm.text.2"; \
3198             target: "elm.text.3"; \
3199             target: "elm.icon.1"; \
3200             target: "elm.icon.2"; \
3201             target: "elm.flip.content"; \
3202          } \
3203          program { name: "flip_disabled"; \
3204             signal: "elm,state,flip,disabled"; \
3205             source: "elm"; \
3206             action: STATE_SET "default" 0.0; \
3207             target: "elm.text.1"; \
3208             target: "elm.text.2"; \
3209             target: "elm.text.3"; \
3210             target: "elm.icon.1"; \
3211             target: "elm.icon.2"; \
3212             target: "elm.flip.content"; \
3213          }
3214
3215
3216 #define GENLIST_DESCRIPTION_INVISIBLE_SELECTED \
3217             description { state: "selected" 1.0; \
3218                inherit: "default" 0.0; \
3219                visible: 0; \
3220             }
3221
3222 #define GENLIST_DESCRIPTION_FLIP_ENABLED \
3223             description { state: "flip_enabled" 0.0; \
3224                inherit: "default" 0.0; \
3225                visible: 0; \
3226             }
3227
3228 #define GENLIST_PROGRAM_SCRIPT_FLIP_SELECT_1TEXT \
3229             script { \
3230                new st[31]; \
3231                new Float:vl; \
3232                get_state(PART:"elm.text", st, 30, vl); \
3233                set_state(PART:"bg", "selected", 0.0); \
3234                if (!strcmp(st, "flip_enabled")) \
3235                   set_state(PART:"elm.text", "selected", 1.0); \
3236                else \
3237                   set_state(PART:"elm.text", "selected", 0.0); \
3238             }
3239
3240
3241 /* genlist multisense macro - start */
3242 #define GENLIST_PROGRAM_AFTER_PLAY_BUTTON_PRESS \
3243             after: "play_button_press";
3244
3245 #define GENLIST_PROGRAM_PLAY_BUTTON_PRESS \
3246          program { name: "play_button_press"; \
3247             action: PLAY_SAMPLE "button-pressed" 1.0; \
3248          }
3249 #endif