tizen 2.4 release
[apps/home/ug-lockscreen-setting-efl.git] / ug-lockscreen-setting-efl / res / edje / lockscreen-options-theme / genlist_macro.edc
1 /*
2  * Copyright (c) 2009 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  */
17
18
19 /* genlist multisense sample/tone listing */
20    sounds {
21       sample {
22          name: "button-pressed" RAW;
23          source: "Tizen_touch.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 CUTOMIZED_EDITFIELD_BG_COLOR                47 49 52 255  // the original color is 255 255 255 255
33 #define GENLIST_ENTRY_RENAME_COLOR                  177 177 177 255
34 #define GENLIST_LIST_BG_COLOR                       248 246 239 255
35 #define GENLIST_LIST_PRESS_COLOR                    87 135 194 255
36 #define GENLIST_LIST_DIM_COLOR                      219 217 212 255
37 #define GENLIST_LIST_LINE1_COLOR                    211 209 203 255
38 #define GENLIST_LIST_LINE2_COLOR                    255 255 255 255
39
40 #define GENLIST_PART_LIST_LINE_HEIGHT               1
41
42 #define GENLIST_PADDING_SIZE_DEFAULT                16
43 #define GENLIST_PADDING_SIZE_LEFT                   16
44 #define GENLIST_PADDING_SIZE_RIGHT                  16
45 // Dialogue group image has bottom padding (2piexl), Giant font can overlapped bottom line of image.
46 #define GENLIST_PADDING_SIZE_TOP                    2
47 #define GENLIST_PADDING_SIZE_BOTTOM                 2
48 #define DIALOGUE_PADDING_SIZE_LEFT                  16
49 #define DIALOGUE_PADDING_SIZE_RIGHT                 16
50
51 #define GENLIST_ICON_MEDIUM_SIZE                    72
52 #define GENLIST_ICON_ENTRY_SIZE                     54
53
54 #define GENLIST_TREESIZE_DEFAULT                    26
55
56 //#define GENLIST_DIALOGUE_SEPARATOR_DEFAULT_HEIGHT 40
57
58 //****************************************************************************//
59 // *****************  EDJE description have 24 patterns **********************//
60  //**************************************************************************//
61 // ------------------
62 // |  PART == HERE  |
63 // ------------------
64  #define GENLIST_DESCRIPTION_ENVELOP( PART, PARAM ) \
65       description { state: "default" 0.0;\
66          rel1 { \
67             relative: 0 0; \
68             to: PART; \
69          }\
70          rel2 {\
71             relative: 1 1;\
72             to: PART; \
73          }\
74          PARAM\
75       }
76
77 //      |   top  |
78 // ---------------------
79 // left |  HERE  | right
80 // ---------------------
81 //      | bottom |
82 #define GENLIST_DESCRIPTION( left, right, top, bottom, param ) \
83       description { state: "default" 0.0;\
84          rel1 { \
85             relative: 1 1; \
86             to_x: left; \
87             to_y: top; \
88          }\
89          rel2 {\
90             relative: 0 0;\
91             to_x: right;\
92             to_y: bottom;\
93          }\
94          param\
95       }
96
97 // ---------------------
98 // left |--> HERE
99 // ---------------------
100 #define GENLIST_DESCRIPTION_L( left, param ) \
101       description { state: "default" 0.0;\
102          align: 0 0.5; \
103          fixed: 1 0; \
104          rel1 { \
105             relative: 1 0; \
106             to_x: left; \
107             to_y: "base"; \
108          }\
109          rel2 { \
110             relative: 1 1;\
111             to_x: left; \
112             to_y: "base"; \
113          }\
114          param\
115       }
116
117 // ---------------------
118 //   HERE  <--| right
119 // ---------------------
120 #define GENLIST_DESCRIPTION_R( right, param ) \
121       description { state: "default" 0.0;\
122          align: 1 0.5; \
123          fixed: 1 0; \
124          rel1 { \
125             relative: 0 0; \
126             to_x: right; \
127             to_y: "base"; \
128          }\
129          rel2 {\
130             relative: 0 1;\
131             to_x: right; \
132             to_y: "base"; \
133          }\
134          param\
135       }
136
137 // --------------------------
138 // left |--> HERE  <--| right
139 // --------------------------
140 #define GENLIST_DESCRIPTION_LR( left, right, param ) \
141       description { state: "default" 0.0;\
142          rel1 { \
143             relative: 1 0; \
144             to_x: left; \
145             to_y: "base"; \
146          }\
147          rel2 {\
148             relative: 0 1;\
149             to_x: right;\
150             to_y: "base"; \
151          }\
152          param\
153       }
154
155 //   |  top     |
156 // -----------------
157 //  |  HERE  <--| right
158 // -----------------
159 //  | bottom   |
160 #define GENLIST_DESCRIPTION_RTB( right, top, bottom, param ) \
161       description { state: "default" 0.0;\
162          align: 1 0.5;\
163          rel1 { \
164             relative: 0 1; \
165             to_x: right; \
166             to_y: top; \
167          }\
168          rel2 {\
169             relative: 0 0;\
170             to_x: right;\
171             to_y: bottom;\
172          }\
173          param\
174       }
175
176 //      |   top  |
177 // ---------------------
178 //     |  HERE <--| right
179 #define GENLIST_DESCRIPTION_RT( right, top, param ) \
180       description { state: "default" 0.0;\
181          align: 1 0;\
182          rel1 { \
183             relative: 0 1; \
184             to_x: right; \
185             to_y: top; \
186          }\
187          rel2 {\
188             relative: 0 1;\
189             to_x: right;\
190             to_y: top;\
191          }\
192          param\
193       }
194
195 #define GENLIST_PROLOG \
196       data.item: "stacking" "above"; \
197       data.item: "selectraise" "on"; \
198       data.item: "treesize" 0;
199
200 #define GENLIST_PROLOG_NORMAL \
201       GENLIST_PROLOG \
202       data.item: "treesize" GENLIST_TREESIZE_DEFAULT; \
203       data.item: "flips" "elm.flip.icon elm.flip.content elm.flip.eraser"; \
204       images { \
205          image : "editfield/00_list_group_bg.png" COMP; \
206          image : "editfield/00_list_group_bg_press.png" COMP; \
207       }
208
209 #define GENLIST_PROLOG_DIALOGUE \
210       GENLIST_PROLOG \
211       data.item: "flips" "elm.flip.icon elm.flip.content elm.flip.eraser"; \
212       images { \
213          image : "editfield/00_list_group_bg.png" COMP; \
214          image : "editfield/00_list_group_bg_press.png" COMP; \
215          image : "editfield/00_list_group_bg_top.png" COMP; \
216          image : "editfield/00_list_group_bg_top_press.png" COMP; \
217          image : "editfield/00_list_group_bg_center.png" COMP; \
218          image : "editfield/00_list_group_bg_center_press.png" COMP; \
219          image : "editfield/00_list_group_bg_bottom.png" COMP; \
220          image : "editfield/00_list_group_bg_bottom_press.png" COMP; \
221          image : "editfield/00_list_group_bg_top_focus.png" COMP; \
222          image : "editfield/00_list_group_bg_center_focus.png" COMP; \
223          image : "editfield/00_list_group_bg_bottom_focus.png" COMP; \
224       }
225
226 #define GENLIST_NAME(NAME) \
227       name: "elm/genlist/item/"NAME; \
228       alias: "elm/genlist/item_odd/"NAME; \
229       alias: "elm/genlist/item_compress/"NAME; \
230       alias: "elm/genlist/item_compress_odd/"NAME; \
231       alias: "elm/genlist/tree/"NAME; \
232       alias: "elm/genlist/tree_odd/"NAME; \
233       alias: "elm/genlist/tree_compress/"NAME; \
234       alias: "elm/genlist/tree_compress_odd/"NAME; \
235
236 /*****************************************************************************/
237 /******************************* Dialogue group ******************************/
238 /*****************************************************************************/
239 #define GENLIST_DIALOGUE_INHERIT_BODY( _PARTS ) \
240       data.item: "treesize" 0; \
241       parts { \
242          GENLIST_PART_BG_NORMAL_OFF \
243          GENLIST_PART_BOTTOM_LINE_OFF \
244          GENLIST_PART_BG_DIALOGUE \
245          GENLIST_PART_PADDING_LEFT_SIZE( DIALOGUE_PADDING_SIZE_LEFT ) \
246          GENLIST_PART_PADDING_RIGHT_EDIT \
247          _PARTS \
248          GENLIST_PART_FLIP \
249          GENLIST_PART_FOCUS_DIALOGUE \
250       }
251
252 //****************************************************************************//
253 // ****************************** BG Image **********************************//
254 //****************************************************************************//
255 #define GENLIST_PART_BG_NORMAL \
256       GENLIST_PART_RECT("bg_clip", \
257          mouse_events: 0; \
258          description { state: "default" 0.0; \
259             visible: 1; \
260             color: 255 255 255 255; \
261          } \
262          description { state: "decorate" 0.0; \
263             inherit: "default" 0.0; \
264             visible: 0; \
265          } \
266          description { state: "reorder" 0.0; \
267             inherit: "default" 0.0; \
268             visible: 0; \
269          } \
270          description { state: "decorate_reorder" 0.0; \
271             inherit: "default" 0.0; \
272             visible: 0; \
273          } \
274       ) \
275       GENLIST_PART_RECT("bg_reorder_clip", \
276          mouse_events: 0; \
277          description { state: "default" 0.0; \
278             visible: 0; \
279          } \
280          description { state: "reorder" 0.0; \
281             inherit: "default" 0.0; \
282             visible: 1; \
283             color: 255 255 255 255; \
284          } \
285          description { state: "decorate_reorder" 0.0; \
286             inherit: "default" 0.0; \
287             visible: 0; \
288          } \
289          description { state: "decorate" 0.0; \
290             inherit: "default" 0.0; \
291             visible: 0; \
292          } \
293          description { state: "reorder_flip" 0.0; \
294             inherit: "default" 0.0; \
295             visible: 0; \
296          } \
297       ) \
298       GENLIST_PART_RECT("bg",  \
299          clip_to: "bg_clip"; \
300          description { state: "default" 0.0; \
301             color: GENLIST_LIST_BG_COLOR; \
302          } \
303          description { state: "selected" 0.0; \
304             inherit: "default" 0.0; \
305             color: GENLIST_LIST_PRESS_COLOR; \
306          } \
307          description { state: "disabled" 0.0; \
308             inherit: "default" 0.0; \
309             color: GENLIST_LIST_DIM_COLOR; \
310          } \
311       ) \
312       GENLIST_PART_SPACER("bg_reorder_left", \
313          description { state: "default" 0.0; \
314             min: 16 0; \
315             max: 16 -1; \
316             fixed: 1 0; \
317             align: 0 0.5; \
318             rel2.relative: 0 1; \
319          } \
320       ) \
321       GENLIST_PART_SPACER("bg_reorder_right", \
322          description { state: "default" 0.0; \
323             min: 16 0; \
324             max: 16 -1; \
325             fixed: 1 0; \
326             align: 1.0 0.5; \
327             rel1.relative: 1 0; \
328          } \
329       ) \
330       GENLIST_PART_IMAGE("bg_reorder", \
331          clip_to: "bg_reorder_clip"; \
332          GENLIST_DESCRIPTION_LR("bg_reorder_left", "bg_reorder_right", \
333             image { \
334                border: 17 17 8 8; \
335                border_scale: 1; \
336             } \
337          ) \
338          description { state: "selected" 0.0; \
339             inherit: "default"; \
340             image { \
341                normal: "editfield/00_list_group_bg_press.png"; \
342                border: 17 17 8 8; \
343                border_scale: 1; \
344             } \
345          } \
346          description { state: "flipped" 0.0; \
347             inherit: "default"; \
348             visible: 0; \
349          } \
350       )
351
352 #define GENLIST_PART_BG_NORMAL_OFF \
353    GENLIST_PART_RECT("bg_clip", \
354       mouse_events: 0; \
355       description { state: "default" 0.0; \
356          visible: 0; \
357       } \
358       description { state: "decorate" 0.0; \
359          inherit: "default" 0.0; \
360          visible: 0; \
361       } \
362       description { state: "reorder" 0.0; \
363          inherit: "default" 0.0; \
364          visible: 0; \
365       } \
366       description { state: "decorate_reorder" 0.0; \
367          inherit: "default" 0.0; \
368          visible: 0; \
369       } \
370    ) \
371    GENLIST_PART_RECT("bg", \
372       mouse_events: 0; \
373       description { state: "default" 0.0; \
374          visible: 0; \
375       } \
376       description { state: "selected" 0.0; \
377          visible: 0; \
378       } \
379       description { state: "disabled" 0.0; \
380          visible: 0; \
381       } \
382    ) \
383    GENLIST_PART_RECT("bg_reorder_clip", \
384       mouse_events: 0; \
385       description { state: "default" 0.0; \
386          visible: 0; \
387       } \
388       description { state: "reorder" 0.0; \
389          visible: 0; \
390       } \
391       description { state: "decorate_reorder" 0.0; \
392          visible: 0; \
393       } \
394       description { state: "decorate" 0.0; \
395          visible: 0; \
396       } \
397       description { state: "reorder_flip" 0.0; \
398          visible: 0; \
399       } \
400    ) \
401    GENLIST_PART_IMAGE("bg_reorder", \
402       mouse_events: 0; \
403       description {state: "default" 0.0;\
404          visible: 0;\
405       }\
406       description { state: "selected" 0.0; {\
407          visible: 0; \
408       } \
409       description { state: "flipped" 0.0; {\
410          visible: 0; \
411       } \
412    )
413
414 #define GENLIST_PART_BG_DIALOGUE \
415    GENLIST_PART_RECT("bg_dialogue_clip", \
416       description { state: "default" 0.0; \
417          color: CUTOMIZED_EDITFIELD_BG_COLOR; \
418       } \
419       description { state: "2depth" 0.0; \
420          color: 220 218 211 255; \
421       } \
422    ) \
423    GENLIST_PART_SPACER("bg_dialogue_left", \
424       description { state: "default" 0.0; \
425          min: 16 0; \
426          max: 16 -1; \
427          fixed: 1 0; \
428          align: 0 0.5; \
429          rel2.relative: 0 1; \
430       } \
431    ) \
432    GENLIST_PART_SPACER("bg_dialogue_right", \
433       description { state: "default" 0.0; \
434          min: 16 0; \
435          max: 16 -1; \
436          fixed: 1 0; \
437          align: 1.0 0.5; \
438          rel1.relative: 1 0; \
439       } \
440       description { state: "editmode" 0.0; \
441          inherit: "default" 0.0; \
442          min: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_ICON_MEDIUM_SIZE) 0; \
443          max: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_ICON_MEDIUM_SIZE) 0; \
444       } \
445    ) \
446    GENLIST_PART_IMAGE("bg_dialogue", \
447       insert_after: "base"; \
448       clip_to: "bg_dialogue_clip"; \
449       GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_right", \
450          image { \
451             border: 17 17 8 8; \
452             border_scale: 1; \
453          } \
454       ) \
455       description { state: "selected" 0.0; \
456          inherit: "default" 0.0; \
457          image { \
458             normal: "editfield/00_list_group_bg_press.png"; \
459             border: 17 17 8 8; \
460             border_scale: 1; \
461          } \
462       } \
463       description { state: "top" 0.0; \
464          inherit: "default" 0.0; \
465          image { \
466             normal: "editfield/00_list_group_bg_top.png"; \
467             border: 17 17 8 8; \
468             border_scale: 1; \
469          } \
470       } \
471       description { state: "top_selected" 0.0; \
472          inherit: "default" 0.0; \
473          image { \
474             normal: "editfield/00_list_group_bg_top_press.png"; \
475             border: 17 17 8 8; \
476             border_scale: 1; \
477          } \
478       } \
479       description { state: "center" 0.0; \
480          inherit: "default" 0.0; \
481          image { \
482             normal: "editfield/00_list_group_bg_center.png"; \
483             border: 17 17 8 8; \
484             border_scale: 1; \
485          } \
486       } \
487       description { state: "center_selected" 0.0; \
488          inherit: "default" 0.0; \
489          image { \
490             normal: "editfield/00_list_group_bg_center_press.png"; \
491             border: 17 17 8 8; \
492             border_scale: 1; \
493          } \
494       } \
495       description { state: "bottom" 0.0; \
496          inherit: "default" 0.0; \
497          image { \
498             normal: "editfield/00_list_group_bg_bottom.png"; \
499             border: 17 17 8 8; \
500             border_scale: 1; \
501          } \
502       } \
503       description { state: "bottom_selected" 0.0; \
504          inherit: "default" 0.0; \
505          image { \
506             normal: "editfield/00_list_group_bg_bottom_press.png"; \
507             border: 17 17 8 8; \
508             border_scale: 1; \
509          } \
510       } \
511    )
512
513 //****************************************************************************//
514 // ****************************** BASE  ********************************//
515 //****************************************************************************//
516 #define GENLIST_PART_BASE_SIZE(HEIGHT) \
517          part { name: "base"; \
518             type: RECT; \
519             mouse_events: 0; \
520             scale: 1; \
521             description { state: "default" 0.0; \
522                color: 0 0 0 0; \
523                min: 0 HEIGHT; \
524             } \
525             description { state: "disabled" 0.0; \
526                inherit: "default"; \
527             } \
528          } \
529          part { name: "state"; \
530             type: RECT; \
531             mouse_events: 0; \
532             scale: 1; \
533             description { state: "default" 0.0; \
534                color: 0 0 0 0; \
535             } \
536             description { state: "decorate" 0.0; \
537                inherit: "default"; \
538             } \
539             description { state: "reorder" 0.0; \
540                inherit: "default"; \
541             } \
542             description { state: "decorate_reorder" 0.0; \
543                inherit: "default"; \
544             } \
545          }
546
547 #define GENLIST_PART_BASE \
548          GENLIST_PART_BASE_SIZE(0)
549
550 #define GENLIST_PART_FOCUS \
551    GENLIST_PART_IMAGE("focus_part", \
552       mouse_events: 0; \
553       description { state: "default" 0.0; \
554          visible: 0; \
555          image { \
556             normal: "editfield/00_focus.png"; \
557             border: 7 7 7 7; \
558          } \
559       } \
560       description { state: "focused" 0.0; \
561          inherit: "default" 0.0; \
562          visible: 1; \
563       } \
564    )
565
566 #define GENLIST_PART_FOCUS_DIALOGUE \
567    GENLIST_PART_IMAGE("focus_part", \
568       mouse_events: 0; \
569       GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_right", \
570          visible: 0; \
571          image { \
572             normal: "editfield/00_focus.png"; \
573             border: 7 7 7 7; \
574          } \
575       ) \
576       description { state: "focused" 0.0; \
577          inherit: "default" 0.0; \
578          visible: 1; \
579       } \
580       description { state: "top_focused" 0.0; \
581          inherit: "default" 0.0; \
582          visible: 1; \
583          image { \
584             normal: "editfield/00_list_group_bg_top_focus.png"; \
585             border: 7 7 7 7; \
586          } \
587       } \
588       description { state: "center_focused" 0.0; \
589          inherit: "default" 0.0; \
590          visible: 1; \
591          image { \
592             normal: "editfield/00_list_group_bg_center_focus.png"; \
593             border: 7 7 7 7; \
594          } \
595       } \
596       description { state: "bottom_focused" 0.0; \
597          inherit: "default" 0.0; \
598          visible: 1; \
599          image { \
600             normal: "editfield/00_list_group_bg_bottom_focus.png"; \
601             border: 7 7 7 7; \
602          } \
603       } \
604    )
605
606 //****************************************************************************//
607 // ****************************** LINE ********************************//
608 //****************************************************************************//
609 #define GENLIST_PART_BOTTOM_LINE \
610          GENLIST_PART_RECT("bottom_line_clip", \
611             description { state: "default" 0.0; \
612                color: 255 255 255 255; \
613             } \
614             description { state: "decorate" 0.0; \
615                inherit: "default" 0.0; \
616                color: 0 0 0 0; \
617             } \
618             description { state: "reorder" 0.0; \
619                inherit: "default" 0.0; \
620                color: 0 0 0 0; \
621             } \
622             description { state: "decorate_reorder" 0.0; \
623                inherit: "default" 0.0; \
624                color: 0 0 0 0; \
625             } \
626          ) \
627          GENLIST_PART_RECT("bottom_line", \
628             mouse_events: 0; \
629             clip_to: "bottom_line_clip"; \
630             description { state: "default" 0.0; \
631                min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
632                max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
633                fixed: 0 1; \
634                align: 0.5 1; \
635                color: GENLIST_LIST_LINE1_COLOR; \
636                rel1.to: "bottom_line2"; \
637                rel2.to: "bottom_line2"; \
638                rel2.relative: 1 0; \
639                rel1.offset: -1 -1; \
640             } \
641             description { state: "selected" 0.0; \
642                inherit: "default" 0.0; \
643                color: GENLIST_LIST_PRESS_COLOR; \
644             } \
645             description { state: "disabled" 0.0; \
646                inherit: "default" 0.0; \
647                color: GENLIST_LIST_DIM_COLOR; \
648             } \
649             description { state: "flipped" 0.0; \
650                inherit: "default" 0.0; \
651                visible: 0; \
652             } \
653          ) \
654          GENLIST_PART_RECT("bottom_line2", \
655             mouse_events: 0; \
656             clip_to: "bottom_line_clip"; \
657             description { state: "default" 0.0; \
658                min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
659                max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
660                fixed: 0 1; \
661                align: 0.5 1; \
662                color: GENLIST_LIST_LINE2_COLOR; \
663                rel1.to_x: "elm.padding.left"; \
664                rel1.relative: 1 0; \
665                rel2.to_x: "elm.padding.right"; \
666                rel2.relative: 0 1; \
667                rel1.offset: -1 -1; \
668             } \
669             description { state: "selected" 0.0; \
670                inherit: "default" 0.0; \
671                color: GENLIST_LIST_PRESS_COLOR; \
672             } \
673             description { state: "disabled" 0.0; \
674                inherit: "default" 0.0; \
675                color: GENLIST_LIST_DIM_COLOR; \
676             } \
677             description { state: "flipped" 0.0; \
678                inherit: "default" 0.0; \
679                visible: 0; \
680             } \
681          )
682
683 #define GENLIST_PART_BOTTOM_LINE_OFF \
684          GENLIST_PART_RECT("bottom_line", \
685             mouse_events: 0; \
686             description { state: "default" 0.0; \
687                color: 0 0 0 0; \
688             } \
689             description { state: "selected" 0.0; \
690                color: 0 0 0 0; \
691             } \
692             description { state: "disabled" 0.0; \
693                color: 0 0 0 0; \
694             } \
695             description { state: "decorate" 0.0; \
696                color: 0 0 0 0; \
697             } \
698          ) \
699          GENLIST_PART_RECT("bottom_line2", \
700             mouse_events: 0; \
701             description { state: "default" 0.0; \
702                color: 0 0 0 0; \
703             } \
704             description { state: "selected" 0.0; \
705                color: 0 0 0 0; \
706             } \
707             description { state: "disabled" 0.0; \
708                color: 0 0 0 0; \
709             } \
710             description { state: "decorate" 0.0; \
711                color: 0 0 0 0; \
712             } \
713          )
714
715 //****************************************************************************//
716 //********************************* PADDING **********************************//
717 //****************************************************************************//
718 #define GENLIST_PART_EXPANDED_PAD \
719          part { name: "elm.swallow.pad"; \
720             type: SWALLOW; \
721             scale: 1; \
722             mouse_events: 0; \
723             description { state: "default" 0.0; \
724                visible: 0; \
725                min: 0 0; \
726                fixed: 1 0; \
727                align: 0.0 0.5; \
728                rel1.to: "base"; \
729                rel2.to: "base"; \
730                rel2.relative: 0.0 1.0; \
731             } \
732          } \
733
734 #define GENLIST_PART_PADDING( NAME, SIZE, REL1, REL2 ) \
735       GENLIST_PART_SPACER(NAME, \
736          description { state: "default" 0.0; \
737             min: SIZE 0; \
738             max: SIZE -1; \
739             fixed: 1 0; \
740             align: 0.5 0.5; \
741             rel1 { \
742                relative: REL1; \
743                to: "base"; \
744             } \
745             rel2 { \
746                relative: REL2; \
747                to: "base"; \
748             } \
749          } \
750       )
751
752 #define GENLIST_DESCRIPTION_DECORATE_PADDING \
753    description { state: "decorate" 0.0; \
754       inherit: "default" 0.0; \
755       min: 0 0; \
756       max: 0 0; \
757    }
758
759 #define GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
760    description { state: "decorate_reorder" 0.0; \
761       inherit: "default" 0.0; \
762       min: 0 0; \
763       max: 0 0; \
764    }
765
766 #define GENLIST_DESCRIPTION_REORDER_PADDING \
767    description { state: "reorder" 0.0; \
768       inherit: "default" 0.0; \
769       min: 32 0; \
770       max: 32 -1; \
771    }
772
773 #define GENLIST_PART_PADDING_LEFT \
774          GENLIST_PART_EXPANDED_PAD \
775          GENLIST_PART_SPACER("elm.padding.left", \
776             GENLIST_DESCRIPTION_L("elm.swallow.pad",  \
777                min: GENLIST_PADDING_SIZE_LEFT 0; \
778                max: GENLIST_PADDING_SIZE_LEFT -1; \
779                fixed: 1 0; \
780             ) \
781             GENLIST_DESCRIPTION_DECORATE_PADDING \
782             GENLIST_DESCRIPTION_REORDER_PADDING \
783             GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
784          )
785
786 #define GENLIST_PART_PADDING_LEFT_SIZE( SIZE ) \
787          GENLIST_PART_EXPANDED_PAD \
788          GENLIST_PART_SPACER("elm.padding.left", \
789             GENLIST_DESCRIPTION_L("elm.swallow.pad",  \
790                min: SIZE 0; \
791                max: SIZE -1; \
792                fixed: 1 0; \
793             ) \
794             GENLIST_DESCRIPTION_DECORATE_PADDING \
795             GENLIST_DESCRIPTION_REORDER_PADDING \
796             GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
797          )
798
799 #define GENLIST_PART_EDITBTN \
800    GENLIST_PART_SPACER("elm.padding.edit.right", \
801       description { state: "default" 0.0; \
802          fixed: 1 0; \
803          align: 1.0 0.5; \
804          rel1.relative: 1 0; \
805          min: GENLIST_PADDING_SIZE_RIGHT 0; \
806          max: GENLIST_PADDING_SIZE_RIGHT -1; \
807       } \
808    ) \
809    GENLIST_PART_ICON("elm.icon.edit", \
810       GENLIST_DESCRIPTION_R("elm.padding.edit.right", \
811          visible: 0; \
812       ) \
813       description { state: "editmode" 0.0; \
814          inherit: "default" 0.0; \
815          visible: 1; \
816          fixed: 1 1; \
817          min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
818          max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
819       } \
820    )
821
822 #define GENLIST_PART_PADDING_RIGHT \
823          GENLIST_PART_SPACER("elm.padding.right", \
824             description { state: "default" 0.0; \
825                min: GENLIST_PADDING_SIZE_RIGHT 0; \
826                max: GENLIST_PADDING_SIZE_RIGHT -1; \
827                fixed: 1 0; \
828                align: 1.0 0.5; \
829                rel1.to: "base"; \
830                rel2.to: "base"; \
831                rel1.relative: 1 0; \
832             } \
833             GENLIST_DESCRIPTION_DECORATE_PADDING \
834             GENLIST_DESCRIPTION_REORDER_PADDING \
835             GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
836          )
837
838
839 // FIXME: Use RECT instead of SPACER if this group is used on layout
840 // for blocking events
841 #define GENLIST_PART_PADDING_RIGHT_EDIT \
842          GENLIST_PART_SPACER("elm.padding.right", \
843             GENLIST_DESCRIPTION_R("elm.padding.right.edit", \
844                min: DIALOGUE_PADDING_SIZE_RIGHT 0; \
845                max: DIALOGUE_PADDING_SIZE_RIGHT -1; \
846                fixed: 1 0; \
847             ) \
848             GENLIST_DESCRIPTION_DECORATE_PADDING \
849             GENLIST_DESCRIPTION_REORDER_PADDING \
850             GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
851          ) \
852          GENLIST_PART_SPACER("elm.padding.right.edit", \
853             description { state: "default" 0.0; \
854                min:0 0; \
855                max: 0 -1; \
856                fixed: 1 0; \
857                align: 1.0 0.5; \
858                rel1.relative: 1 0; \
859             } \
860             description { state: "editmode" 0.0; \
861                inherit: "default" 0.0; \
862                min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_MEDIUM_SIZE) 0; \
863                max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_MEDIUM_SIZE) -1; \
864             } \
865          ) \
866          GENLIST_PART_EDITBTN
867
868 #define GENLIST_PART_PADDING_TOP \
869          GENLIST_PART_SPACER("elm.padding.top", \
870             description { \
871                state: "default" 0.0; \
872                min: 0 GENLIST_PADDING_SIZE_TOP; \
873                max: -1 GENLIST_PADDING_SIZE_TOP; \
874                fixed: 0 1; \
875                rel1.to: "base"; \
876                rel2.to: "base"; \
877                rel2.relative: 1.0 0.0; \
878                align: 0.5 0.0; \
879             } \
880          )
881
882 #define GENLIST_PART_PADDING_TOP_SIZE( SIZE ) \
883          GENLIST_PART_SPACER("elm.padding.top", \
884             description { \
885                state: "default" 0.0; \
886                min: 0 SIZE; \
887                max: -1 SIZE; \
888                fixed: 0 1; \
889                rel1.to: "base"; \
890                rel2.to: "base"; \
891                rel2.relative: 1.0 0.0; \
892                align: 0.5 0.0; \
893             } \
894          )
895
896 #define GENLIST_PART_PADDING_BOTTOM \
897          GENLIST_PART_SPACER("elm.padding.bottom", \
898             description { state: "default" 0.0; \
899                min: 0 GENLIST_PADDING_SIZE_BOTTOM; \
900                max: -1 GENLIST_PADDING_SIZE_BOTTOM; \
901                fixed: 0 1; \
902                rel1.to: "base"; \
903                rel2.to: "base"; \
904                rel1.relative: 0.0 1.0; \
905                align: 0.5 1.0; \
906             } \
907          )
908
909 #define GENLIST_PART_PADDING_BOTTOM_SIZE( SIZE ) \
910          GENLIST_PART_SPACER("elm.padding.bottom", \
911             description { state: "default" 0.0; \
912                min: 0 SIZE; \
913                max: -1 SIZE; \
914                fixed: 0 1; \
915                rel1.to: "base"; \
916                rel2.to: "base"; \
917                rel1.relative: 0.0 1.0; \
918                align: 0.5 1.0; \
919             } \
920          )
921
922 #define GENLIST_PART_PADDING_R( NAME, RIGHT ) \
923          GENLIST_PART_SPACER(NAME, \
924             description { state: "default" 0.0; \
925                fixed: 1 0; \
926                min: GENLIST_PADDING_SIZE_DEFAULT 0; \
927                max: GENLIST_PADDING_SIZE_DEFAULT -1; \
928                align: 1 0.5; \
929                rel1 { \
930                   relative: 0 0; \
931                   to_x: RIGHT; \
932                } \
933                rel2 { \
934                   relative: 0 1; \
935                   to_x: RIGHT; \
936                } \
937             } \
938          )
939
940
941 // 2.2.7 Genlist_Edit mode (Rename)
942 // FIXME: padding is not needed when swallow content is NULL.
943 // But how can edje know existence of swallow content?
944 #define GENLIST_PART_FLIP \
945          GENLIST_PART_RECT("elm.flip.bg", \
946             mouse_events: 0; \
947             description { state: "default" 0.0;\
948                color: 0 0 0 0;\
949             } \
950             description { state: "flipped" 0.0; \
951                inherit: "default" 0.0; \
952                rel2.offset: 0 -3; \
953                color: GENLIST_LIST_BG_COLOR;\
954             }\
955          ) \
956          GENLIST_PART_SPACER("elm.flip.padding.left",  \
957             description { state: "default" 0.0; \
958                min: 26 0; \
959                max: 26 -1; \
960                fixed: 1 0; \
961                align: 0 0.5; \
962                rel2.relative: 0 1; \
963             } \
964          ) \
965          GENLIST_PART_SPACER("elm.flip.padding.right", \
966             description { state: "default" 0.0; \
967                min: 26 0; \
968                max: 26 -1; \
969                fixed: 1 0; \
970                align: 1 0.5; \
971                rel1.relative: 1 0; \
972             } \
973          ) \
974          GENLIST_PART_ICON("elm.flip.content", \
975             GENLIST_DESCRIPTION("elm.flip.padding.left", "elm.flip.padding.eraser.left",  \
976                "elm.padding.top", "elm.padding.bottom", \
977                visible: 0; \
978                aspect: 1 1; \
979             ) \
980             description { state: "flipped" 0.0; \
981                inherit: "default" 0.0; \
982                visible: 1; \
983             } \
984          ) \
985          GENLIST_PART_PADDING_R("elm.flip.padding.eraser.left", "elm.flip.eraser") \
986          GENLIST_PART_ICON("elm.flip.eraser", \
987             GENLIST_DESCRIPTION_RTB("elm.flip.padding.icon.left",  \
988                "elm.padding.top", "elm.padding.bottom", \
989                fixed: 1 0; \
990                visible: 0; \
991                min: GENLIST_ICON_ENTRY_SIZE GENLIST_ICON_ENTRY_SIZE; \
992                max: GENLIST_ICON_ENTRY_SIZE GENLIST_ICON_ENTRY_SIZE; \
993             ) \
994             description { state: "show" 0.0; \
995                inherit: "default" 0.0; \
996                visible: 1; \
997             } \
998          ) \
999          GENLIST_PART_PADDING_R("elm.flip.padding.icon.left", "elm.flip.icon") \
1000          GENLIST_PART_ICON( "elm.flip.icon", \
1001             GENLIST_DESCRIPTION_RTB("elm.flip.padding.right", \
1002                "elm.padding.top", "elm.padding.bottom", \
1003                visible: 0; \
1004                aspect: 1 1; \
1005                align: 1 0.5; \
1006                max: 154 74; \
1007             ) \
1008             description { state: "flipped" 0.0; \
1009                inherit: "default" 0.0; \
1010                visible: 1; \
1011             } \
1012          )
1013
1014 //****************************************************************************//
1015 // *******************************  Programs ********************************//
1016 //**************************************************************************//
1017 // signal: elm,state,%s,active
1018 //   a "check" item named %s went active
1019 // signal: elm,state,%s,passive
1020 //   a "check" item named %s went passive
1021 // default is passive
1022 #define GENLIST_PROGRAM_DEFAULT( TARGET ) \
1023          program { name: "default"; \
1024             signal: "elm,state,default"; \
1025             source: "elm"; \
1026             action: STATE_SET "default" 0.0; \
1027             TARGET \
1028          } \
1029
1030 #define GENLIST_PROGRAM_DISABLED( TARGET ) \
1031          program { name: "enabled"; \
1032             signal: "elm,state,enabled"; \
1033             source: "elm"; \
1034             action: STATE_SET "default" 0.0; \
1035             target: "base"; \
1036             TARGET \
1037          } \
1038          program { name: "disabled"; \
1039             signal: "elm,state,disabled"; \
1040             source: "elm"; \
1041             action: STATE_SET "disabled" 0.0; \
1042             target: "base"; \
1043             TARGET \
1044          }
1045
1046 #define GENLIST_PROGRAM_FOCUS \
1047       program { name: "focused"; \
1048          signal: "elm,state,focused"; \
1049          source: "elm"; \
1050          action: STATE_SET "focused" 0.0; \
1051          target: "focus_part"; \
1052       } \
1053       program { name: "unfocused"; \
1054          signal: "elm,state,unfocused"; \
1055          source: "elm"; \
1056          action: STATE_SET "default" 0.0; \
1057          target: "focus_part"; \
1058       }
1059
1060 #define GENLIST_PROGRAM_FOCUS_DIALOGUE \
1061       program { name: "focused"; \
1062          signal: "elm,state,focused"; \
1063          source: "elm"; \
1064          script { \
1065             new st[31]; \
1066             new Float:vl; \
1067             get_state(PART:"bg_dialogue", st, 30, vl); \
1068             if (!strcmp(st, "top") || !strcmp(st, "top_selected")) \
1069                set_state(PART:"focus_part", "top_focused", 0.0); \
1070             else if (!strcmp(st, "center") || !strcmp(st, "center_selected")) \
1071                set_state(PART:"focus_part", "center_focused", 0.0); \
1072             else if (!strcmp(st, "bottom") || !strcmp(st, "bottom_selected")) \
1073                set_state(PART:"focus_part", "bottom_focused", 0.0); \
1074             else if (!strcmp(st, "default") || !strcmp(st, "selected")) \
1075                set_state(PART:"focus_part", "focused", 0.0); \
1076          } \
1077       } \
1078       program { name: "unfocused"; \
1079          signal: "elm,state,unfocused"; \
1080          source: "elm"; \
1081          action: STATE_SET "default" 0.0; \
1082          target: "focus_part"; \
1083       }
1084
1085 #define GENLIST_PROGRAM_SOUND( SRC ) \
1086       program { name: "play_sound"SRC; \
1087          signal: "mouse,clicked,1"; \
1088          source: SRC; \
1089          script { \
1090             new st[31]; \
1091             new Float:vl; \
1092             get_state(PART:"base", st, 30, vl); \
1093             if (strcmp(st, "disabled")) \
1094                run_program(PROGRAM:"play_button_press"SRC); \
1095          } \
1096       } \
1097       program { name: "play_button_press"SRC; \
1098          action: PLAY_SAMPLE "button-pressed" 1.0; \
1099       }
1100
1101 #define GENLIST_PROGRAM_SELECT( TARGET ) \
1102          program { name: "selected"; \
1103             signal: "elm,state,selected"; \
1104             source: "elm"; \
1105             action: STATE_SET "selected" 0.0; \
1106             TARGET \
1107          } \
1108          program { name: "unselected"; \
1109             signal: "elm,state,unselected"; \
1110             source: "elm"; \
1111             action: STATE_SET "default" 0.0; \
1112             TARGET \
1113          }
1114
1115 #define GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
1116          program { name: "selected"; \
1117             signal: "elm,state,selected"; \
1118             source: "elm"; \
1119             script { \
1120                new st[31]; \
1121                new Float:vl; \
1122                get_state(PART:"bg_dialogue", st, 30, vl); \
1123                if (!strcmp(st, "top")) \
1124                   set_state(PART:"bg_dialogue", "top_selected", 0.0); \
1125                else if (!strcmp(st, "center")) \
1126                   set_state(PART:"bg_dialogue", "center_selected", 0.0); \
1127                else if (!strcmp(st, "bottom")) \
1128                   set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
1129                else if (!strcmp(st, "default")) \
1130                   set_state(PART:"bg_dialogue", "selected", 0.0); \
1131                run_program(PROGRAM:"target_selected"); \
1132             } \
1133          } \
1134          program { name: "unselected"; \
1135             signal: "elm,state,unselected"; \
1136             source: "elm"; \
1137             script { \
1138                new st[31]; \
1139                new Float:vl; \
1140                get_state(PART:"bg_dialogue", st, 30, vl); \
1141                if (!strcmp(st, "top_selected")) \
1142                   set_state(PART:"bg_dialogue", "top", 0.0); \
1143                else if (!strcmp(st, "center_selected"))  \
1144                   set_state(PART:"bg_dialogue", "center", 0.0); \
1145                else if (!strcmp(st, "bottom_selected"))  \
1146                   set_state(PART:"bg_dialogue", "bottom", 0.0); \
1147                else if (!strcmp(st, "selected")) \
1148                   set_state(PART:"bg_dialogue", "default", 0.0); \
1149                run_program(PROGRAM:"target_unselected"); \
1150             } \
1151          } \
1152          program { name: "target_selected"; \
1153             action: STATE_SET "selected" 0.0; \
1154             TARGET \
1155          }\
1156          program { name: "target_unselected"; \
1157             action: STATE_SET "default" 0.0; \
1158             TARGET \
1159          }\
1160          program { name: "bg_default"; \
1161             signal: "elm,state,default"; \
1162             source: "*"; \
1163             action: STATE_SET "default" 0.0; \
1164             target: "bg_dialogue"; \
1165          } \
1166          program { name: "bg_top"; \
1167             signal: "elm,state,top"; \
1168             source: "*"; \
1169             action: STATE_SET "top" 0.0; \
1170             target: "bg_dialogue"; \
1171          } \
1172          program { name: "bg_center"; \
1173             signal: "elm,state,center"; \
1174             source: "*"; \
1175             action: STATE_SET "center" 0.0; \
1176             target: "bg_dialogue"; \
1177          } \
1178          program { name: "bg_bottom"; \
1179             signal: "elm,state,bottom"; \
1180             source: "*"; \
1181             action: STATE_SET "bottom" 0.0; \
1182             target: "bg_dialogue"; \
1183          }
1184
1185
1186 #define GENLIST_PROGRAM_DECORATE_REORDER( NAME, TARGET ) \
1187          program { name: "reorder_enabled"NAME; \
1188             signal: "elm,state,reorder,mode_set"; \
1189             source: "elm"; \
1190             script { \
1191                new st[31]; \
1192                new Float:vl; \
1193                get_state(PART:"state", st, 30, vl); \
1194                if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
1195                   run_program(PROGRAM:"decorate_reorder_set"NAME); \
1196                } else { \
1197                   run_program(PROGRAM:"reorder_set"NAME); \
1198                } \
1199             } \
1200          } \
1201          program { name: "reorder_disabled"NAME; \
1202             signal: "elm,state,reorder,mode_unset"; \
1203             source: "elm"; \
1204             script { \
1205                new st[31]; \
1206                new Float:vl; \
1207                get_state(PART:"state", st, 30, vl); \
1208                if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
1209                   run_program(PROGRAM:"decorate_set"NAME); \
1210                } else { \
1211                   run_program(PROGRAM:"default_set"NAME); \
1212                } \
1213             } \
1214          } \
1215          program { name: "decorate_enabled_effect"NAME; \
1216             signal: "elm,state,decorate,enabled,effect";\
1217             source: "elm";\
1218             script { \
1219                new st[31]; \
1220                new Float:vl; \
1221                get_state(PART:"state", st, 30, vl); \
1222                if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
1223                   run_program(PROGRAM:"decorate_reorder_set"NAME); \
1224                } else { \
1225                   run_program(PROGRAM:"decorate_set"NAME); \
1226                } \
1227             } \
1228          }\
1229          program { name: "decorate_disabled_effect"NAME;\
1230             signal: "elm,state,decorate,disabled,effect";\
1231             source: "elm";\
1232             script { \
1233                new st[31]; \
1234                new Float:vl; \
1235                get_state(PART:"state", st, 30, vl); \
1236                if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
1237                   run_program(PROGRAM:"reorder_set"NAME); \
1238                } else { \
1239                   run_program(PROGRAM:"default_set"NAME); \
1240                } \
1241             } \
1242          }\
1243          program { name: "decorate_enabled"NAME;\
1244             signal: "elm,state,decorate,enabled";\
1245             source: "elm";\
1246             script { \
1247                new st[31]; \
1248                new Float:vl; \
1249                get_state(PART:"state", st, 30, vl); \
1250                if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
1251                   run_program(PROGRAM:"decorate_reorder_set"NAME); \
1252                } else { \
1253                   run_program(PROGRAM:"decorate_set"NAME); \
1254                } \
1255             } \
1256          }\
1257          program { name: "decorate_disabled"NAME;\
1258             signal: "elm,state,decorate,disabled";\
1259             source: "elm";\
1260             script { \
1261                new st[31]; \
1262                new Float:vl; \
1263                get_state(PART:"state", st, 30, vl); \
1264                if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
1265                   run_program(PROGRAM:"reorder_set"NAME); \
1266                } else { \
1267                   run_program(PROGRAM:"default_set"NAME); \
1268                } \
1269             } \
1270          } \
1271          program { name: "default_set"NAME; \
1272             action: STATE_SET "default" 0.0;\
1273             target: "state"; \
1274             TARGET \
1275          } \
1276          program { name: "decorate_set"NAME; \
1277             action: STATE_SET "decorate" 0.0;\
1278             target: "state"; \
1279             TARGET \
1280          } \
1281          program { name: "reorder_set"NAME; \
1282             action: STATE_SET "reorder" 0.0;\
1283             target: "state"; \
1284             TARGET \
1285          } \
1286          program { name: "decorate_reorder_set"NAME; \
1287             action: STATE_SET "decorate_reorder" 0.0;\
1288             target: "state"; \
1289             TARGET \
1290          }
1291
1292 #define GENLIST_PROGRAM_FLIP \
1293          program { name: "flip_enabled"; \
1294             signal:  "elm,state,flip,enabled"; \
1295             source:  "elm"; \
1296             transition: DECELERATE 0.5; \
1297             action:  STATE_SET "flipped" 0.0; \
1298             target: "elm.flip.content"; \
1299             target: "elm.flip.icon"; \
1300          } \
1301          program { name: "flip_disabled"; \
1302             signal:  "elm,state,flip,disabled"; \
1303             source:  "elm"; \
1304             transition: DECELERATE 0.5; \
1305             action:  STATE_SET "default" 0.0; \
1306             target: "elm.flip.content"; \
1307             target: "elm.flip.icon"; \
1308          } \
1309          program { name: "flip_enabled_bg"; \
1310             signal:  "elm,state,flip,enabled"; \
1311             source:  "elm"; \
1312             action:  STATE_SET "flipped" 0.0; \
1313             target: "elm.flip.bg"; \
1314          } \
1315          program { name: "flip_disabled_bg"; \
1316             signal:  "elm,state,flip,disabled"; \
1317             source:  "elm"; \
1318             action:  STATE_SET "default" 0.0; \
1319             target: "elm.flip.bg"; \
1320          } \
1321          program { \
1322             signal: "elm,state,eraser,show"; \
1323             action: STATE_SET "show" 0.0; \
1324             target: "elm.flip.eraser"; \
1325          } \
1326          program { \
1327             signal: "elm,state,eraser,hide"; \
1328             action: STATE_SET "default" 0.0; \
1329             target: "elm.flip.eraser"; \
1330          }
1331
1332 #define GENLIST_PROGRAM_EDITMODE \
1333    program { name: "edit_enabled"; \
1334       signal:  "elm,state,edit,enabled"; \
1335       source:  "*"; \
1336       action:  STATE_SET "editmode" 0.0; \
1337       target: "elm.padding.right.edit"; \
1338       target: "elm.icon.edit"; \
1339       target: "bg_dialogue_right"; \
1340    } \
1341    program { name: "edit_disabled"; \
1342       signal:  "elm,state,edit,disabled"; \
1343       source:  "*"; \
1344       action:  STATE_SET "default" 0.0; \
1345       target: "elm.padding.right.edit"; \
1346       target: "elm.icon.edit"; \
1347       target: "bg_dialogue_right"; \
1348    }
1349
1350 /***************************************************************************/
1351 /***************************************************************************/
1352
1353 #define GENLIST_PROGRAMS_NORMAL( TARGET ) \
1354    programs { \
1355       GENLIST_PROGRAM_DEFAULT( TARGET \
1356          target: "bg"; \
1357          target: "bg_clip"; \
1358          target: "bottom_line"; \
1359          target: "bottom_line2"; \
1360          target: "bottom_line_clip"; \
1361          target: "bg_reorder"; \
1362          target: "elm.padding.left"; \
1363          target: "elm.padding.right"; \
1364       ) \
1365       GENLIST_PROGRAM_DISABLED( TARGET \
1366          target: "bg"; \
1367          target: "bottom_line"; \
1368          target: "bottom_line2"; \
1369          target: "bg_reorder"; \
1370       ) \
1371       GENLIST_PROGRAM_FOCUS \
1372       GENLIST_PROGRAM_SELECT( TARGET \
1373          target: "bg"; \
1374          target: "bottom_line"; \
1375          target: "bottom_line2"; \
1376          target: "bg_reorder"; \
1377       ) \
1378       GENLIST_PROGRAM_SOUND("bg") \
1379       GENLIST_PROGRAM_SOUND("bg_reorder") \
1380       GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \
1381          target: "bg_clip"; \
1382          target: "bg_reorder_clip"; \
1383          target: "bottom_line_clip"; \
1384          target: "elm.padding.left"; \
1385          target: "elm.padding.right"; \
1386       ) \
1387       GENLIST_PROGRAM_FLIP \
1388    }
1389
1390 // FIXME: inheritance !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
1391 // if GENLIST_PROGRAM_EXPAND is here, expanda effect is something wrong.
1392 // because after can be duplicated when program inheriting.
1393 #define GENLIST_PROGRAMS_DIALOGUE( TARGET ) \
1394    programs { \
1395       GENLIST_PROGRAM_DEFAULT( TARGET \
1396          target: "bg_dialogue"; \
1397          target: "bg_dialogue_clip"; \
1398          target: "elm.padding.left"; \
1399          target: "elm.padding.right"; \
1400       ) \
1401       GENLIST_PROGRAM_DISABLED( TARGET ) \
1402       GENLIST_PROGRAM_FOCUS_DIALOGUE \
1403       GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
1404       program { name: "bg_color_change"; \
1405          signal: "bg_color_change"; \
1406          source: "elm"; \
1407          action: STATE_SET "2depth" 0.0; \
1408          target: "bg_dialogue_clip"; \
1409       } \
1410       GENLIST_PROGRAM_SOUND("bg_dialogue") \
1411       GENLIST_PROGRAM_DECORATE_REORDER( "normal", TARGET \
1412          target: "elm.padding.left"; \
1413          target: "elm.padding.right"; \
1414       ) \
1415       GENLIST_PROGRAM_FLIP \
1416       GENLIST_PROGRAM_EDITMODE \
1417    }
1418
1419 #define GENLIST_PROGRAMS_ENTRY \
1420    program { \
1421       signal: "elm,state,eraser,show"; \
1422       action: STATE_SET "show" 0.0; \
1423       target: "elm.icon.eraser"; \
1424    } \
1425    program { \
1426       signal: "elm,state,eraser,hide"; \
1427       action: STATE_SET "default" 0.0; \
1428       target: "elm.icon.eraser"; \
1429    } \
1430     program { \
1431       signal: "elm,state,rename,show"; \
1432       action: STATE_SET "default" 0.0; \
1433       target: "elm.image.rename"; \
1434    } \
1435    program { \
1436       signal: "elm,state,rename,hide"; \
1437       action: STATE_SET "hide" 0.0; \
1438       target: "elm.image.rename"; \
1439    }
1440
1441
1442 //****************************************************************************//
1443 // *******************************  Icon Part ******************************//
1444 //***************************************************************************//
1445 #define GENLIST_PART_ICON(NAME, DESCRIPION) \
1446    part { name: NAME; \
1447       scale: 1; \
1448       type: SWALLOW; \
1449       DESCRIPION \
1450    }
1451
1452 /*****************************************************************************/
1453 /******************************* Genlist IMAGE ********************************/
1454 /*****************************************************************************/
1455 #define GENLIST_PART_IMAGE(NAME, DESCRIPION) \
1456    part { name: NAME; \
1457       scale: 1; \
1458       type: IMAGE; \
1459       DESCRIPION \
1460    }
1461
1462 /*****************************************************************************/
1463 /******************************* Genlist RECT ********************************/
1464 /*****************************************************************************/
1465 #define GENLIST_PART_SPACER(NAME, DESCRIPION) \
1466     part { name: NAME; \
1467       scale: 1; \
1468       mouse_events: 0; \
1469       type: SPACER; \
1470       DESCRIPION \
1471    }
1472
1473 #define GENLIST_PART_RECT(NAME, DESCRIPION) \
1474     part { name: NAME; \
1475       scale: 1; \
1476       type: RECT; \
1477       DESCRIPION \
1478    }