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