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