0b22a94057a3127b4a493b4e8b05fb3208098b82
[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          } \
780          GENLIST_PART_PERSPECTIVE_POINT
781
782 #define GENLIST_PART_BASE_SIZE(HEIGHT) \
783          part { name: "base"; \
784             type: RECT; \
785             repeat_events: 1; \
786             scale: 1; \
787             description { state: "default" 0.0; \
788                align: 0.5 0.5; \
789                color: 0 0 0 0; \
790                min: 0 HEIGHT; \
791             } \
792          } \
793          GENLIST_PART_PERSPECTIVE_POINT
794
795 //****************************************************************************//
796 // ****************************** LINE ********************************//
797 //****************************************************************************//
798 #define GENLIST_PART_BOTTOM_LINE \
799          GENLIST_PART_RECT("bottom_line_clip", \
800             mouse_events: 0; \
801             description { state: "default" 0.0; \
802                visible: 1; \
803             } \
804             description { state: "decorate" 0.0; \
805                visible: 0; \
806             } \
807             description { state: "reorder" 0.0; \
808                visible: 0; \
809             } \
810          ) \
811          GENLIST_PART_RECT("bottom_line", \
812             mouse_events: 0; \
813             clip_to: "bottom_line_clip"; \
814             description { state: "default" 0.0; \
815                min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
816                max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
817                fixed: 0 1; \
818                align: 0.5 1; \
819                color: GENLIST_LIST_LINE1_COLOR; \
820                rel1.to: "bottom_line2"; \
821                rel2.to: "bottom_line2"; \
822                rel2.relative: 1 0; \
823                rel1.offset: -1 -1; \
824             } \
825             description { state: "selected" 0.0; \
826                inherit: "default" 0.0; \
827                color: GENLIST_LIST_PRESS_COLOR; \
828             } \
829             description { state: "disabled" 0.0; \
830                inherit: "default" 0.0; \
831                color: GENLIST_LIST_DIM_COLOR; \
832             } \
833             description { state: "decorate" 0.0; \
834                inherit: "default" 0.0; \
835                visible: 0; \
836             } \
837             GENLIST_DESCRIPTION_FADE \
838          ) \
839          GENLIST_PART_RECT("bottom_line2", \
840             mouse_events: 0; \
841             clip_to: "bottom_line_clip"; \
842             description { state: "default" 0.0; \
843                min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
844                max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
845                fixed: 0 1; \
846                align: 0.5 1; \
847                color: GENLIST_LIST_LINE2_COLOR; \
848                rel1.to_x: "elm.padding.left"; \
849                rel1.relative: 1 0; \
850                rel2.to_x: "elm.padding.right"; \
851                rel2.relative: 0 1; \
852                rel1.offset: -1 -1; \
853             } \
854             description { state: "selected" 0.0; \
855                inherit: "default" 0.0; \
856                color: GENLIST_LIST_PRESS_COLOR; \
857             } \
858             description { state: "disabled" 0.0; \
859                inherit: "default" 0.0; \
860                color: GENLIST_LIST_DIM_COLOR; \
861             } \
862             description { state: "decorate" 0.0; \
863                inherit: "default" 0.0; \
864                visible: 0; \
865             } \
866             GENLIST_DESCRIPTION_FADE \
867          )
868
869 #define GENLIST_PART_BOTTOM_LINE_OFF \
870          GENLIST_PART_RECT("bottom_line", \
871             mouse_events: 0; \
872             description { state: "default" 0.0; \
873                visible: 0; \
874             } \
875             description { state: "selected" 0.0; \
876                visible: 0; \
877             } \
878             description { state: "disabled" 0.0; \
879                visible: 0; \
880             } \
881             description { state: "decorate" 0.0; \
882                visible: 0; \
883             } \
884          ) \
885          GENLIST_PART_RECT("bottom_line2", \
886             mouse_events: 0; \
887             description { state: "default" 0.0; \
888                visible: 0; \
889             } \
890             description { state: "selected" 0.0; \
891                visible: 0; \
892             } \
893             description { state: "disabled" 0.0; \
894                visible: 0; \
895             } \
896             description { state: "decorate" 0.0; \
897                visible: 0; \
898             } \
899          )
900
901 #define GENLIST_PART_DIVIDER_PADDING \
902          GENLIST_PART_SPACER("elm.padding.divider.top", \
903             description { state: "default" 0.0; \
904                align: 0.5 0; \
905                min: 0 30; \
906                max: -1 30; \
907                fixed: 0 1; \
908                rel2.relative: 1 0; \
909             } \
910          ) \
911          GENLIST_PART_SPACER("elm.padding.divider.bottom", \
912             description { state: "default" 0.0; \
913                align: 0.5 1; \
914                min: 0 30; \
915                max: -1 30; \
916                fixed: 0 1; \
917                rel1.relative: 0 1; \
918             } \
919          ) \
920
921 #define GENLIST_PART_DIVIDER_L(LEFT) \
922          GENLIST_PART_DIVIDER_PADDING \
923          GENLIST_PART_RECT("elm.divider1", \
924             mouse_events: 0; \
925             GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
926                align: 0 0.5; \
927                min: 1 0; \
928                max: 1 -1; \
929                fixed: 1 0; \
930                rel2.offset: 0 0; \
931                color: GENLIST_LIST_DIVIDER1_COLOR; \
932             ) \
933             GENLIST_DESCRIPTION_FADE \
934          ) \
935          GENLIST_PART_RECT("elm.divider2", \
936             mouse_events: 0; \
937             GENLIST_DESCRIPTION_LTB("elm.divider1", "elm.padding.divider.top", "elm.padding.divider.bottom", \
938                align: 0 0.5; \
939                min: 1 0; \
940                max: 1 -1; \
941                fixed: 1 0; \
942                rel2.offset: 0 0; \
943                color: GENLIST_LIST_DIVIDER2_COLOR; \
944             ) \
945             GENLIST_DESCRIPTION_FADE \
946          )
947
948 #define GENLIST_PART_DIVIDER_R(RIGHT) \
949          GENLIST_PART_DIVIDER_PADDING \
950          GENLIST_PART_RECT("elm.divider1", \
951             mouse_events: 0; \
952             GENLIST_DESCRIPTION_RTB("elm.divider2", "elm.padding.divider.top", "elm.padding.divider.bottom", \
953                min: 1 0; \
954                max: 1 -1; \
955                fixed: 1 0; \
956                rel1.offset: -1 0;\
957                color: GENLIST_LIST_DIVIDER1_COLOR; \
958             ) \
959             GENLIST_DESCRIPTION_FADE \
960          ) \
961          GENLIST_PART_RECT("elm.divider2", \
962             mouse_events: 0; \
963             GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.divider.top", "elm.padding.divider.bottom", \
964                min: 1 0; \
965                max: 1 -1; \
966                fixed: 1 0; \
967                rel1.offset: -1 0;\
968                color: GENLIST_LIST_DIVIDER2_COLOR; \
969             ) \
970             GENLIST_DESCRIPTION_FADE \
971          )
972
973 #define GENLIST_PART_CENTER_LINE_LT(LEFT, TOP) \
974          GENLIST_PART_SPACER("elm.padding.divider.left", \
975             GENLIST_DESCRIPTION_L(LEFT, \
976                min: 16 0; \
977                max: 16 -1; \
978                fixed: 1 0; \
979             ) \
980          ) \
981          GENLIST_PART_SPACER("elm.padding.divider.right", \
982             GENLIST_DESCRIPTION_ENVELOP("base", \
983                min: 16 0; \
984                max: 16 -1; \
985                fixed: 1 0; \
986                align: 1 0.5; \
987                rel1.relative: 1 0; \
988             ) \
989          ) \
990          GENLIST_PART_RECT("center_line", \
991             mouse_events: 0; \
992             GENLIST_DESCRIPTION_LRT("elm.padding.divider.left", "elm.padding.divider.right", TOP, \
993                min: 0 1; \
994                max: -1 1; \
995                fixed: 0 1; \
996                color: GENLIST_LIST_DIVIDER1_COLOR; \
997             ) \
998             GENLIST_DESCRIPTION_FADE \
999          ) \
1000          GENLIST_PART_RECT("center_line2", \
1001             GENLIST_DESCRIPTION_LRT("elm.padding.divider.left", "elm.padding.divider.right", "center_line", \
1002                min: 0 1; \
1003                max: -1 1; \
1004                fixed: 0 1; \
1005                color: GENLIST_LIST_DIVIDER2_COLOR; \
1006             ) \
1007             GENLIST_DESCRIPTION_FADE \
1008          )
1009
1010 #define GENLIST_PART_COLORBAR \
1011          GENLIST_PART_SPACER("elm.padding.colorbar.top", \
1012              GENLIST_DESCRIPTION_ENVELOP("base", \
1013                align: 0.5 0; \
1014                fixed: 0 1; \
1015                min: 0 4; \
1016                max: -1 4; \
1017                rel2.relative: 1 0; \
1018              ) \
1019          ) \
1020          GENLIST_PART_SPACER("elm.padding.colorbar.bottom", \
1021              GENLIST_DESCRIPTION_ENVELOP("base", \
1022                align: 0.5 1; \
1023                fixed: 0 1; \
1024                min: 0 4; \
1025                max: -1 4; \
1026                rel1.relative: 0 1; \
1027              ) \
1028          ) \
1029          GENLIST_PART_ICON("elm.swallow.colorbar", \
1030             GENLIST_DESCRIPTION_TB("elm.padding.colorbar.top", "elm.padding.colorbar.bottom", \
1031                min: GENLIST_ICON_COLORBAR_SIZE 0; \
1032                max: GENLIST_ICON_COLORBAR_SIZE -1; \
1033                fixed: 1 0; \
1034                align: 0 0.5; \
1035                rel1.relative: 0 1; \
1036                rel2.relative: 0 0; \
1037             ) \
1038             GENLIST_DESCRIPTION_FADE \
1039          )
1040
1041 //****************************************************************************//
1042 //********************************* PADDING **********************************//
1043 //****************************************************************************//
1044 #define GENLIST_PART_EXPANDED_PAD \
1045          part { name: "elm.swallow.pad"; \
1046             type: SWALLOW; \
1047             scale: 1; \
1048             mouse_events: 0; \
1049             description { state: "default" 0.0; \
1050                visible: 0; \
1051                min: 0 0; \
1052                fixed: 1 0; \
1053                align: 0.0 0.5; \
1054                rel1.to: "base"; \
1055                rel2.to: "base"; \
1056                rel2.relative: 0.0 1.0; \
1057             } \
1058          } \
1059
1060 #define GENLIST_PART_PADDING( NAME, SIZE, REL1, REL2 ) \
1061       GENLIST_PART_SPACER(NAME, \
1062          description { state: "default" 0.0; \
1063             min: SIZE 0; \
1064             max: SIZE -1; \
1065             fixed: 1 0; \
1066             align: 0.5 0.5; \
1067             rel1 { \
1068                relative: REL1; \
1069                to: "base"; \
1070             } \
1071             rel2 { \
1072                relative: REL2; \
1073                to: "base"; \
1074             } \
1075          } \
1076       )
1077
1078 #define GENLIST_DESCRIPTION_DECORATE_PADDING \
1079    description { state: "decorate" 0.0; \
1080       inherit: "default" 0.0; \
1081       min: 0 0; \
1082       max: 0 0; \
1083    }
1084
1085 #define GENLIST_DESCRIPTION_REORDER_PADDING \
1086    description { state: "reorder" 0.0; \
1087       inherit: "default" 0.0; \
1088       min: 32 0; \
1089       max: 32 -1; \
1090    }
1091
1092 #define GENLIST_PART_PADDING_LEFT \
1093          GENLIST_PART_EXPANDED_PAD \
1094          GENLIST_PART_SPACER("elm.padding.left", \
1095             GENLIST_DESCRIPTION_L("elm.swallow.pad",  \
1096                min: GENLIST_PADDING_SIZE_LEFT 0; \
1097                max: GENLIST_PADDING_SIZE_LEFT -1; \
1098                fixed: 1 0; \
1099             ) \
1100             GENLIST_DESCRIPTION_DECORATE_PADDING \
1101             GENLIST_DESCRIPTION_REORDER_PADDING \
1102          )
1103
1104 #define GENLIST_PART_PADDING_LEFT_SIZE( SIZE ) \
1105          GENLIST_PART_EXPANDED_PAD \
1106          GENLIST_PART_SPACER("elm.padding.left", \
1107             GENLIST_DESCRIPTION_L("elm.swallow.pad",  \
1108                min: SIZE 0; \
1109                max: SIZE -1; \
1110                fixed: 1 0; \
1111             ) \
1112             GENLIST_DESCRIPTION_DECORATE_PADDING \
1113             GENLIST_DESCRIPTION_REORDER_PADDING \
1114          )
1115
1116 #define GENLIST_PART_EDITBTN \
1117    GENLIST_PART_ICON("elm.icon.edit", \
1118       GENLIST_DESCRIPTION_R("elm.padding.edit.right", \
1119          fixed: 1 1; \
1120          visible: 0; \
1121          min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
1122          max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
1123       ) \
1124       description { state: "editmode" 0.0; \
1125          inherit: "default" 0.0; \
1126          visible: 1; \
1127       } \
1128    ) \
1129    GENLIST_PART_SPACER("elm.padding.edit.right", \
1130       description { state: "default" 0.0; \
1131          fixed: 1 0; \
1132          align: 1.0 0.5; \
1133          rel1.relative: 1 0; \
1134          min: GENLIST_PADDING_SIZE_RIGHT 0; \
1135          max: GENLIST_PADDING_SIZE_RIGHT -1; \
1136       } \
1137    )
1138
1139 #define GENLIST_PART_PADDING_RIGHT \
1140          GENLIST_PART_SPACER("elm.padding.right", \
1141             description { state: "default" 0.0; \
1142                min: GENLIST_PADDING_SIZE_RIGHT 0; \
1143                max: GENLIST_PADDING_SIZE_RIGHT -1; \
1144                fixed: 1 0; \
1145                align: 1.0 0.5; \
1146                rel1.to: "base"; \
1147                rel2.to: "base"; \
1148                rel1.relative: 1 0; \
1149             } \
1150             GENLIST_DESCRIPTION_DECORATE_PADDING \
1151             GENLIST_DESCRIPTION_REORDER_PADDING \
1152          )
1153
1154 #define GENLIST_PART_PADDING_RIGHT_SIZE( SIZE ) \
1155          GENLIST_PART_SPACER("elm.padding.right", \
1156             description { state: "default" 0.0; \
1157                min: SIZE 0; \
1158                max: SIZE -1; \
1159                fixed: 1 0; \
1160                align: 1.0 0.5; \
1161                rel1.to: "base"; \
1162                rel2.to: "base"; \
1163                rel1.relative: 1 0; \
1164             } \
1165             GENLIST_DESCRIPTION_DECORATE_PADDING \
1166             GENLIST_DESCRIPTION_REORDER_PADDING \
1167          )
1168
1169 #define GENLIST_PART_PADDING_RIGHT_EDIT \
1170          GENLIST_PART_SPACER("elm.padding.right.edit", \
1171             description { state: "default" 0.0; \
1172                min:0 0; \
1173                max: 0 -1; \
1174                fixed: 1 0; \
1175                align: 1.0 0.5; \
1176                rel1.relative: 1 0; \
1177             } \
1178             description { state: "editmode" 0.0; \
1179                inherit: "default" 0.0; \
1180                min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_MEDIUM_SIZE) 0; \
1181                max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_MEDIUM_SIZE) -1; \
1182             } \
1183          ) \
1184          GENLIST_PART_SPACER("elm.padding.right", \
1185             GENLIST_DESCRIPTION_R("elm.padding.right.edit", \
1186                min: DIALOGUE_PADDING_SIZE_RIGHT 0; \
1187                max: DIALOGUE_PADDING_SIZE_RIGHT -1; \
1188                fixed: 1 0; \
1189             ) \
1190             GENLIST_DESCRIPTION_DECORATE_PADDING \
1191             GENLIST_DESCRIPTION_REORDER_PADDING \
1192          ) \
1193          GENLIST_PART_EDITBTN
1194
1195 #define GENLIST_PART_PADDING_TOP \
1196          GENLIST_PART_SPACER("elm.padding.top", \
1197             description { \
1198                state: "default" 0.0; \
1199                min: 0 GENLIST_PADDING_SIZE_TOP; \
1200                max: -1 GENLIST_PADDING_SIZE_TOP; \
1201                fixed: 0 1; \
1202                rel1.to: "base"; \
1203                rel2.to: "base"; \
1204                rel2.relative: 1.0 0.0; \
1205                align: 0.5 0.0; \
1206             } \
1207          )
1208
1209 #define GENLIST_PART_PADDING_TOP_2LINE \
1210          GENLIST_PART_SPACER("elm.padding.top", \
1211             description { \
1212                state: "default" 0.0; \
1213                min: 0 GENLIST_PADDING_SIZE_TOP_2LINE; \
1214                max: -1 GENLIST_PADDING_SIZE_TOP_2LINE; \
1215                fixed: 0 1; \
1216                rel1.to: "base"; \
1217                rel2.to: "base"; \
1218                rel2.relative: 1.0 0.0; \
1219                align: 0.5 0.0; \
1220             } \
1221          )
1222
1223 #define GENLIST_PART_PADDING_TOP_SIZE( SIZE ) \
1224          GENLIST_PART_SPACER("elm.padding.top", \
1225             description { \
1226                state: "default" 0.0; \
1227                min: 0 SIZE; \
1228                max: -1 SIZE; \
1229                fixed: 0 1; \
1230                rel1.to: "base"; \
1231                rel2.to: "base"; \
1232                rel2.relative: 1.0 0.0; \
1233                align: 0.5 0.0; \
1234             } \
1235          )
1236
1237 #define GENLIST_PART_PADDING_BOTTOM \
1238          GENLIST_PART_SPACER("elm.padding.bottom", \
1239             description { state: "default" 0.0; \
1240                min: 0 GENLIST_PADDING_SIZE_BOTTOM; \
1241                max: -1 GENLIST_PADDING_SIZE_BOTTOM; \
1242                fixed: 0 1; \
1243                rel1.to: "base"; \
1244                rel2.to: "base"; \
1245                rel1.relative: 0.0 1.0; \
1246                align: 0.5 1.0; \
1247             } \
1248          )
1249
1250 #define GENLIST_PART_PADDING_BOTTOM_2LINE \
1251          GENLIST_PART_SPACER("elm.padding.bottom", \
1252             description { state: "default" 0.0; \
1253                min: 0 GENLIST_PADDING_SIZE_BOTTOM_2LINE; \
1254                max: -1 GENLIST_PADDING_SIZE_BOTTOM_2LINE; \
1255                fixed: 0 1; \
1256                rel1.to: "base"; \
1257                rel2.to: "base"; \
1258                rel1.relative: 0.0 1.0; \
1259                align: 0.5 1.0; \
1260             } \
1261          )
1262
1263 #define GENLIST_PART_PADDING_BOTTOM_SIZE( SIZE ) \
1264          GENLIST_PART_SPACER("elm.padding.bottom", \
1265             description { state: "default" 0.0; \
1266                min: 0 SIZE; \
1267                max: -1 SIZE; \
1268                fixed: 0 1; \
1269                rel1.to: "base"; \
1270                rel2.to: "base"; \
1271                rel1.relative: 0.0 1.0; \
1272                align: 0.5 1.0; \
1273             } \
1274          )
1275
1276 #define GENLIST_PART_PADDING_R( NAME, RIGHT ) \
1277          GENLIST_PART_SPACER(NAME, \
1278             description { state: "default" 0.0; \
1279                fixed: 1 0; \
1280                min: GENLIST_PADDING_SIZE_DEFAULT 0; \
1281                max: GENLIST_PADDING_SIZE_DEFAULT -1; \
1282                align: 1 0.5; \
1283                rel1 { \
1284                   relative: 0 0; \
1285                   to_x: RIGHT; \
1286                } \
1287                rel2 { \
1288                   relative: 0 1; \
1289                   to_x: RIGHT; \
1290                } \
1291             } \
1292          )
1293
1294 #define GENLIST_PART_PADDING_R_SIZE( NAME, RIGHT, SIZE ) \
1295          GENLIST_PART_SPACER(NAME, \
1296             description { state: "default" 0.0; \
1297                fixed: 1 0; \
1298                min: SIZE 0; \
1299                max: SIZE -1; \
1300                align: 1 0.5; \
1301                rel1 { \
1302                   relative: 0 0; \
1303                   to_x: RIGHT; \
1304                } \
1305                rel2 { \
1306                   relative: 0 1; \
1307                   to_x: RIGHT; \
1308                } \
1309             } \
1310          )
1311
1312 #define GENLIST_PART_PADDING_L( NAME, LEFT ) \
1313          GENLIST_PART_SPACER(NAME, \
1314             description { state: "default" 0.0; \
1315                fixed: 1 0; \
1316                min: GENLIST_PADDING_SIZE_DEFAULT 0; \
1317                max: GENLIST_PADDING_SIZE_DEFAULT -1; \
1318                align: 0 0.5; \
1319                rel1 { \
1320                   relative: 1 0; \
1321                   to_x: LEFT; \
1322                } \
1323                rel2 { \
1324                   relative: 1 1; \
1325                   to_x: LEFT; \
1326                } \
1327             } \
1328          )
1329
1330 #define GENLIST_PART_PADDING_L_SIZE( NAME, LEFT, SIZE ) \
1331          GENLIST_PART_SPACER(NAME, \
1332             description { state: "default" 0.0; \
1333                fixed: 1 0; \
1334                min: SIZE 0; \
1335                max: SIZE -1; \
1336                align: 0 0.5; \
1337                rel1 { \
1338                   relative: 1 0; \
1339                   to_x: LEFT; \
1340                } \
1341                rel2 { \
1342                   relative: 1 1; \
1343                   to_x: LEFT; \
1344                } \
1345             } \
1346          )
1347
1348
1349 #define GENLIST_PART_PADDING_T_SIZE( NAME, TOP, SIZE ) \
1350          GENLIST_PART_SPACER(NAME, \
1351             description { state: "default" 0.0; \
1352                min: 0 SIZE; \
1353                max: -1 SIZE; \
1354                fixed: 0 1; \
1355                align: 0.5 0; \
1356                rel1 { \
1357                   relative: 0 1; \
1358                   to: TOP; \
1359                } \
1360                rel2 { \
1361                   relative: 1 1; \
1362                   to: TOP; \
1363                } \
1364             } \
1365          )
1366
1367 #define GENLIST_PART_PADDING_B_SIZE( NAME, BOTTOM, SIZE ) \
1368          GENLIST_PART_SPACER(NAME, \
1369             description { state: "default" 0.0; \
1370                min: 0 SIZE; \
1371                max: -1 SIZE; \
1372                fixed: 0 1; \
1373                align: 0.5 1; \
1374                rel1 { \
1375                   relative: 0.5 0; \
1376                   to: BOTTOM; \
1377                } \
1378                rel2 { \
1379                   relative: 0.5 0; \
1380                   to: BOTTOM; \
1381                } \
1382             } \
1383          )
1384
1385 #define GENLIST_PART_PERSPECTIVE_POINT \
1386          GENLIST_PART_RECT("point", \
1387             description { \
1388                state: "default" 0.0; \
1389                color: 0 0 0 0; \
1390                rel1 { relative: 0.0 0.0; } \
1391                rel2 { relative: 1.0 0.0; } \
1392             } \
1393          )
1394
1395 #define GENLIST_DESCRIPTION_ROTATE( param_x, param_y, param_z ) \
1396    description { state: "map_contracted" 0.0; \
1397       inherit: "default" 0.0; \
1398       map { \
1399          perspective: "point"; \
1400          on: 1; \
1401          smooth: 1; \
1402          perspective_on: 1; \
1403          backface_cull: 1; \
1404          rotation { \
1405             center: "point"; \
1406             x: param_x; \
1407             y: param_y; \
1408             z: param_z; \
1409          } \
1410       } \
1411    } \
1412    description { state: "map_expanded" 0.0; \
1413       inherit: "default" 0.0; \
1414       map { \
1415          perspective: "point"; \
1416          on: 1; \
1417          smooth: 1; \
1418          perspective_on: 1; \
1419          backface_cull: 1; \
1420          rotation { \
1421             center: "point"; \
1422             x: 0; \
1423             y: 0; \
1424             z: 0; \
1425          } \
1426       } \
1427    } \
1428    description { \
1429       state: "hide" 0.0; \
1430       inherit: "default" 0.0; \
1431       visible: 0; \
1432    }
1433
1434 // Genlist expandable rotation
1435 #define GENLIST_PROGRAM_ROTATE( TARGET ) \
1436    program { name: "map_expand_start"; \
1437       signal: "flip_item"; \
1438       action: STATE_SET "map_contracted" 0.0; \
1439       target: "bg"; \
1440       TARGET \
1441       after: "map_expanding"; \
1442    } \
1443    program { name: "map_expanding"; \
1444       action: STATE_SET "hide" 0.0; \
1445       transition: LINEAR 0.2; \
1446       target: "bg"; \
1447       TARGET \
1448       after: "map_expand_end"; \
1449    } \
1450    program { name: "map_expand_end"; \
1451       action: STATE_SET "default" 0.0; \
1452       target: "bg"; \
1453       TARGET \
1454    } \
1455    program { name: "map_contract_start"; \
1456       signal: "elm,state,contract_flip"; \
1457       action: STATE_SET "map_expanded" 0.0; \
1458       target: "bg"; \
1459       TARGET \
1460       after: "map_contracting"; \
1461    } \
1462    program { name: "map_contracting"; \
1463       action: STATE_SET "map_contracted" 0.0; \
1464       transition: LINEAR 0.3; \
1465       target: "bg"; \
1466       TARGET \
1467       after: "map_contract_end"; \
1468    } \
1469    program { name: "map_contract_end"; \
1470       action: STATE_SET "hide" 0.0; \
1471       target: "bg"; \
1472       TARGET \
1473    }
1474
1475 // FIXME: swallow part cannot be fade out ???
1476 #define GENLIST_DESCRIPTION_FADE_ICON \
1477    description { state: "fadeout" 0.0; \
1478       inherit: "default" 0.0; \
1479       color: 0 0 0 10; \
1480       visible: 0; \
1481    } \
1482    description { state: "fadein" 0.0; \
1483       inherit: "default" 0.0; \
1484    } \
1485
1486 #define GENLIST_DESCRIPTION_FADE \
1487    description { state: "fadeout" 0.0; \
1488       inherit: "default" 0.0; \
1489       color: 255 255 255 10; \
1490    } \
1491    description { state: "fadein" 0.0; \
1492       inherit: "default" 0.0; \
1493    } \
1494
1495 #define GENLIST_PROGRAM_EXPAND_FADE( TARGET ) \
1496    program { name: "expand_start"; \
1497       signal: "flip_item"; \
1498       source: "elm"; \
1499       action: STATE_SET "fadeout" 0.0; \
1500       TARGET \
1501       after: "expand_end"; \
1502    } \
1503    program { name: "expand_end"; \
1504       transition: DECELERATE 0.3; \
1505       action: STATE_SET "default" 0.0; \
1506       TARGET \
1507    } \
1508    program { name: "contract_start"; \
1509       signal: "elm,state,contract_flip"; \
1510       source: "elm"; \
1511       action: STATE_SET "fadein" 0.0; \
1512       TARGET \
1513       after: "contract_end"; \
1514    } \
1515    program { name: "contract_end"; \
1516       transition: ACCELERATE 0.3; \
1517       action: STATE_SET "fadeout" 0.0; \
1518       TARGET \
1519    }
1520
1521 // FIXME: This do need now. I should find why this is used in genlist
1522 #if 0
1523          program { \
1524             name: "show"; \
1525             signal: "elm,state,show"; \
1526             action: STATE_SET "default" 0.0; \
1527             TARGET \
1528          } \
1529          program { \
1530             name: "hide"; \
1531             signal: "elm,state,hide"; \
1532             action: STATE_SET "hide" 0.0; \
1533             TARGET \
1534          }
1535 #endif
1536
1537 #define GENLIST_PROGRAM_EXPAND_ROOT( TARGET ) \
1538          program { \
1539             name: "go_expanded"; \
1540             signal: "elm,state,expanded"; \
1541             source: "elm"; \
1542             action: STATE_SET "expand_opened" 0.0; \
1543             TARGET \
1544          } \
1545          program { \
1546             name: "go_contracted"; \
1547             signal: "elm,state,contracted"; \
1548             source: "elm"; \
1549             action: STATE_SET "default" 0.0; \
1550             TARGET \
1551          } \
1552
1553 #define GENLIST_PROGRAM_EXPANDABLE( SRC ) \
1554         program { \
1555             name: "expand"; \
1556             signal: "mouse,up,1"; \
1557             SRC \
1558             action: SIGNAL_EMIT "elm,action,expand,toggle" "elm"; \
1559          } \
1560
1561 // 2.2.7 Genlist_Edit mode (Rename)
1562 // FIXME: padding is not needed when swallow content is NULL.
1563 // But how can edje know existence of swallow content?
1564 #define GENLIST_PART_FLIP \
1565          GENLIST_PART_RECT("elm.flip.bg", \
1566             mouse_events: 0; \
1567             repeat_events: 0;\
1568             description { state: "default" 0.0;\
1569                visible: 0; \
1570             } \
1571             description { state: "flip_enabled" 0.0; \
1572                inherit: "default" 0.0; \
1573                visible: 1; \
1574                color: GENLIST_LIST_BG_COLOR;\
1575             }\
1576          ) \
1577          GENLIST_PART_SPACER("elm.flip.padding.left",  \
1578             description { state: "default" 0.0; \
1579                min: 26 0; \
1580                max: 26 -1; \
1581                fixed: 1 0; \
1582                align: 0 0.5; \
1583                rel2.relative: 0 1; \
1584             } \
1585          ) \
1586          GENLIST_PART_SPACER("elm.flip.padding.right", \
1587             description { state: "default" 0.0; \
1588                min: 26 0; \
1589                max: 26 -1; \
1590                fixed: 1 0; \
1591                align: 1 0.5; \
1592                rel1.relative: 1 0; \
1593             } \
1594          ) \
1595          GENLIST_PART_ICON("elm.flip.content", \
1596             GENLIST_DESCRIPTION("elm.flip.padding.left", "elm.flip.padding.eraser.left",  \
1597                "elm.padding.top", "elm.padding.bottom", \
1598                visible: 0; \
1599                aspect: 1 1; \
1600             ) \
1601             description { state: "flip_enabled" 0.0; \
1602                inherit: "default" 0.0; \
1603                visible: 1; \
1604             } \
1605          ) \
1606          GENLIST_PART_PADDING_R("elm.flip.padding.eraser.left", "elm.flip.eraser") \
1607          GENLIST_PART_ICON("elm.flip.eraser", \
1608             GENLIST_DESCRIPTION_RTB("elm.flip.padding.icon.left",  \
1609                "elm.padding.top", "elm.padding.bottom", \
1610                fixed: 1 0; \
1611                visible: 0; \
1612                min: GENLIST_ICON_ENTRY_SIZE GENLIST_ICON_ENTRY_SIZE; \
1613                max: GENLIST_ICON_ENTRY_SIZE GENLIST_ICON_ENTRY_SIZE; \
1614             ) \
1615             description { state: "show" 0.0; \
1616                inherit: "default" 0.0; \
1617                visible: 1; \
1618             } \
1619          ) \
1620          GENLIST_PART_PADDING_R("elm.flip.padding.icon.left", "elm.flip.icon") \
1621          GENLIST_PART_ICON( "elm.flip.icon", \
1622             GENLIST_DESCRIPTION_RTB("elm.flip.padding.right", \
1623                "elm.padding.top", "elm.padding.bottom", \
1624                visible: 0; \
1625                aspect: 1 1; \
1626                align: 1 0.5; \
1627                max: 154 74; \
1628             ) \
1629             description { state: "flip_enabled" 0.0; \
1630                inherit: "default" 0.0; \
1631                visible: 1; \
1632             } \
1633          )
1634
1635 //****************************************************************************//
1636 // *******************************  Programs ********************************//
1637 //**************************************************************************//
1638 // signal: elm,state,%s,active
1639 //   a "check" item named %s went active
1640 // signal: elm,state,%s,passive
1641 //   a "check" item named %s went passive
1642 // default is passive
1643 #define GENLIST_PROGRAM_DEFAULT( TARGET ) \
1644          program { name: "default"; \
1645             signal: "elm,state,default"; \
1646             source: "elm"; \
1647             action: STATE_SET "default" 0.0; \
1648             TARGET \
1649          } \
1650
1651 #define GENLIST_PROGRAM_DISABLED( TARGET ) \
1652          program { name: "enabled"; \
1653             signal: "elm,state,enabled"; \
1654             source: "elm"; \
1655             action: STATE_SET "default" 0.0; \
1656             TARGET \
1657          } \
1658          program { name: "disabled"; \
1659             signal: "elm,state,disabled"; \
1660             source: "elm"; \
1661             action: STATE_SET "disabled" 0.0; \
1662             TARGET \
1663          }
1664
1665 #define GENLIST_PROGRAM_SELECT( TARGET ) \
1666          program { name: "selected"; \
1667             signal: "elm,state,selected"; \
1668             source: "elm"; \
1669             action: STATE_SET "selected" 0.0; \
1670             TARGET \
1671             after: "play_button_press"; \
1672          } \
1673          program { name: "selected,nosound"; \
1674             signal: "elm,state,selected"; \
1675             source: "elm,nosound"; \
1676             action: STATE_SET "selected" 0.0; \
1677             TARGET \
1678          } \
1679          program { name: "unselected"; \
1680             signal: "elm,state,unselected"; \
1681             source: "elm"; \
1682             action: STATE_SET "default" 0.0; \
1683             TARGET \
1684          } \
1685          program { name: "play_button_press"; \
1686             action: PLAY_SAMPLE "button-pressed" 1.0; \
1687          }
1688
1689 #define GENLIST_PROGRAM_SELECT_NOSOUND( TARGET ) \
1690          program { name: "selected"; \
1691             signal: "elm,state,selected"; \
1692             source: "elm"; \
1693             action: STATE_SET "selected" 0.0; \
1694             TARGET \
1695          } \
1696          program { name: "unselected"; \
1697             signal: "elm,state,unselected"; \
1698             source: "elm"; \
1699             transition: LINEAR 0.1; \
1700             action: STATE_SET "default" 0.0; \
1701             TARGET \
1702          }
1703
1704 #define GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
1705          program { name: "selected"; \
1706             signal: "elm,state,selected"; \
1707             source: "elm"; \
1708             script { \
1709                new st[31]; \
1710                new Float:vl; \
1711                get_state(PART:"bg_dialogue", st, 30, vl); \
1712                if (!strcmp(st, "top")) \
1713                   set_state(PART:"bg_dialogue", "top_selected", 0.0); \
1714                else if (!strcmp(st, "center")) \
1715                   set_state(PART:"bg_dialogue", "center_selected", 0.0); \
1716                else if (!strcmp(st, "bottom")) \
1717                   set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
1718                else if (!strcmp(st, "default")) \
1719                   set_state(PART:"bg_dialogue", "selected", 0.0); \
1720                run_program(PROGRAM:"target_selected"); \
1721             } \
1722             after: "play_button_press"; \
1723          } \
1724          program { name: "selected,nosound"; \
1725             signal: "elm,state,selected"; \
1726             source: "elm,nosound"; \
1727             script { \
1728                new st[31]; \
1729                new Float:vl; \
1730                get_state(PART:"bg_dialogue", st, 30, vl); \
1731                if (!strcmp(st, "top")) \
1732                   set_state(PART:"bg_dialogue", "top_selected", 0.0); \
1733                else if (!strcmp(st, "center")) \
1734                   set_state(PART:"bg_dialogue", "center_selected", 0.0); \
1735                else if (!strcmp(st, "bottom")) \
1736                   set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
1737                else if (!strcmp(st, "default")) \
1738                   set_state(PART:"bg_dialogue", "selected", 0.0); \
1739                run_program(PROGRAM:"target_selected"); \
1740             } \
1741          } \
1742          program { name: "unselected"; \
1743             signal: "elm,state,unselected"; \
1744             source: "elm"; \
1745             script { \
1746                new st[31]; \
1747                new Float:vl; \
1748                get_state(PART:"bg_dialogue", st, 30, vl); \
1749                if (!strcmp(st, "top_selected")) \
1750                   set_state(PART:"bg_dialogue", "top", 0.0); \
1751                else if (!strcmp(st, "center_selected"))  \
1752                   set_state(PART:"bg_dialogue", "center", 0.0); \
1753                else if (!strcmp(st, "bottom_selected"))  \
1754                   set_state(PART:"bg_dialogue", "bottom", 0.0); \
1755                else if (!strcmp(st, "selected")) \
1756                   set_state(PART:"bg_dialogue", "default", 0.0); \
1757                run_program(PROGRAM:"target_unselected"); \
1758             } \
1759          } \
1760          program { name: "target_selected"; \
1761             action: STATE_SET "selected" 0.0; \
1762             TARGET \
1763          }\
1764          program { name: "play_button_press"; \
1765             action: PLAY_SAMPLE "button-pressed" 1.0; \
1766          } \
1767          program { name: "target_unselected"; \
1768             action: STATE_SET "default" 0.0; \
1769             TARGET \
1770          }\
1771          program { name: "bg_default"; \
1772             signal: "elm,state,default"; \
1773             source: "*"; \
1774             action: STATE_SET "default" 0.0; \
1775             target: "bg_dialogue"; \
1776          } \
1777          program { name: "bg_top"; \
1778             signal: "elm,state,top"; \
1779             source: "*"; \
1780             action: STATE_SET "top" 0.0; \
1781             target: "bg_dialogue"; \
1782          } \
1783          program { name: "bg_center"; \
1784             signal: "elm,state,center"; \
1785             source: "*"; \
1786             action: STATE_SET "center" 0.0; \
1787             target: "bg_dialogue"; \
1788          } \
1789          program { name: "bg_bottom"; \
1790             signal: "elm,state,bottom"; \
1791             source: "*"; \
1792             action: STATE_SET "bottom" 0.0; \
1793             target: "bg_dialogue"; \
1794          }
1795
1796 #define GENLIST_PROGRAM_SELECT_ARROW \
1797          program { name: "selected_arrow"; \
1798             signal: "elm,state,selected"; \
1799             source: "elm"; \
1800             script { \
1801                new st[31]; \
1802                new Float:vl; \
1803                get_state(PART:"arrow", st, 30, vl); \
1804                if (!strcmp(st, "default")) { \
1805                   set_state(PART:"arrow", "default_press", 0.0); \
1806                   set_state(PART:"arrow_clip", "default_press", 0.0); \
1807                } \
1808                else if (!strcmp(st, "expand_opened")) { \
1809                   set_state(PART:"arrow", "expand_opened_press", 0.0); \
1810                   set_state(PART:"arrow_clip", "expand_opened_press", 0.0); \
1811                } \
1812             } \
1813          } \
1814          program { name: "unselected_arrow"; \
1815             signal: "elm,state,unselected"; \
1816             source: "elm"; \
1817             script { \
1818                new st[31]; \
1819                new Float:vl; \
1820                get_state(PART:"arrow", st, 30, vl); \
1821                if (!strcmp(st, "default_press")) { \
1822                   set_state(PART:"arrow", "default", 0.0); \
1823                   set_state(PART:"arrow_clip", "default", 0.0); \
1824                } \
1825                else if (!strcmp(st, "expand_opened_press")) { \
1826                   set_state(PART:"arrow", "expand_opened", 0.0); \
1827                   set_state(PART:"arrow_clip", "expand_opened", 0.0); \
1828                } \
1829             } \
1830          }
1831
1832 #define GENLIST_PROGRAM_DECORATE( TARGET ) \
1833          program { name: "decorate_enabled_effect"; \
1834             signal: "elm,state,decorate,enabled,effect";\
1835             source: "elm";\
1836             action:  STATE_SET "decorate" 0.0;\
1837             TARGET \
1838          }\
1839          program { name: "decorate_disabled_effect";\
1840             signal: "elm,state,decorate,disabled,effect";\
1841             source: "elm";\
1842             action: STATE_SET "default" 0.0; \
1843             TARGET \
1844          }\
1845          program { name: "decorate_enabled";\
1846             signal: "elm,state,decorate,enabled";\
1847             source: "elm";\
1848             action:  STATE_SET "decorate" 0.0;\
1849             TARGET \
1850          }\
1851          program { name: "decorate_disabled";\
1852             signal: "elm,state,decorate,disabled";\
1853             source: "elm";\
1854             action:  STATE_SET "default" 0.0;\
1855             TARGET \
1856          }
1857
1858 #define GENLIST_PROGRAM_REORDER( TARGET ) \
1859          program { name: "reorder_enabled"; \
1860             signal: "elm,state,reorder,mode_set"; \
1861             source: "elm"; \
1862             action: STATE_SET "reorder" 0.0; \
1863             TARGET \
1864          } \
1865          program { name: "reorder_disabled"; \
1866             signal: "elm,state,reorder,mode_unset"; \
1867             source: "elm"; \
1868             action: STATE_SET "default" 0.0; \
1869             TARGET \
1870          }
1871
1872 #define GENLIST_PROGRAM_FLIP \
1873          program { name: "flip_enabled"; \
1874             signal:  "elm,state,flip,enabled"; \
1875             source:  "elm"; \
1876             transition: DECELERATE 0.5; \
1877             action:  STATE_SET "flip_enabled" 0.0; \
1878             target: "elm.flip.content"; \
1879             target: "elm.flip.icon"; \
1880          } \
1881          program { name: "flip_disabled"; \
1882             signal:  "elm,state,flip,disabled"; \
1883             source:  "elm"; \
1884             transition: DECELERATE 0.5; \
1885             action:  STATE_SET "default" 0.0; \
1886             target: "elm.flip.content"; \
1887             target: "elm.flip.icon"; \
1888          } \
1889          program { name: "flip_enabled_bg"; \
1890             signal:  "elm,state,flip,enabled"; \
1891             source:  "elm"; \
1892             action:  STATE_SET "flip_enabled" 0.0; \
1893             target: "elm.flip.bg"; \
1894          } \
1895          program { name: "flip_disabled_bg"; \
1896             signal:  "elm,state,flip,disabled"; \
1897             source:  "elm"; \
1898             action:  STATE_SET "default" 0.0; \
1899             target: "elm.flip.bg"; \
1900          } \
1901          program { \
1902             signal: "elm,state,eraser,show"; \
1903             action: STATE_SET "show" 0.0; \
1904             target: "elm.flip.eraser"; \
1905          } \
1906          program { \
1907             signal: "elm,state,eraser,hide"; \
1908             action: STATE_SET "default" 0.0; \
1909             target: "elm.flip.eraser"; \
1910          }
1911
1912 #define GENLIST_PROGRAM_FLIP_TARGET( TARGET, BG ) \
1913          program { name: "flip_enabled"; \
1914             signal:  "elm,state,flip,enabled"; \
1915             source:  "elm"; \
1916             action:  STATE_SET "flip_enabled" 0.0; \
1917             transition: DECELERATE 0.5; \
1918             TARGET; \
1919          } \
1920          program { name: "flip_disabled"; \
1921             signal:  "elm,state,flip,disabled"; \
1922             source:  "elm"; \
1923             action:  STATE_SET "default" 0.0; \
1924             transition: DECELERATE 0.5; \
1925             TARGET \
1926          } \
1927          program { name: "flip_enabled_noeffect"; \
1928             signal:  "elm,state,flip,enabled"; \
1929             source:  "elm"; \
1930             action:  STATE_SET "flip_enabled" 0.0; \
1931             BG; \
1932          } \
1933          program { name: "flip_disabled_noeffect"; \
1934             signal:  "elm,state,flip,disabled"; \
1935             source:  "elm"; \
1936             action:  STATE_SET "default" 0.0; \
1937             BG; \
1938          }
1939
1940 #define GENLIST_PROGRAM_EDITMODE \
1941    program { name: "edit_enabled"; \
1942       signal:  "elm,state,edit,enabled"; \
1943       source:  "*"; \
1944       action:  STATE_SET "editmode" 0.0; \
1945       target: "elm.padding.right.edit"; \
1946       target: "elm.icon.edit"; \
1947       target: "bg_dialogue_right"; \
1948    } \
1949    program { name: "edit_disabled"; \
1950       signal:  "elm,state,edit,disabled"; \
1951       source:  "*"; \
1952       action:  STATE_SET "default" 0.0; \
1953       target: "elm.padding.right.edit"; \
1954       target: "elm.icon.edit"; \
1955       target: "bg_dialogue_right"; \
1956    }
1957
1958 #define GENLIST_PROGRAMS_NORMAL( TARGET ) \
1959    programs { \
1960       GENLIST_PROGRAM_DEFAULT( TARGET \
1961          target: "bg_clip"; \
1962          target: "bottom_line_clip"; \
1963          target: "bg"; \
1964          target: "bottom_line"; \
1965          target: "bottom_line2"; \
1966          target: "bg_reorder"; \
1967          target: "elm.padding.left"; \
1968          target: "elm.padding.right"; \
1969       ) \
1970       GENLIST_PROGRAM_DISABLED( TARGET \
1971          target: "bg"; \
1972          target: "bottom_line"; \
1973          target: "bottom_line2"; \
1974          target: "bg_reorder"; \
1975       ) \
1976       GENLIST_PROGRAM_SELECT( TARGET \
1977          target: "bg"; \
1978          target: "bottom_line"; \
1979          target: "bottom_line2"; \
1980          target: "bg_reorder"; \
1981       ) \
1982       GENLIST_PROGRAM_EXPAND_FADE( TARGET \
1983          target: "bg"; \
1984          target: "bottom_line"; \
1985          target: "bottom_line2"; \
1986          target: "bg_reorder"; \
1987       ) \
1988       GENLIST_PROGRAM_REORDER( \
1989          target: "bg_clip"; \
1990          target: "bottom_line_clip"; \
1991          target: "elm.padding.left"; \
1992          target: "elm.padding.right"; \
1993          target: "bg_reorder_clip"; \
1994       ) \
1995       GENLIST_PROGRAM_DECORATE( \
1996          target: "bg_clip"; \
1997          target: "bottom_line_clip"; \
1998          target: "elm.padding.left"; \
1999          target: "elm.padding.right"; \
2000       ) \
2001       GENLIST_PROGRAM_FLIP \
2002    }
2003
2004 // FIXME: inheritance !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
2005 // if GENLIST_PROGRAM_EXPAND is here, expanda effect is something wrong.
2006 // because after can be duplicated when program inheriting.
2007 #define GENLIST_PROGRAMS_DIALOGUE( TARGET ) \
2008    programs { \
2009       GENLIST_PROGRAM_DEFAULT( TARGET \
2010          target: "bg_dialogue_clip"; \
2011          target: "bg_dialogue"; \
2012          target: "elm.padding.left"; \
2013          target: "elm.padding.right"; \
2014       ) \
2015       GENLIST_PROGRAM_DISABLED( TARGET ) \
2016       GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
2017       program { name: "bg_color_change"; \
2018          signal: "bg_color_change"; \
2019          source: "elm"; \
2020          action: STATE_SET "2depth" 0.0; \
2021          target: "bg_dialogue_clip"; \
2022       } \
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_MULTILINE( TARGET ) \
2036          programs { \
2037             GENLIST_PROGRAM_DISABLED_DIALOGUE( TARGET ) \
2038             GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
2039             GENLIST_PROGRAM_FLIP \
2040          }
2041
2042 #define GENLIST_PROGRAMS_READ_TEXT( TARGET ) \
2043    programs { \
2044       GENLIST_PROGRAM_DEFAULT( TARGET \
2045          target: "bg_clip"; \
2046          target: "bottom_line_clip"; \
2047          target: "bg"; \
2048          target: "bottom_line"; \
2049          target: "bottom_line2"; \
2050          target: "bg_reorder"; \
2051          target: "elm.padding.left"; \
2052          target: "elm.padding.right"; \
2053       ) \
2054       GENLIST_PROGRAM_DISABLED( \
2055          target: "bg"; \
2056          target: "bottom_line"; \
2057          target: "bottom_line2"; \
2058          target: "bg_reorder"; \
2059          TARGET \
2060       ) \
2061       program { name: "selected"; \
2062          signal: "elm,state,selected"; \
2063          source: "elm"; \
2064          action: STATE_SET "selected" 0.0; \
2065          target: "bg"; \
2066          target: "bottom_line"; \
2067          target: "bottom_line2"; \
2068          target: "bg_reorder"; \
2069          TARGET \
2070          after: "play_button_press"; \
2071       } \
2072       program { name: "selected,nosound"; \
2073          signal: "elm,state,selected"; \
2074          source: "elm,nosound"; \
2075          action: STATE_SET "selected" 0.0; \
2076          target: "bg"; \
2077          target: "bottom_line"; \
2078          target: "bottom_line2"; \
2079          target: "bg_reorder"; \
2080          TARGET \
2081       } \
2082       program { name: "unselected"; \
2083          signal: "elm,state,unselected"; \
2084          source: "elm"; \
2085          action: STATE_SET "default" 0.0; \
2086          target: "bg"; \
2087          target: "bottom_line"; \
2088          target: "bottom_line2"; \
2089          target: "bg_reorder"; \
2090       } \
2091       program { name: "unselected_target"; \
2092          action: STATE_SET "default" 0.0; \
2093          TARGET \
2094       } \
2095       program { name: "unselected_read"; \
2096          signal: "elm,state,unselected"; \
2097          source: "elm"; \
2098          script { \
2099             if (get_int(readed) == 1) \
2100                run_program(PROGRAM:"go_read_target"); \
2101             else \
2102                run_program(PROGRAM:"unselected_target"); \
2103          } \
2104       } \
2105       program { name: "play_button_press"; \
2106          action: PLAY_SAMPLE "button-pressed" 1.0; \
2107       } \
2108       GENLIST_PROGRAM_EXPAND_FADE( \
2109          target: "bg"; \
2110          target: "bottom_line"; \
2111          target: "bottom_line2"; \
2112          target: "bg_reorder"; \
2113          TARGET \
2114       ) \
2115       GENLIST_PROGRAM_REORDER( \
2116          target: "bg_clip"; \
2117          target: "bottom_line_clip"; \
2118          target: "elm.padding.left"; \
2119          target: "elm.padding.right"; \
2120          target: "bg_reorder_clip"; \
2121       ) \
2122       GENLIST_PROGRAM_DECORATE( \
2123          target: "bg_clip"; \
2124          target: "bottom_line_clip"; \
2125          target: "elm.padding.left"; \
2126          target: "elm.padding.right"; \
2127       ) \
2128       program { name: "go_read"; \
2129          signal: "elm,state,read"; \
2130          source: "*"; \
2131          script { \
2132            set_int(readed, 1); \
2133            run_program(PROGRAM:"go_read_target"); \
2134          } \
2135       } \
2136       program { name: "go_read_target"; \
2137          action: STATE_SET "read" 0.0; \
2138          TARGET \
2139       } \
2140       program { name: "go_unread"; \
2141          signal: "elm,state,unread"; \
2142          source: "*"; \
2143          script { \
2144            set_int(readed, 0); \
2145            run_program(PROGRAM:"go_unread_target"); \
2146          } \
2147       } \
2148       program { name: "go_unread_target"; \
2149          action: STATE_SET "unread" 0.0; \
2150          TARGET \
2151       } \
2152    }
2153
2154 #define GENLIST_PROGRAMS_DECORATE_EFFECT( TARGET ) \
2155    program { name: "decorate_enabled_effect"; \
2156       signal: "elm,state,decorate,enabled,effect";\
2157       source: "elm";\
2158       transition: DECELERATE 0.5;\
2159       action:  STATE_SET "decorate" 0.0;\
2160       TARGET \
2161    }\
2162    program { name: "decorate_disabled_effect";\
2163       signal: "elm,state,decorate,disabled,effect";\
2164       source: "elm";\
2165       transition: ACCELERATE 0.5;\
2166       action:  STATE_SET "default" 0.0;\
2167       TARGET \
2168    } \
2169    program { name: "decorate_enabled";\
2170       signal: "elm,state,decorate,enabled";\
2171       source: "elm";\
2172       action:  STATE_SET "decorate" 0.0;\
2173       TARGET \
2174    }\
2175    program { name: "decorate_disabled";\
2176       signal: "elm,state,decorate,disabled";\
2177       source: "elm";\
2178       action:  STATE_SET "default" 0.0;\
2179       TARGET \
2180    }
2181
2182 #define GENLIST_PROGRAMS_ENTRY \
2183    program { \
2184       signal: "elm,state,eraser,show"; \
2185       action: STATE_SET "show" 0.0; \
2186       target: "elm.icon.eraser"; \
2187    } \
2188    program { \
2189       signal: "elm,state,eraser,hide"; \
2190       action: STATE_SET "default" 0.0; \
2191       target: "elm.icon.eraser"; \
2192    } \
2193     program { \
2194       signal: "elm,state,rename,show"; \
2195       action: STATE_SET "default" 0.0; \
2196       target: "elm.icon.rename"; \
2197    } \
2198    program { \
2199       signal: "elm,state,rename,hide"; \
2200       action: STATE_SET "hide" 0.0; \
2201       target: "elm.icon.rename"; \
2202    }
2203
2204 //****************************************************************************//
2205 // *******************************  Icon Part ******************************//
2206 //***************************************************************************//
2207 #define GENLIST_PART_ICON(NAME, DESCRIPION) \
2208    part { name: NAME; \
2209       scale: 1; \
2210       type: SWALLOW; \
2211       DESCRIPION \
2212       GENLIST_DESCRIPTION_FADE_ICON \
2213    }
2214
2215 #define GENLIST_PARAM_ICON_BIG \
2216          min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
2217          max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE;
2218
2219 #define GENLIST_PARAM_ICON_SMALL \
2220          min: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE; \
2221          max: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE;
2222
2223 #define GENLIST_PARAM_ICON_BTN_01 \
2224          min: 0 GENLIST_BTN_01_HEIGHT; \
2225          max: -1 GENLIST_BTN_01_HEIGHT;
2226
2227 #define GENLIST_PARAM_ICON_BTN_02 \
2228          min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
2229          max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE;
2230
2231 #define GENLIST_PARAM_ICON_ONOFF_WIDTH \
2232          min: GENLIST_ICON_ONOFF_WIDTH GENLIST_ICON_ONOFF_HEIGHT; \
2233          max: GENLIST_ICON_ONOFF_WIDTH GENLIST_ICON_ONOFF_HEIGHT;
2234
2235 #define GENLIST_PARAM_ICON_THUMBNAIL1\
2236          min: GENLIST_ICON_LARGE_SIZE GENLIST_ICON_LARGE_SIZE; \
2237          max: GENLIST_ICON_LARGE_SIZE GENLIST_ICON_LARGE_SIZE;
2238
2239 #define GENLIST_PARAM_ICON_CHECK_RADIO \
2240          min: GENLIST_ICON_CHECK_RADIO_SIZE GENLIST_ICON_CHECK_RADIO_SIZE; \
2241          max: GENLIST_ICON_CHECK_RADIO_SIZE GENLIST_ICON_CHECK_RADIO_SIZE;
2242
2243 #define GENLIST_PARAM_ICON_STAR \
2244          min: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \
2245          max: GENLIST_ICON_STAR_SIZE GENLIST_ICON_STAR_SIZE; \
2246
2247 #define GENLIST_PART_ICON_BIG_R(NAME, RIGHT) \
2248    GENLIST_PART_ICON(NAME, \
2249       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2250          fixed: 1 1; \
2251          GENLIST_PARAM_ICON_BIG \
2252       ) \
2253    )
2254
2255 #define GENLIST_PART_ICON_BIG_L(NAME, LEFT) \
2256    GENLIST_PART_ICON(NAME, \
2257       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2258          GENLIST_PARAM_ICON_BIG \
2259          fixed: 1 1; \
2260       ) \
2261    )
2262
2263 #define GENLIST_PART_ICON_SMALL_L(NAME, LEFT) \
2264    GENLIST_PART_ICON(NAME, \
2265       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2266          GENLIST_PARAM_ICON_SMALL \
2267          fixed: 1 1; \
2268       ) \
2269    )
2270
2271 #define GENLIST_PART_ICON_SMALL_LB(NAME, LEFT, BOTTOM) \
2272    GENLIST_PART_ICON(NAME, \
2273       GENLIST_DESCRIPTION_LB(LEFT, BOTTOM, \
2274         GENLIST_PARAM_ICON_SMALL \
2275         fixed: 1 1; \
2276       ) \
2277    )
2278
2279 #define GENLIST_PART_ICON_SMALL_LTB(NAME, LEFT, TOP, BOTTOM) \
2280    GENLIST_PART_ICON(NAME, \
2281       GENLIST_DESCRIPTION_LTB(LEFT, TOP, BOTTOM, \
2282          GENLIST_PARAM_ICON_SMALL \
2283          fixed: 1 1; \
2284       ) \
2285    )
2286
2287 #define GENLIST_PART_ICON_SMALL_RTB(NAME, RIGHT, TOP, BOTTOM) \
2288    GENLIST_PART_ICON(NAME, \
2289       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
2290          GENLIST_PARAM_ICON_SMALL \
2291          fixed: 1 1; \
2292       ) \
2293    )
2294
2295 #define GENLIST_PART_ICON_BTN_01_RTB(NAME, RIGHT, TOP, BOTTOM) \
2296    GENLIST_PART_ICON(NAME, \
2297       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\
2298          GENLIST_PARAM_ICON_BTN_01 \
2299          fixed: 1 1; \
2300       ) \
2301    )
2302
2303 #define GENLIST_PART_ICON_BTN_02_RTB(NAME, RIGHT, TOP, BOTTOM) \
2304    GENLIST_PART_ICON(NAME, \
2305       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM,\
2306          GENLIST_PARAM_ICON_BTN_02 \
2307          fixed: 1 1; \
2308       ) \
2309    )
2310
2311 #define GENLIST_PART_ICON_BTN_ONOFF_R(NAME, RIGHT) \
2312    GENLIST_PART_ICON(NAME, \
2313       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2314          GENLIST_PARAM_ICON_ONOFF_WIDTH \
2315          fixed: 1 1; \
2316       ) \
2317    )
2318
2319 #define GENLIST_PART_ICON_BTN_ONOFF_L(NAME, LEFT) \
2320    GENLIST_PART_ICON(NAME, \
2321       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2322          GENLIST_PARAM_ICON_ONOFF_WIDTH \
2323          fixed: 1 1; \
2324       ) \
2325    )
2326
2327 #define GENLIST_PART_ICON_THUMBNAIL1_R(NAME, RIGHT) \
2328    GENLIST_PART_ICON(NAME, \
2329       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2330          GENLIST_PARAM_ICON_THUMBNAIL1 \
2331          fixed: 1 1; \
2332       ) \
2333    )
2334
2335 #define GENLIST_PART_ICON_CHECK_RADIO_L(NAME, LEFT) \
2336    GENLIST_PART_ICON(NAME, \
2337       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2338          GENLIST_PARAM_ICON_CHECK_RADIO \
2339          fixed: 1 1; \
2340       ) \
2341    )
2342
2343 #define GENLIST_PART_ICON_STAR_RTB(NAME, RIGHT, TOP, BOTTOM) \
2344    GENLIST_PART_ICON(NAME, \
2345       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
2346          GENLIST_PARAM_ICON_STAR \
2347          fixed: 1 1; \
2348       ) \
2349    )
2350
2351 /*****************************************************************************/
2352 /******************************* Genlist IMAGE ********************************/
2353 /*****************************************************************************/
2354 #define GENLIST_PART_IMAGE(NAME, DESCRIPION) \
2355    part { name: NAME; \
2356       scale: 1; \
2357       type: IMAGE; \
2358       DESCRIPION \
2359       GENLIST_DESCRIPTION_FADE \
2360    }
2361
2362 #define GENLIST_PARAM_PASSWORD_IMAGE \
2363             min: GENLIST_ICON_PASSWORD_SIZE GENLIST_ICON_PASSWORD_SIZE; \
2364             max: GENLIST_ICON_PASSWORD_SIZE GENLIST_ICON_PASSWORD_SIZE; \
2365             image.normal: "00_search_edit_field_bg_02.png"; \
2366             image.border: 12 13 12 13; \
2367             image.border_scale: 1;
2368
2369 /*****************************************************************************/
2370 /******************************* Genlist Bubble ********************************/
2371 /*****************************************************************************/
2372 #define GENLIST_IMAGES_EXPANDABLE_BTN \
2373          images { \
2374             image: "00_button_expand_closed.png" COMP; \
2375             image: "00_button_expand_opened.png" COMP; \
2376          }
2377
2378 #define GENLIST_PART_EXPANDABLE_ARROW \
2379          GENLIST_PART_ICON("touch_arrow", \
2380             ignore_flags: ON_HOLD; \
2381             GENLIST_DESCRIPTION_ENVELOP("arrow", ) \
2382             GENLIST_DESCRIPTION_FADE \
2383          ) \
2384          GENLIST_PART_RECT("arrow_clip", \
2385             GENLIST_DESCRIPTION_ENVELOP("arrow", \
2386                color: 101 101 101 255; \
2387             ) \
2388             description { state: "disabled" 0.0; \
2389                color: 101 101 101 76; \
2390             } \
2391             description { state: "expand_opened_press" 0.0; \
2392                color: 248 246 239 255; \
2393             } \
2394             description { state: "default_press" 0.0; \
2395                color: 248 246 239 255; \
2396             } \
2397          ) \
2398          GENLIST_PART_IMAGE("arrow", \
2399             clip_to: "arrow_clip"; \
2400             ignore_flags: ON_HOLD; \
2401             mouse_events: 0; \
2402             GENLIST_DESCRIPTION_R("elm.padding.right", \
2403                fixed: 1 1; \
2404                min: 72 72; \
2405                max: 72 72; \
2406                image.normal: "00_button_expand_closed.png"; \
2407             ) \
2408             description { state: "default_press" 0.0; \
2409                inherit: "default" 0.0; \
2410                image.normal: "00_button_expand_closed_press.png"; \
2411             } \
2412             description { state: "expand_opened" 0.0; \
2413                inherit: "default" 0.0; \
2414                image.normal: "00_button_expand_opened.png"; \
2415             } \
2416             description { state: "expand_opened_press" 0.0; \
2417                inherit: "expand_opened" 0.0; \
2418                image.normal: "00_button_expand_opened_press.png"; \
2419             } \
2420             GENLIST_DESCRIPTION_FADE \
2421          )
2422 /*****************************************************************************/
2423 /******************************* Genlist RECT ********************************/
2424 /*****************************************************************************/
2425 #define GENLIST_PART_SPACER(NAME, DESCRIPION) \
2426     part { name: NAME; \
2427       scale: 1; \
2428       mouse_events: 0; \
2429       type: SPACER; \
2430       DESCRIPION \
2431    }
2432
2433 #define GENLIST_PART_RECT(NAME, DESCRIPION) \
2434     part { name: NAME; \
2435       scale: 1; \
2436       type: RECT; \
2437       DESCRIPION \
2438       GENLIST_DESCRIPTION_FADE \
2439    }
2440
2441 /*****************************************************************************/
2442 /******************************* Genlist TEXT ********************************/
2443 /*****************************************************************************/
2444 #define GENLIST_PART_TEXT(NAME, DESCRIPION) \
2445     part { name: NAME; \
2446       scale: 1; \
2447       mouse_events: 0; \
2448       type: TEXT; \
2449       DESCRIPION \
2450       GENLIST_DESCRIPTION_FADE \
2451    }
2452
2453 #define GENLIST_PART_TEXTBLOCK(NAME, DESCRIPION) \
2454     part { name: NAME; \
2455       scale: 1; \
2456       mouse_events: 0; \
2457       type: TEXTBLOCK; \
2458       DESCRIPION \
2459       GENLIST_DESCRIPTION_FADE \
2460    }
2461
2462 /*************************** parameters **********************************/
2463 #define GENLIST_PARAM_TEXT_LIMIT_RB \
2464    rel1.to_x: "base"; /* This limits text growing. */\
2465    rel1.relative: 0.35 0; /* This limits text growing. */\
2466    text.max: 1 0; /* This limits text growing. */
2467
2468 #define GENLIST_PARAM_TEXT_LIMIT_RT \
2469    rel1.to_x: "base"; /* This limits text growing. */\
2470    rel1.relative: 0.35 1; /* This limits text growing. */\
2471    text.max: 1 0; /* This limits text growing. */
2472
2473 #define GENLIST_PARAM_TEXT_LIMIT_RTB \
2474    rel1.to_x: "base"; /* This limits text growing. */\
2475    rel1.relative: 0.35 1; /* This limits text growing. */\
2476    text.max: 1 0; /* This limits text growing. */
2477
2478 // Group Title
2479 #define GENLIST_PARAM_DIALOGUE_GROUP_TITLE \
2480    color: GENLIST_DIALOGUE_GROUP_TITLE_COLOR; \
2481    text { \
2482       align: 0.0 0.5; \
2483       font: "Tizen:style=Bold"; \
2484       min: 0 1; \
2485       size: GENLIST_DIALOGUE_GROUP_TITLE_SIZE; \
2486       text_class: "list_item"; \
2487    }
2488
2489 // Password style
2490 #define GENLIST_PARAM_PASSWORD_TITLE \
2491    color: DIALOGUE_PASSWORD_TITLE_COLOR; \
2492    text { \
2493       font: "Tizen:style=Bold"; \
2494       size: DIALOGUE_PASSWORD_TITLE_SIZE; \
2495       min: 0 1; \
2496       align: 0 0.5; \
2497       text_class: "list_item"; \
2498    }
2499
2500 // Progress main text
2501 #define GENLIST_PARAM_PROGRESS_MAIN \
2502    color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; \
2503    text { \
2504       align: 0 0.5; \
2505       min: 0 1; \
2506       font: "Tizen:style=Regular"; \
2507       size: GENLIST_PROGRESS_MAIN_TEXT_SIZE; \
2508       text_class: "list_item"; \
2509    }
2510
2511 // list main text
2512 #define GENLIST_PARAM_LISTITEM \
2513    color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR; \
2514    text { \
2515       align: 0 0.5; \
2516       min: 0 1; \
2517       font: "Tizen:style=Regular"; \
2518       size: GENLIST_LIST_MAIN_TEXT_SIZE; \
2519       text_class: "list_item"; \
2520    }
2521
2522 #define GENLIST_PARAM_LISTITEM_TB \
2523    text { \
2524       min: 0 1; \
2525       style: "genlist_style_list_main_text_unread"; \
2526    }
2527
2528 #define GENLIST_PARAM_LISTITEM_TB_WRAP \
2529    text { \
2530       min: 0 1; \
2531       style: "genlist_style_list_main_text_unread_wrap"; \
2532    }
2533
2534 // list subtext
2535 #define GENLIST_PARAM_SUBITEM_DEFAULT \
2536    color: GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR; \
2537    text { \
2538       align: 0 0.5; \
2539       min: 0 1; \
2540       font: "Tizen:style=Medium"; \
2541       size: GENLIST_LIST_SUB_TEXT_SIZE; \
2542       text_class: "tizen"; \
2543    }
2544
2545 #define GENLIST_PARAM_SUBITEM_SETTINGS \
2546    color: GENLIST_LIST_SUB_TEXT_SETTINGS_COLOR; \
2547    text { \
2548       align: 0 0.5; \
2549       min: 0 1; \
2550       font: "Tizen:style=Medium"; \
2551       size: GENLIST_LIST_SUB_TEXT_SIZE; \
2552       text_class: "tizen"; \
2553    }
2554
2555 #define GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2556    text { \
2557       min: 0 1; \
2558       style: "genlist_style_list_sub_text_default"; \
2559    }
2560
2561 #define GENLIST_PARAM_SUBITEM_DEFAULT_TB_WRAP \
2562    text { \
2563       min: 0 1; \
2564       style: "genlist_style_list_sub_text_default_wrap"; \
2565    }
2566
2567 #define GENLIST_PARAM_SUBITEM_SETTINGS_TB \
2568    text { \
2569       min: 0 1; \
2570       style: "genlist_style_list_sub_text_settings"; \
2571    }
2572
2573 #define GENLIST_PARAM_APPS_NAME\
2574    color: GENLIST_APPS_NAME_COLOR; \
2575    text { \
2576       align: 0 0.5; \
2577       min: 0 1; \
2578       font: "Tizen:style=Bold"; \
2579       size: GENLIST_APPS_NAME_SIZE; \
2580       text_class: "list_item"; \
2581    }
2582
2583 #define GENLIST_PARAM_APPS_INC\
2584    color: GENLIST_APPS_INC_COLOR; \
2585    text { \
2586       align: 0 0.5; \
2587       min: 0 1; \
2588       font: "Tizen:style=Bold"; \
2589       size: GENLIST_APPS_INC_SIZE; \
2590       text_class: "list_item"; \
2591    }
2592
2593 #define GENLIST_PARAM_APPS_RATING\
2594    color: GENLIST_APPS_RATING_COLOR; \
2595    text { \
2596       align: 0 0.5; \
2597       min: 0 1; \
2598       font: "Tizen:style=Bold"; \
2599       size: GENLIST_APPS_RATING_SIZE; \
2600       text_class: "list_item"; \
2601    }
2602
2603 #define GENLIST_PARAM_APPS_PRICE\
2604    color: GENLIST_APPS_PRICE_ORIGINAL_COLOR; \
2605    text { \
2606       align: 0 0.5; \
2607       min: 0 1; \
2608       font: "Tizen:style=Bold"; \
2609       size: GENLIST_APPS_PRICE_SIZE; \
2610       text_class: "list_item"; \
2611    }
2612
2613 #define GENLIST_PARAM_APPS_PRICE_SALE\
2614    color: GENLIST_APPS_PRICE_SALE_COLOR; \
2615    text { \
2616       align: 0 0.5; \
2617       min: 0 1; \
2618       font: "Tizen:style=Bold"; \
2619       size: GENLIST_APPS_PRICE_SIZE; \
2620       text_class: "list_item"; \
2621    }
2622
2623 #define GENLIST_PARAM_CONTENTS_TEXT \
2624    color: GENLIST_CONTENTS_TEXT_COLOR; \
2625    text { \
2626       align: 0 0.5; \
2627       min: 0 1; \
2628       font: "Tizen:style=Regular"; \
2629       size: GENLIST_CONTENTS_TEXT_SIZE; \
2630       text_class: "tizen"; \
2631    }
2632
2633 /*************************** Descriptions **********************************/
2634 // list main text
2635 #define GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2636    description { state: "disabled" 0.0; \
2637       inherit: "default" 0.0; \
2638       color: GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR; \
2639    } \
2640    description { state: "read" 0.0; \
2641       inherit: "default" 0.0; \
2642       color: GENLIST_LIST_MAIN_TEXT_READ_COLOR; \
2643    } \
2644    description { state: "read,disabled" 0.0; \
2645       inherit: "default" 0.0; \
2646       color: GENLIST_LIST_MAIN_TEXT_READ_DIM_COLOR; \
2647    } \
2648    description { state: "selected" 0.0; \
2649       inherit: "default" 0.0; \
2650       color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
2651    }
2652
2653 #define GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2654    description { state: "disabled" 0.0; \
2655       inherit: "default" 0.0; \
2656       text.style: "genlist_style_list_main_text_unread_dim"; \
2657    } \
2658    description { state: "read" 0.0; \
2659       inherit: "default" 0.0; \
2660       text.style: "genlist_style_list_main_text_read"; \
2661    } \
2662    description { state: "read,disabled" 0.0; \
2663       inherit: "default" 0.0; \
2664       text.style: "genlist_style_list_main_text_read_dim"; \
2665    } \
2666    description { state: "selected" 0.0; \
2667       inherit: "default" 0.0; \
2668       text.style: "genlist_style_list_main_text_focus"; \
2669    }
2670
2671 // list sub text
2672 #define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2673    description { state: "disabled" 0.0; \
2674       inherit: "default" 0.0; \
2675       color: GENLIST_LIST_SUB_TEXT_DEFAULT_DIM_COLOR; \
2676    } \
2677    description { state: "selected" 0.0; \
2678       inherit: "default" 0.0; \
2679       color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
2680    }
2681
2682 #define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2683    description { state: "disabled" 0.0; \
2684       inherit: "default" 0.0; \
2685       text.style: "genlist_style_list_sub_text_default_dim"; \
2686    } \
2687    description { state: "selected" 0.0; \
2688       inherit: "default" 0.0; \
2689       text.style: "genlist_style_list_sub_text_focus"; \
2690    }
2691
2692 #define GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB_WRAP \
2693    description { state: "disabled" 0.0; \
2694       inherit: "default" 0.0; \
2695       text.style: "genlist_style_list_sub_text_default_dim_wrap"; \
2696    } \
2697    description { state: "selected" 0.0; \
2698       inherit: "default" 0.0; \
2699       text.style: "genlist_style_list_sub_text_focus_wrap"; \
2700    }
2701
2702 #define GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
2703    description { state: "disabled" 0.0; \
2704       inherit: "default" 0.0; \
2705       color: GENLIST_LIST_SUB_TEXT_SETTINGS_DIM_COLOR; \
2706    } \
2707    description { state: "selected" 0.0; \
2708       inherit: "default" 0.0; \
2709       color: GENLIST_LIST_TEXT_FOCUS_COLOR; \
2710    }
2711
2712 #define GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS_TB \
2713    description { state: "disabled" 0.0; \
2714       inherit: "default" 0.0; \
2715       text.style: "genlist_style_list_sub_text_settings_dim"; \
2716    } \
2717    description { state: "selected" 0.0; \
2718       inherit: "default" 0.0; \
2719       text.style: "genlist_style_list_sub_text_focus"; \
2720    }
2721
2722 // list main text multiline
2723 #define GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB_WRAP \
2724    description { state: "disabled" 0.0; \
2725       inherit: "default" 0.0; \
2726       text.style: "genlist_style_list_main_text_unread_dim_wrap"; \
2727    } \
2728    description { state: "selected" 0.0; \
2729       inherit: "default" 0.0; \
2730       text.style: "genlist_style_list_main_text_focus_wrap"; \
2731    }
2732
2733 /*************************** Parts **********************************/
2734 #define GENLIST_PART_DIALOGUE_GROUP_HELP_TEXT(NAME, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
2735    GENLIST_PART_TEXTBLOCK(NAME, \
2736       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2737          text { \
2738             min: 0 1; \
2739             style: "genlist_style_dialogue_group_help_text"; \
2740          } \
2741          PARAM) \
2742    )
2743
2744 #define GENLIST_PART_LISTITEM(NAME, DESCRIPTION) \
2745    GENLIST_PART_TEXT(NAME, \
2746       DESCRIPTION \
2747       GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2748    )
2749
2750 #define GENLIST_PART_LISTITEM_TB(NAME, DESCRIPTION) \
2751    GENLIST_PART_TEXTBLOCK(NAME, \
2752       DESCRIPTION \
2753       GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2754    )
2755
2756 #define GENLIST_PART_LISTITEM_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
2757    GENLIST_PART_TEXT(NAME, \
2758       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2759          min: 0 HEIGHT; \
2760          GENLIST_PARAM_LISTITEM \
2761          PARAM \
2762       ) \
2763       GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2764    )
2765
2766 #define GENLIST_PART_LISTITEM_TB_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
2767    GENLIST_PART_TEXTBLOCK(NAME, \
2768       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2769          min: 0 HEIGHT; \
2770          fixed: 1 0; \
2771          GENLIST_PARAM_LISTITEM_TB \
2772          PARAM \
2773       ) \
2774       GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2775    )
2776
2777 #define GENLIST_PART_LISTITEM_LR(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
2778    GENLIST_PART_TEXT(NAME, \
2779       GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
2780          min: 0 HEIGHT; \
2781          GENLIST_PARAM_LISTITEM \
2782          PARAM \
2783       ) \
2784       GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2785    )
2786
2787 #define GENLIST_PART_LISTITEM_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP, PARAM) \
2788    GENLIST_PART_TEXT(NAME, \
2789       GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
2790          min: 0 HEIGHT; \
2791          fixed: 0 1; \
2792          GENLIST_PARAM_LISTITEM \
2793          PARAM \
2794       ) \
2795       GENLIST_DESCRIPTION_LISTITEM_OTHERS \
2796    )
2797
2798 #define GENLIST_PART_LISTITEM_LRT_TB(NAME, HEIGHT, LEFT, RIGHT, TOP, PARAM) \
2799    GENLIST_PART_TEXTBLOCK(NAME, \
2800       GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
2801          min: 0 HEIGHT; \
2802          fixed: 0 1; \
2803          GENLIST_PARAM_LISTITEM_TB \
2804          PARAM \
2805       ) \
2806       GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2807    )
2808
2809 #define GENLIST_PART_LISTITEM_LR_TB(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
2810    GENLIST_PART_TEXTBLOCK(NAME, \
2811       GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
2812          min: 0 HEIGHT; \
2813          fixed: 1 0; \
2814          GENLIST_PARAM_LISTITEM_TB \
2815          PARAM \
2816       ) \
2817       GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
2818    )
2819
2820 #define GENLIST_PART_SUBITEM_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
2821    GENLIST_PART_TEXT(NAME, \
2822       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2823          min: 0 HEIGHT; \
2824          GENLIST_PARAM_SUBITEM_DEFAULT \
2825          PARAM \
2826       ) \
2827       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2828    )
2829
2830 #define GENLIST_PART_SUBITEM(NAME, DESCRIPTION) \
2831    GENLIST_PART_TEXT(NAME, \
2832       DESCRIPTION \
2833       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2834    )
2835
2836 #define GENLIST_PART_SUBITEM_R(NAME, HEIGHT, RIGHT) \
2837    GENLIST_PART_TEXT(NAME, \
2838       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2839          min: 0 HEIGHT; \
2840          fixed: 1 0; \
2841          GENLIST_PARAM_TEXT_LIMIT_RB \
2842          GENLIST_PARAM_SUBITEM_DEFAULT \
2843       ) \
2844       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2845    )
2846
2847 #define GENLIST_PART_SUBITEM_RB(NAME, HEIGHT, RIGHT, BOTTOM) \
2848    GENLIST_PART_TEXT(NAME, \
2849       GENLIST_DESCRIPTION_RB(RIGHT, BOTTOM, \
2850          min: 0 HEIGHT; \
2851          fixed: 1 1; \
2852          GENLIST_PARAM_TEXT_LIMIT_RB \
2853          GENLIST_PARAM_SUBITEM_DEFAULT \
2854       ) \
2855       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2856    )
2857
2858 #define GENLIST_PART_SUBITEM_RB_TB(NAME, HEIGHT, RIGHT, BOTTOM) \
2859    GENLIST_PART_TEXTBLOCK(NAME, \
2860       GENLIST_DESCRIPTION_RB(RIGHT, BOTTOM, \
2861          min: 0 HEIGHT; \
2862          GENLIST_PARAM_TEXT_LIMIT_RB \
2863          fixed: 1 1; \
2864          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2865       ) \
2866       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2867    )
2868
2869 #define GENLIST_PART_SUBITEM_TB_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM) \
2870    GENLIST_PART_TEXTBLOCK(NAME, \
2871       GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
2872          min: 0 HEIGHT; \
2873          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2874       ) \
2875       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2876    )
2877
2878 #define GENLIST_PART_SUBITEM_R_FIXED(NAME, WIDTH, HEIGHT, RIGHT) \
2879    GENLIST_PART_TEXT(NAME, \
2880       GENLIST_DESCRIPTION_RTB(RIGHT, "elm.padding.top", "elm.padding.bottom", \
2881          min: WIDTH HEIGHT; \
2882          fixed: 1 1; \
2883          GENLIST_PARAM_SUBITEM_DEFAULT \
2884       ) \
2885       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2886    )
2887
2888 #define GENLIST_PART_SUBITEM_R_FIXED_TB(NAME, WIDTH, HEIGHT, RIGHT) \
2889    GENLIST_PART_TEXTBLOCK(NAME, \
2890        GENLIST_DESCRIPTION_R(RIGHT, \
2891          min: WIDTH HEIGHT; \
2892          fixed: 1 0; \
2893          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2894       ) \
2895       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2896    )
2897
2898 #define GENLIST_PART_SUBITEM_L_FIXED(NAME, WIDTH, HEIGHT, LEFT) \
2899    GENLIST_PART_TEXT(NAME, \
2900       GENLIST_DESCRIPTION_LTB(LEFT, "elm.padding.top", "elm.padding.bottom", \
2901          min: WIDTH HEIGHT; \
2902          fixed: 1 1; \
2903          GENLIST_PARAM_SUBITEM_DEFAULT \
2904       ) \
2905       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2906    )
2907
2908 #define GENLIST_PART_SUBITEM_LR(NAME, HEIGHT, LEFT, RIGHT, PARAM) \
2909    GENLIST_PART_TEXT(NAME, \
2910       GENLIST_DESCRIPTION(LEFT, RIGHT, "elm.padding.top", "elm.padding.bottom", \
2911          min: 0 HEIGHT; \
2912          GENLIST_PARAM_SUBITEM_DEFAULT \
2913          PARAM \
2914       ) \
2915       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2916    )
2917
2918 #define GENLIST_PART_SUBITEM_LR_TB(NAME, HEIGHT, LEFT, RIGHT) \
2919    GENLIST_PART_TEXTBLOCK(NAME, \
2920       GENLIST_DESCRIPTION_LR(LEFT, RIGHT, \
2921          min: 0 HEIGHT; \
2922          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2923       ) \
2924       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2925    )
2926
2927 #define GENLIST_PART_SUBITEM_LB(NAME, HEIGHT, LEFT, RIGHT) \
2928    GENLIST_PART_TEXT(NAME, \
2929       GENLIST_DESCRIPTION_LB(LEFT, BOTTOM, \
2930          min: 0 HEIGHT; \
2931          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2932       ) \
2933       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2934    )
2935
2936 #define GENLIST_PART_SUBITEM_LRB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
2937    GENLIST_PART_TEXT(NAME, \
2938       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
2939          min: 0 HEIGHT; \
2940          GENLIST_PARAM_SUBITEM_DEFAULT \
2941          fixed: 0 1; \
2942       ) \
2943       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2944    )
2945
2946 #define GENLIST_PART_SUBITEM_SETTINGS_LRB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM, PARAM) \
2947    GENLIST_PART_TEXT(NAME, \
2948       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
2949          min: 0 HEIGHT; \
2950          fixed: 1 1; /*FIXME: why text need this, but textblock doesn't */ \
2951          GENLIST_PARAM_SUBITEM_SETTINGS\
2952          PARAM; \
2953       ) \
2954       GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
2955    )
2956
2957 #define GENLIST_PART_SUBITEM_LRB_TB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
2958    GENLIST_PART_TEXTBLOCK(NAME, \
2959       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
2960          min: 0 HEIGHT; \
2961          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
2962          fixed: 0 1; \
2963       ) \
2964       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
2965    )
2966
2967 #define GENLIST_PART_SUBITEM_SETTINGS_LRB_TB(NAME, HEIGHT, LEFT, RIGHT, BOTTOM) \
2968    GENLIST_PART_TEXTBLOCK(NAME, \
2969       GENLIST_DESCRIPTION_LRB(LEFT, RIGHT, BOTTOM, \
2970          min: 0 HEIGHT; \
2971          GENLIST_PARAM_SUBITEM_SETTINGS_TB \
2972          fixed: 0 1; \
2973       ) \
2974       GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS_TB \
2975    )
2976
2977 #define GENLIST_PART_SUBITEM_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP) \
2978    GENLIST_PART_TEXT(NAME, \
2979       GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
2980          min: 0 HEIGHT; \
2981          fixed: 0 1; \
2982          GENLIST_PARAM_SUBITEM_DEFAULT \
2983       ) \
2984       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
2985    )
2986
2987 #define GENLIST_PART_SUBITEM_SETTINGS_LRT(NAME, HEIGHT, LEFT, RIGHT, TOP) \
2988    GENLIST_PART_TEXT(NAME, \
2989       GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
2990          min: 0 HEIGHT; \
2991          fixed: 0 1; \
2992          GENLIST_PARAM_SUBITEM_SETTINGS \
2993       ) \
2994       GENLIST_DESCRIPTION_SUBITEM_SETTINGS_OTHERS \
2995    )
2996
2997 #define GENLIST_PART_SUBITEM_LTB(NAME, HEIGHT, LEFT, TOP, BOTTOM) \
2998    GENLIST_PART_TEXT(NAME, \
2999       GENLIST_DESCRIPTION_LTB(LEFT, TOP, BOTTOM, \
3000          min: 0 HEIGHT; \
3001          fixed: 1 1; /*FIXME: why text need this, but textblock doesn't */ \
3002          GENLIST_PARAM_SUBITEM_DEFAULT \
3003       ) \
3004       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
3005    )
3006
3007 #define GENLIST_PART_SUBITEM_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
3008    GENLIST_PART_TEXT(NAME, \
3009       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
3010          min: 0 HEIGHT; \
3011          GENLIST_PARAM_TEXT_LIMIT_RT \
3012          GENLIST_PARAM_SUBITEM_DEFAULT \
3013          fixed: 1 0; \
3014       ) \
3015       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
3016    )
3017
3018 #define GENLIST_PART_SUBITEM_RTB_TB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
3019    GENLIST_PART_TEXTBLOCK(NAME, \
3020       GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
3021          min: 0 HEIGHT; \
3022          GENLIST_PARAM_TEXT_LIMIT_RT \
3023          GENLIST_PARAM_SUBITEM_DEFAULT_TB \
3024          fixed: 1 0; \
3025       ) \
3026       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
3027    )
3028
3029 #define GENLIST_PARAM_LIST_BUBBLE_TEXT \
3030    color: GENLIST_LIST_BUBBLE_TEXT_COLOR; \
3031    text { \
3032       align: 1 0.5; \
3033       min: 0 1; \
3034       font: "Tizen:style=Bold"; \
3035       size: GENLIST_LIST_BUBBLE_TEXT_SIZE; \
3036       text_class: "tizen"; \
3037    }
3038
3039 // FIXME: Need to find why rel2.offset: 9 -1 will not fix the alignment of bubble text ?
3040 #define GENLIST_PART_LIST_BUBBLE_TEXT_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
3041          GENLIST_PART_IMAGE("elm.bubble", \
3042             GENLIST_DESCRIPTION_ENVELOP(NAME, \
3043                image { \
3044                   normal: "00_list_bubble_bg.png"; \
3045                   border: 8 8 0 0; \
3046                } \
3047                rel1.offset: -10 0; \
3048                rel2.offset: 8 -1; \
3049                min: 48 38; \
3050                max: -1 38; \
3051                fixed: 0 1; \
3052             ) \
3053             GENLIST_DESCRIPTION_FADE \
3054          ) \
3055          GENLIST_PART_TEXT(NAME, \
3056             GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
3057                min: 0 HEIGHT; \
3058                GENLIST_PARAM_TEXT_LIMIT_RT \
3059                rel2.offset: -10 -1; /* This maintain the text alignment with bubble text. */\
3060                GENLIST_PARAM_LIST_BUBBLE_TEXT \
3061             ) \
3062          )
3063
3064 #if 0
3065 #define GENLIST_PART_BASE__( param_item_height ) \
3066          part { name: "base"; \
3067             type: RECT; \
3068             repeat_events: 1; \
3069             scale: 1; \
3070             description { state: "default" 0.0; \
3071                min: 0 param_item_height; \
3072                color: LAYOUT_GROUP_LIST_BG_COLOR_INC; \
3073             } \
3074          }
3075
3076 /******************************************************************************/
3077 /** ETC
3078 /******************************************************************************/
3079 // FIXME: UX do not define selected state. But I thinkt that it is neededs :(
3080
3081 #define GENLIST_PROOGRAM_EXPAND(SRC, TARGET) \
3082    program { \
3083       name: "expand"; \
3084       signal: "mouse,clicked,1"; \
3085       source: SRC; \
3086       action: SIGNAL_EMIT "elm,action,expand,toggle" "elm"; \
3087    } \
3088    program { \
3089       name: "go_expanded"; \
3090       signal: "elm,state,expanded"; \
3091       source: "elm"; \
3092       action: STATE_SET "active" 0.0; \
3093       TARGET \
3094    } \
3095    program { \
3096       name: "go_contracted"; \
3097       signal: "elm,state,contracted"; \
3098       source: "elm"; \
3099       action: STATE_SET "default" 0.0; \
3100       TARGET \
3101    }
3102
3103 #define GENLIST_PART_BASE_LIST_H( HEIGHT) \
3104          part { name: "base"; \
3105             type: RECT; \
3106             repeat_events: 1; \
3107             scale: 1; \
3108             description { state: "default" 0.0; \
3109                align: 0.5 0.5; \
3110                color: 0 0 0 0; \
3111                rel2.relative: 1 0; \
3112                rel2.to: "bottom_line"; \
3113                min: 0 HEIGHT; \
3114             } \
3115          } \
3116          GENLIST_PART_BOTTOM_LINE
3117
3118 #define GENLIST_PART_DIALOGUE_ITEM \
3119          part { name: "elm.rect.dialogue"; \
3120             type: RECT; \
3121             scale: 1; \
3122             description { state: "default" 0.0; \
3123                min: 10 0; \
3124                fixed: 1 0; \
3125                color: GENLIST_DIALOGUE_GROUP_LEFT_BG_COLOR_INC; \
3126                rel2.relative: 0.0 1.0; \
3127                align: 0.0 0.0; \
3128             } \
3129          }
3130
3131 #define GENLIST_PART_DIALOGUE_RIGHT_LINE \
3132          part { name: "elm.rect.dialogue.right.line"; \
3133             type: RECT; \
3134             scale: 1; \
3135             description { state: "default" 0.0; \
3136                min: 1 0; \
3137                fixed: 1 0; \
3138                rel1 { \
3139                   relative: 1.0  0.0; \
3140                   offset: -1 0; \
3141                } \
3142                align: 1.0 0.0; \
3143                color: GENLIST_LIST_LINE1_COLOR; \
3144             } \
3145          }
3146
3147 #define GENLIST_PROGRAM_FLIP_1TEXT \
3148          program { name: "flip_enabled"; \
3149             signal: "elm,state,flip,enabled"; \
3150             source: "elm"; \
3151             action: STATE_SET "flip_enabled" 0.0; \
3152             target: "elm.text"; \
3153             target: "elm.flip.content"; \
3154          } \
3155          program { name: "flip_disabled"; \
3156             signal: "elm,state,flip,disabled"; \
3157             source: "elm"; \
3158             action: STATE_SET "default" 0.0; \
3159             target: "elm.text"; \
3160             target: "elm.flip.content"; \
3161          }
3162
3163 #define GENLIST_PROGRAM_FLIP_2TEXT \
3164          program { name: "flip_enabled"; \
3165             signal: "elm,state,flip,enabled"; \
3166             source: "elm"; \
3167             action: STATE_SET "flip_enabled" 0.0; \
3168             target: "elm.text.1"; \
3169             target: "elm.text.2"; \
3170             target: "elm.flip.content"; \
3171          } \
3172          program { name: "flip_disabled"; \
3173             signal: "elm,state,flip,disabled"; \
3174             source: "elm"; \
3175             action: STATE_SET "default" 0.0; \
3176             target: "elm.text.1"; \
3177             target: "elm.text.2"; \
3178             target: "elm.flip.content"; \
3179          }
3180
3181 #define GENLIST_PROGRAM_FLIP_2TEXT_1ICON \
3182          program { name: "flip_enabled"; \
3183             signal: "elm,state,flip,enabled"; \
3184             source: "elm"; \
3185             action: STATE_SET "flip_enabled" 0.0; \
3186             target: "elm.text.1"; \
3187             target: "elm.text.2"; \
3188             target: "elm.icon"; \
3189             target: "elm.flip.content"; \
3190          } \
3191          program { name: "flip_disabled"; \
3192             signal: "elm,state,flip,disabled"; \
3193             source: "elm"; \
3194             action: STATE_SET "default" 0.0; \
3195             target: "elm.text.1"; \
3196             target: "elm.text.2"; \
3197             target: "elm.icon"; \
3198             target: "elm.flip.content"; \
3199          }
3200
3201 #define GENLIST_PROGRAM_FLIP_2TEXT_2ICON \
3202          program { name: "flip_enabled"; \
3203             signal: "elm,state,flip,enabled"; \
3204             source: "elm"; \
3205             action: STATE_SET "flip_enabled" 0.0; \
3206             target: "elm.text.1"; \
3207             target: "elm.text.2"; \
3208             target: "elm.icon.1"; \
3209             target: "elm.icon.2"; \
3210             target: "elm.flip.content"; \
3211          } \
3212          program { name: "flip_disabled"; \
3213             signal: "elm,state,flip,disabled"; \
3214             source: "elm"; \
3215             action: STATE_SET "default" 0.0; \
3216              target: "elm.text.1"; \
3217             target: "elm.text.2"; \
3218             target: "elm.icon.1"; \
3219             target: "elm.icon.2"; \
3220             target: "elm.flip.content"; \
3221          }
3222
3223 #define GENLIST_PROGRAM_FLIP_3TEXT_2ICON \
3224          program { name: "flip_enabled"; \
3225             signal: "elm,state,flip,enabled"; \
3226             source: "elm"; \
3227             action: STATE_SET "flip_enabled" 0.0; \
3228             target: "elm.text.1"; \
3229             target: "elm.text.2"; \
3230             target: "elm.text.3"; \
3231             target: "elm.icon.1"; \
3232             target: "elm.icon.2"; \
3233             target: "elm.flip.content"; \
3234          } \
3235          program { name: "flip_disabled"; \
3236             signal: "elm,state,flip,disabled"; \
3237             source: "elm"; \
3238             action: STATE_SET "default" 0.0; \
3239             target: "elm.text.1"; \
3240             target: "elm.text.2"; \
3241             target: "elm.text.3"; \
3242             target: "elm.icon.1"; \
3243             target: "elm.icon.2"; \
3244             target: "elm.flip.content"; \
3245          }
3246
3247
3248 #define GENLIST_DESCRIPTION_INVISIBLE_SELECTED \
3249             description { state: "selected" 1.0; \
3250                inherit: "default" 0.0; \
3251                visible: 0; \
3252             }
3253
3254 #define GENLIST_DESCRIPTION_FLIP_ENABLED \
3255             description { state: "flip_enabled" 0.0; \
3256                inherit: "default" 0.0; \
3257                visible: 0; \
3258             }
3259
3260 #define GENLIST_PROGRAM_SCRIPT_FLIP_SELECT_1TEXT \
3261             script { \
3262                new st[31]; \
3263                new Float:vl; \
3264                get_state(PART:"elm.text", st, 30, vl); \
3265                set_state(PART:"bg", "selected", 0.0); \
3266                if (!strcmp(st, "flip_enabled")) \
3267                   set_state(PART:"elm.text", "selected", 1.0); \
3268                else \
3269                   set_state(PART:"elm.text", "selected", 0.0); \
3270             }
3271
3272
3273 /* genlist multisense macro - start */
3274 #define GENLIST_PROGRAM_AFTER_PLAY_BUTTON_PRESS \
3275             after: "play_button_press";
3276
3277 #define GENLIST_PROGRAM_PLAY_BUTTON_PRESS \
3278          program { name: "play_button_press"; \
3279             action: PLAY_SAMPLE "button-pressed" 1.0; \
3280          }
3281 #endif