[Genlist] Change button and group image by GUI 1.0
[platform/core/uifw/efl-theme-tizen.git] / themes / widgets / genlist / genlist_macro.edc
old mode 100644 (file)
new mode 100755 (executable)
index 2810c86..8703742
  */
 
 /* genlist multisense sample/tone listing */
-   sounds {
-      sample {
-         name: "button-pressed" RAW;
-         source: "button-pressed.wav";
-      }
-   }
 
 //****************************************************************************//
 // *******************************  Default size macro **********************//
@@ -29,8 +23,8 @@
 // if size is different for each theme, split it into each theme inc.
 
 #define GENLIST_HEIGHT_1LINE              110  // (114 - top/bottom padding)
-#define GENLIST_HEIGHT_2LINE_MAIN         54
-#define GENLIST_HEIGHT_2LINE_SUB          42
+#define GENLIST_HEIGHT_2LINE_MAIN         57
+#define GENLIST_HEIGHT_2LINE_SUB          45
 #define GENLIST_HEIGHT_MULTILINE_SUB      38
 #define GENLIST_PART_LIST_LINE_HEIGHT     1
 #define GENLIST_HEIGHT_GROUPTITLE         46
@@ -42,8 +36,8 @@
 #define GENLIST_PADDING_SIZE_TOP                2
 #define GENLIST_PADDING_SIZE_BOTTOM             2
 // -----------------------------------------------------
-#define GENLIST_PADDING_SIZE_TOP_2LINE          22
-#define GENLIST_PADDING_SIZE_BOTTOM_2LINE       22
+#define GENLIST_PADDING_SIZE_TOP_2LINE          19
+#define GENLIST_PADDING_SIZE_BOTTOM_2LINE       19
 #define GENLIST_PADDING_SIZE_TOP_3LINE          17
 #define GENLIST_PADDING_SIZE_BOTTOM_3LINE       17
 #define GENLIST_PADDING_SIZE_NDEPTH             26
 #define DIALOGUE_PADDING_SCROLLER         16
 #define DIALOGUE_PADDING_SIZE_LEFT        16+20
 #define DIALOGUE_PADDING_SIZE_RIGHT       16+20
+#define DIALOGUE_EDITFIELD_PADDING_SIZE_LEFT   16+10
+#define DIALOGUE_EDITFIELD_PADDING_SIZE_RIGHT  16+10
 
 #define GENLIST_ICON_SMALL_SIZE           45
 #define GENLIST_ICON_STAR_SIZE            45
-#define GENLIST_ICON_MEDIUM_SIZE          72
+#define GENLIST_ICON_MEDIUM_SIZE          81
 #define GENLIST_ICON_LARGE_SIZE           99
 
-#define GENLIST_ICON_MEDIUM_MASK_SIZE     84
+#define GENLIST_ICON_MEDIUM_MASK_SIZE     90
 #define GENLIST_ICON_LARGE_MASK_SIZE      108
 
 #define GENLIST_BTN_01_HEIGHT             74
 #define GENLIST_ICON_CHECK_RADIO_SIZE     64
 #define GENLIST_ICON_COLORBAR_SIZE        7
 #define GENLIST_ICON_PASSWORD_SIZE        82
+// 26(left padding)+2*74(Button Min width)+16(centre padding)+26(right padding)
+#define GENLIST_MIN_SLIDE2_BASE_WIDTH     216
+// 26(left padding)+3*74(Button Min width)+2*16(centre padding)+26(right padding)
+#define GENLIST_MIN_SLIDE3_BASE_WIDTH     306
+// 26(left padding)+4*74(Button Min width)+3*16(centre padding)+26(right padding)
+#define GENLIST_MIN_SLIDE4_BASE_WIDTH     396
 
 #define GENLIST_ICON_ENTRY_SIZE           54
 
 #define GENLIST_PROLOG_NORMAL \
       GENLIST_PROLOG \
       data.item: "treesize" GENLIST_TREESIZE_DEFAULT; \
-      data.item: "flips" "elm.flip.icon elm.flip.content elm.flip.eraser"; \
+      data.item: "flips" "elm.flip.icon elm.flip.content"; \
       images { \
          image : "00_list_group_bg.png" COMP; \
          image : "00_list_group_bg_press.png" COMP; \
 
 #define GENLIST_PROLOG_DIALOGUE \
       GENLIST_PROLOG \
-      data.item: "flips" "elm.flip.icon elm.flip.content elm.flip.eraser"; \
+      data.item: "flips" "elm.flip.icon elm.flip.content"; \
       images { \
          image : "00_list_group_bg.png" COMP; \
          image : "00_list_group_bg_press.png" COMP; \
          image : "00_list_group_bg_top_focus.png" COMP; \
          image : "00_list_group_bg_center_focus.png" COMP; \
          image : "00_list_group_bg_bottom_focus.png" COMP; \
+         image : "00_expandable_bg.png" COMP; \
+         image : "00_expandable_bg_top.png" COMP; \
+         image : "00_expandable_bg_center.png" COMP; \
+         image : "00_expandable_bg_bottom.png" COMP; \
       }
 
+
 #define GENLIST_NAME(NAME) \
       name: "elm/genlist/item/"NAME; \
       alias: "elm/genlist/item_odd/"NAME; \
          GENLIST_PART_FOCUS_DIALOGUE \
       }
 
+#define GENLIST_DIALOGUE_EDITFIELD_INHERIT_BODY( _PARTS ) \
+      data.item: "treesize" 0; \
+      parts { \
+         GENLIST_PART_BG_NORMAL_OFF \
+         GENLIST_PART_BOTTOM_LINE_OFF \
+         GENLIST_PART_BG_DIALOGUE \
+         GENLIST_PART_PADDING_LEFT_SIZE( DIALOGUE_EDITFIELD_PADDING_SIZE_LEFT ) \
+         GENLIST_PART_PADDING_RIGHT_EDIT \
+         _PARTS \
+         GENLIST_PART_FLIP \
+         GENLIST_PART_FOCUS_DIALOGUE \
+     }
+
+
 #define GENLIST_INHERIT_THUMB_CIRCLE(SIZE_PREFIX, MASK_SIZE, PARENT) \
      images { \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_circle_icon_bg_normal.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_circle_icon_bg_press.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_circle_icon_bg_dim.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_normal.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_press.png" COMP; \
+         image: "Content_views/00_circle_thumbnail_bg.png" COMP; \
+         image: "Content_views/00_circle_thumbnail_bg_press.png" COMP; \
+         image: "Content_views/00_circle_thumbnail_bg.png" COMP; \
+         image: "Content_views/00_circle_thumbnail_bg_press.png" COMP; \
       } \
       parts { \
          GENLIST_PART_RECT("elm.thumb.clip", \
             } \
          ) \
          GENLIST_PART_IMAGE("elm.thumb", \
+            insert_before: "focus_part"; \
             clip_to: "elm.thumb.clip"; \
             mouse_events: 0; \
             GENLIST_DESCRIPTION_ENVELOP(PARENT, \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_circle_icon_bg_normal.png"; \
+               image.normal: "Content_views/00_circle_thumbnail_bg.png"; \
                min: MASK_SIZE MASK_SIZE; \
                max: MASK_SIZE MASK_SIZE; \
                fixed:1 1; \
             ) \
             description { state: "selected" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_circle_icon_bg_press.png"; \
-            } \
-            description { state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_circle_icon_bg_dim.png"; \
+               image.normal: "Content_views/00_circle_thumbnail_bg_press.png"; \
             } \
             description { state: "reorder" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_normal.png"; \
+               image.normal: "Content_views/00_circle_thumbnail_bg.png"; \
             } \
             description { state: "reorder_selected" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_press.png"; \
-            } \
-            description { state: "reorder_disabled" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_circle_icon_bg_dim.png"; \
+               image.normal: "Content_views/00_circle_thumbnail_bg_press.png"; \
             } \
             description { state: "decorate" 0.0; \
                inherit: "default" 0.0; \
                inherit: "reorder" 0.0; \
             } \
          ) \
-         GENLIST_PART_FLIP \
       }
 
 #define GENLIST_INHERIT_THUMB_SQUARE(SIZE_PREFIX, MASK_SIZE, PARENT) \
       images { \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_square_icon_bg_normal.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_square_icon_bg_press.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_square_icon_bg_dim.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_normal.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_press.png" COMP; \
+         image: "Content_views/00_square_thumbnail_bg.png" COMP; \
+         image: "Content_views/00_square_thumbnail_bg_press.png" COMP; \
+         image: "Content_views/00_square_thumbnail_bg.png" COMP; \
+         image: "Content_views/00_square_thumbnail_bg_press.png" COMP; \
       } \
       parts { \
          GENLIST_PART_RECT("elm.thumb.clip", \
             } \
          ) \
          GENLIST_PART_IMAGE("elm.thumb", \
+            insert_before: "focus_part"; \
             clip_to: "elm.thumb.clip"; \
             mouse_events: 0; \
             GENLIST_DESCRIPTION_ENVELOP(PARENT, \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_square_icon_bg_normal.png"; \
+               image.normal: "Content_views/00_square_thumbnail_bg.png"; \
                min: MASK_SIZE MASK_SIZE; \
                max: MASK_SIZE MASK_SIZE; \
                fixed:1 1; \
             ) \
             description { state: "selected" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_square_icon_bg_press.png"; \
-            } \
-            description { state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_square_icon_bg_dim.png"; \
+               image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
             } \
             description { state: "reorder" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_normal.png"; \
+               image.normal: "Content_views/00_square_thumbnail_bg.png"; \
             } \
             description { state: "reorder_selected" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_press.png"; \
-            } \
-            description { state: "reorder_disabled" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_list_square_icon_bg_dim.png"; \
+               image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
             } \
             description { state: "decorate" 0.0; \
                inherit: "default" 0.0; \
                inherit: "reorder" 0.0; \
             } \
          ) \
-         GENLIST_PART_FLIP \
       }
 
 
 #define GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE(SIZE_PREFIX, MASK_SIZE, PARENT) \
      images { \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_normal.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_press.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_dim.png" COMP; \
+         image: "Content_views/00_circle_thumbnail_bg.png" COMP; \
+         image: "Content_views/00_circle_thumbnail_bg_press.png" COMP; \
       } \
       parts { \
          GENLIST_PART_RECT("elm.thumb.clip", \
             } \
          ) \
          GENLIST_PART_IMAGE("elm.thumb", \
+            insert_before: "focus_part_dialogue"; \
             clip_to: "elm.thumb.clip"; \
             mouse_events: 0; \
             GENLIST_DESCRIPTION_ENVELOP(PARENT, \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_normal.png"; \
+               image.normal: "Content_views/00_circle_thumbnail_bg.png"; \
                min: MASK_SIZE MASK_SIZE; \
                max: MASK_SIZE MASK_SIZE; \
                fixed:1 1; \
             ) \
             description { state: "selected" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_press.png"; \
+               image.normal: "Content_views/00_circle_thumbnail_bg_press.png"; \
             } \
             description { state: "reorder" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_normal.png"; \
+               image.normal: "Content_views/00_circle_thumbnail_bg.png"; \
             } \
             description { state: "reorder_selected" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_circle_icon_bg_press.png"; \
+               image.normal: "Content_views/00_circle_thumbnail_bg_press.png"; \
             } \
             description { state: "decorate" 0.0; \
                inherit: "default" 0.0; \
 
 #define GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE(SIZE_PREFIX, MASK_SIZE, PARENT) \
       images { \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_normal.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_press.png" COMP; \
-         image: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_dim.png" COMP; \
+         image: "Content_views/00_square_thumbnail_bg_normal.png" COMP; \
+         image: "Content_views/00_square_thumbnail_bg_press.png" COMP; \
       } \
       parts { \
          GENLIST_PART_RECT("elm.thumb.clip", \
             } \
          ) \
          GENLIST_PART_IMAGE("elm.thumb", \
+            insert_before: "focus_part_dialogue"; \
             clip_to: "elm.thumb.clip"; \
             mouse_events: 0; \
             GENLIST_DESCRIPTION_ENVELOP(PARENT, \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_normal.png"; \
+               image.normal: "Content_views/00_square_thumbnail_bg.png"; \
                min: MASK_SIZE MASK_SIZE; \
                max: MASK_SIZE MASK_SIZE; \
                fixed:1 1; \
             ) \
             description { state: "selected" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_press.png"; \
+               image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
             } \
             description { state: "reorder" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_normal.png"; \
+               image.normal: "Content_views/00_square_thumbnail_bg.png"; \
             } \
             description { state: "reorder_selected" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "Content_views/Icon_masking/"SIZE_PREFIX"/00_dialogue_square_icon_bg_press.png"; \
+               image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
             } \
             description { state: "decorate" 0.0; \
                inherit: "default" 0.0; \
 
 
 #define GENLIST_INHERIT_THUMB_CIRCLE_MEDIUM_DIALOGUE(PARENT) \
-   GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE("72x72", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
+   GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE("81x81", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
 
 #define GENLIST_INHERIT_THUMB_SQUARE_MEDIUM_DIALOGUE(PARENT) \
-   GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE("72x72", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
+   GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE("81x81", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
 
 #define GENLIST_INHERIT_THUMB_CIRCLE_LARGE_DIALOGUE(PARENT) \
    GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE("99x99", GENLIST_ICON_LARGE_MASK_SIZE, PARENT)
 //****************************************************************************//
 // ****************************** BG Image **********************************//
 //****************************************************************************//
+
 #define GENLIST_PART_BG_NORMAL \
       GENLIST_PART_RECT("bg_clip", \
          mouse_events: 0; \
          } \
       )
 
+
 #define GENLIST_PART_BG_NORMAL_OFF \
    GENLIST_PART_RECT("bg_clip", \
       mouse_events: 0; \
    )
 
 #define GENLIST_PART_BG_DIALOGUE \
-   GENLIST_PART_RECT("bg_dialogue_clip", \
+   GENLIST_PART_RECT("2depth", \
       description { state: "default" 0.0; \
-         color: 255 255 255 255; \
+         visible: 0;\
       } \
       description { state: "2depth" 0.0; \
-         color: 220 218 211 255; \
+         visible: 0; \
       } \
    ) \
    GENLIST_PART_SPACER("bg_dialogue_left", \
       } \
       description { state: "editmode" 0.0; \
          inherit: "default" 0.0; \
-         min: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_ICON_MEDIUM_SIZE) 0; \
-         max: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_ICON_MEDIUM_SIZE) 0; \
+         min: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_BTN_02_SIZE) 0; \
+         max: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_BTN_02_SIZE) 0; \
       } \
    ) \
    GENLIST_PART_IMAGE("bg_dialogue", \
       insert_after: "base"; \
-      clip_to: "bg_dialogue_clip"; \
       GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_right", \
          image { \
             normal: "00_list_group_bg.png"; \
             border_scale: 1; \
          } \
       } \
+      description { state: "2depth" 0.0; \
+         inherit: "default" 0.0; \
+         image { \
+            normal: "00_expandable_bg.png"; \
+            border: 17 17 8 8; \
+            border_scale: 1; \
+         } \
+      } \
+      description { state: "2depth_top" 0.0; \
+         inherit: "default" 0.0; \
+         image { \
+            normal: "00_expandable_bg_top.png"; \
+            border: 17 17 8 8; \
+            border_scale: 1; \
+         } \
+      } \
+      description { state: "2depth_center" 0.0; \
+         inherit: "default" 0.0; \
+         image { \
+            normal: "00_expandable_bg_center.png"; \
+            border: 17 17 8 8; \
+            border_scale: 1; \
+         } \
+      } \
+      description { state: "2depth_bottom" 0.0; \
+         inherit: "default" 0.0; \
+         image { \
+            normal: "00_expandable_bg_bottom.png"; \
+            border: 17 17 8 8; \
+            border_scale: 1; \
+         } \
+      } \
    )
 
 //****************************************************************************//
          visible: 0; \
          image { \
             normal: "00_focus.png"; \
-            border: 7 7 7 7; \
+            border: 6 6 6 6; \
+            border_scale: 1; \
          } \
       } \
       description { state: "focused" 0.0; \
          inherit: "default" 0.0; \
          visible: 1; \
       } \
+   ) \
+   GENLIST_PART_ICON("elm.icon.focus", \
+      repeat_events: 1; \
+      GENLIST_DESCRIPTION_ENVELOP("focus_part", \
+         fixed: 1 1; \
+      ) \
+   )
+
+#define GENLIST_PART_FOCUS_REORDER \
+   GENLIST_PART_IMAGE("focus_part_reorder", \
+      mouse_events: 0; \
+      GENLIST_DESCRIPTION_LR("bg_reorder_left", "bg_reorder_right", \
+         visible: 0; \
+         image { \
+            normal: "00_focus.png"; \
+            border: 6 6 6 6; \
+            border_scale: 1; \
+         } \
+      ) \
+      description { state: "focused" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+      } \
    )
 
+#define GENLIST_PART_FOCUS_NORMAL \
+   GENLIST_PART_FOCUS \
+   GENLIST_PART_FOCUS_REORDER
+
+
 #define GENLIST_PART_FOCUS_DIALOGUE \
-   GENLIST_PART_IMAGE("focus_part", \
+   GENLIST_PART_IMAGE("focus_part_dialogue", \
       mouse_events: 0; \
       GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_right", \
          visible: 0; \
          image { \
             normal: "00_focus.png"; \
-            border: 7 7 7 7; \
+            border: 6 6 6 6; \
+            border_scale: 1; \
          } \
       ) \
       description { state: "focused" 0.0; \
             border: 7 7 7 7; \
          } \
       } \
+   ) \
+   GENLIST_PART_ICON("elm.icon.focus", \
+      repeat_events: 1; \
+      GENLIST_DESCRIPTION_ENVELOP("focus_part_dialogue", \
+         fixed: 1 1; \
+      ) \
    )
 
 //****************************************************************************//
             } \
             description { state: "disabled" 0.0; \
                inherit: "default" 0.0; \
-               color: GENLIST_LIST_DIM_COLOR; \
+               color: GENLIST_LIST_LINE1_COLOR; \
             } \
             description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
                fixed: 0 1; \
                align: 0.5 1; \
                color: GENLIST_LIST_LINE2_COLOR; \
-               rel1.to_x: "elm.padding.left"; \
-               rel1.relative: 1 0; \
-               rel2.to_x: "elm.padding.right"; \
-               rel2.relative: 0 1; \
+               rel1.to_x: "base"; \
+               rel1.relative: 0 0; \
+               rel2.to_x: "base"; \
+               rel2.relative: 1 1; \
                rel1.offset: -1 -1; \
             } \
             description { state: "selected" 0.0; \
             } \
             description { state: "disabled" 0.0; \
                inherit: "default" 0.0; \
-               color: GENLIST_LIST_DIM_COLOR; \
+               color: GENLIST_LIST_LINE2_COLOR; \
             } \
             description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
             ) \
          )
 
-#define GENLIST_PART_CENTER_LINE_LT(LEFT, TOP) \
-         GENLIST_PART_SPACER("elm.padding.divider.left", \
-            GENLIST_DESCRIPTION_L(LEFT, \
-               min: 16 0; \
-               max: 16 -1; \
-               fixed: 1 0; \
-            ) \
-         ) \
-         GENLIST_PART_SPACER("elm.padding.divider.right", \
-            GENLIST_DESCRIPTION_ENVELOP("base", \
-               min: 16 0; \
-               max: 16 -1; \
-               fixed: 1 0; \
-               align: 1 0.5; \
-               rel1.relative: 1 0; \
-            ) \
-         ) \
+#define GENLIST_PART_CENTER_LINE_LRT(LEFT, RIGHT, TOP) \
          GENLIST_PART_RECT("center_line", \
             mouse_events: 0; \
-            GENLIST_DESCRIPTION_LRT("elm.padding.divider.left", "elm.padding.divider.right", TOP, \
+            GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, TOP, \
                min: 0 1; \
                max: -1 1; \
                fixed: 0 1; \
                color: GENLIST_LIST_DIVIDER1_COLOR; \
+               rel2.relative: 1 1; \
             ) \
          ) \
          GENLIST_PART_RECT("center_line2", \
-            GENLIST_DESCRIPTION_LRT("elm.padding.divider.left", "elm.padding.divider.right", "center_line", \
+            GENLIST_DESCRIPTION_LRT(LEFT, RIGHT, "center_line", \
                min: 0 1; \
                max: -1 1; \
                fixed: 0 1; \
                color: GENLIST_LIST_DIVIDER2_COLOR; \
+               rel2.relative: 1 1; \
             ) \
          )
 
          fixed: 1 0; \
          align: 1.0 0.5; \
          rel1.relative: 1 0; \
-         min: GENLIST_PADDING_SIZE_RIGHT 0; \
-         max: GENLIST_PADDING_SIZE_RIGHT -1; \
+         min: GENLIST_PADDING_SIZE_DEFAULT 0; \
+         max: GENLIST_PADDING_SIZE_DEFAULT -1; \
       } \
    ) \
    GENLIST_PART_ICON("elm.icon.edit", \
          inherit: "default" 0.0; \
          visible: 1; \
          fixed: 1 1; \
-         min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
-         max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
+         min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
+         max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
       } \
    )
 
             } \
             description { state: "editmode" 0.0; \
                inherit: "default" 0.0; \
-               min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_MEDIUM_SIZE) 0; \
-               max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_MEDIUM_SIZE) -1; \
+               min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_BTN_02_SIZE) 0; \
+               max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_BTN_02_SIZE) -1; \
             } \
          ) \
          GENLIST_PART_EDITBTN
                color: GENLIST_LIST_BG_COLOR;\
             }\
          ) \
-         GENLIST_PART_SPACER("elm.flip.padding.left",  \
-            description { state: "default" 0.0; \
-               min: 26 0; \
-               max: 26 -1; \
-               fixed: 1 0; \
-               align: 0 0.5; \
-               rel2.relative: 0 1; \
-            } \
-         ) \
          GENLIST_PART_SPACER("elm.flip.padding.right", \
             description { state: "default" 0.0; \
                min: 26 0; \
             } \
          ) \
          GENLIST_PART_ICON("elm.flip.content", \
-            GENLIST_DESCRIPTION("elm.flip.padding.left", "elm.flip.padding.eraser.left",  \
+            GENLIST_DESCRIPTION("elm.padding.left", "elm.flip.padding.icon.left",  \
                "elm.padding.top", "elm.padding.bottom", \
                visible: 0; \
                aspect: 1 1; \
+               min: 0 96; \
             ) \
             description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
                visible: 1; \
             } \
          ) \
-         GENLIST_PART_PADDING_R("elm.flip.padding.eraser.left", "elm.flip.eraser") \
-         GENLIST_PART_ICON("elm.flip.eraser", \
-            GENLIST_DESCRIPTION_RTB("elm.flip.padding.icon.left",  \
-               "elm.padding.top", "elm.padding.bottom", \
-               fixed: 1 0; \
-               visible: 0; \
-               min: GENLIST_ICON_ENTRY_SIZE GENLIST_ICON_ENTRY_SIZE; \
-               max: GENLIST_ICON_ENTRY_SIZE GENLIST_ICON_ENTRY_SIZE; \
-            ) \
-            description { state: "show" 0.0; \
-               inherit: "default" 0.0; \
-               visible: 1; \
-            } \
-         ) \
          GENLIST_PART_PADDING_R("elm.flip.padding.icon.left", "elm.flip.icon") \
          GENLIST_PART_ICON( "elm.flip.icon", \
             GENLIST_DESCRIPTION_RTB("elm.flip.padding.right", \
                visible: 0; \
                aspect: 1 1; \
                align: 1 0.5; \
-               max: 154 74; \
+               max: 158 74; \
             ) \
             description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
          target: "focus_part"; \
       }
 
-#define GENLIST_PROGRAM_FOCUS_DIALOGUE \
+#define GENLIST_PROGRAM_FOCUS_NORMAL \
       program { name: "focused"; \
          signal: "elm,state,focused"; \
          source: "elm"; \
          script { \
             new st[31]; \
             new Float:vl; \
-            get_state(PART:"bg_dialogue", st, 30, vl); \
-            if (!strcmp(st, "top") || !strcmp(st, "top_selected")) \
-               set_state(PART:"focus_part", "top_focused", 0.0); \
-            else if (!strcmp(st, "center") || !strcmp(st, "center_selected")) \
-               set_state(PART:"focus_part", "center_focused", 0.0); \
-            else if (!strcmp(st, "bottom") || !strcmp(st, "bottom_selected")) \
-               set_state(PART:"focus_part", "bottom_focused", 0.0); \
-            else if (!strcmp(st, "default") || !strcmp(st, "selected")) \
+            get_state(PART:"bg_reorder_clip", st, 30, vl); \
+            if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) \
+               set_state(PART:"focus_part_reorder", "focused", 0.0); \
+            else \
                set_state(PART:"focus_part", "focused", 0.0); \
          } \
       } \
          signal: "elm,state,unfocused"; \
          source: "elm"; \
          action: STATE_SET "default" 0.0; \
+         target: "focus_part_reorder"; \
          target: "focus_part"; \
       }
 
+#define GENLIST_PROGRAM_FOCUS_DIALOGUE \
+      program { name: "focused"; \
+         signal: "elm,state,focused"; \
+         source: "elm"; \
+         script { \
+            new st[31]; \
+            new Float:vl; \
+            get_state(PART:"bg_dialogue", st, 30, vl); \
+            if (!strcmp(st, "top") || !strcmp(st, "top_selected") || !strcmp(st, "2depth_top")) \
+               set_state(PART:"focus_part_dialogue", "top_focused", 0.0); \
+            else if (!strcmp(st, "center") || !strcmp(st, "center_selected") || !strcmp(st, "2depth_center")) \
+               set_state(PART:"focus_part_dialogue", "center_focused", 0.0); \
+            else if (!strcmp(st, "bottom") || !strcmp(st, "bottom_selected") || !strcmp(st, "2depth_bottom")) \
+               set_state(PART:"focus_part_dialogue", "bottom_focused", 0.0); \
+            else if (!strcmp(st, "default") || !strcmp(st, "selected") || !strcmp(st, "2depth")) \
+               set_state(PART:"focus_part_dialogue", "focused", 0.0); \
+         } \
+      } \
+      program { name: "unfocused"; \
+         signal: "elm,state,unfocused"; \
+         source: "elm"; \
+         action: STATE_SET "default" 0.0; \
+         target: "focus_part_dialogue"; \
+      }
+
 #define GENLIST_PROGRAM_SOUND( SRC ) \
+      program { \
+         name: "sound_disable"SRC; \
+         signal: "elm,state,slide,active"; \
+         source: "elm"; \
+         action: STATE_SET "disabled" 0.0; \
+         target: "base"; \
+      } \
+      program { \
+         name: "sound_enable"SRC; \
+         signal: "elm,state,slide,passive"; \
+         source: "elm"; \
+         action: STATE_SET "default" 0.0; \
+         target: "base"; \
+      } \
       program { name: "play_sound"SRC; \
          signal: "mouse,clicked,1"; \
          source: SRC; \
          } \
       } \
       program { name: "play_button_press"SRC; \
-         action: PLAY_SAMPLE "button-pressed" 1.0; \
+         action: PLAY_SAMPLE "touch_sound" 1.0; \
+      }
+
+#define GENLIST_PROGRAM_REORDER_SOUND( SRC ) \
+      program { name: "play_sound"SRC; \
+         signal: "mouse,clicked,1"; \
+         source: SRC; \
+         script { \
+            new st[31]; \
+            new Float:vl; \
+            get_state(PART:"base", st, 30, vl); \
+            if (strcmp(st, "disabled")) \
+               run_program(PROGRAM:"play_button_press"SRC); \
+         } \
+      } \
+      program { name: "play_button_press"SRC; \
+         action: PLAY_SAMPLE "reorder_sound" 1.0; \
       }
 
 #define GENLIST_PROGRAM_SELECT( TARGET ) \
             TARGET \
          }
 
+#define GENLIST_PROGRAM_BG_DIALOGUE \
+         program { name: "bg_top"; \
+            signal: "elm,state,top"; \
+            source: "*"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               new st2[31]; \
+               new Float:vl2; \
+               get_state(PART:"2depth", st, 30, vl); \
+               get_state(PART:"bg_dialogue", st2, 30, vl2); \
+               if (!strcmp(st2, "selected") || \
+                  !strcmp(st2, "top_selected") || \
+                  !strcmp(st2, "center_selected") ||  \
+                  !strcmp(st2, "bottom_selected")) \
+                  set_state(PART:"bg_dialogue", "top_selected", 0.0); \
+               else if (!strcmp(st, "2depth")) \
+                  set_state(PART:"bg_dialogue", "2depth_top", 0.0); \
+               else \
+                  set_state(PART:"bg_dialogue", "top", 0.0); \
+            } \
+         } \
+         program { name: "bg_center"; \
+            signal: "elm,state,center"; \
+            source: "*"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               new st2[31]; \
+               new Float:vl2; \
+               get_state(PART:"2depth", st, 30, vl); \
+               get_state(PART:"bg_dialogue", st2, 30, vl2); \
+               if (!strcmp(st2, "selected") || \
+                  !strcmp(st2, "top_selected") || \
+                  !strcmp(st2, "center_selected") ||  \
+                  !strcmp(st2, "bottom_selected")) \
+                  set_state(PART:"bg_dialogue", "center_selected", 0.0); \
+               else if (!strcmp(st, "2depth")) \
+                  set_state(PART:"bg_dialogue", "2depth_center", 0.0); \
+               else \
+                  set_state(PART:"bg_dialogue", "center", 0.0); \
+            } \
+         } \
+         program { name: "bg_bottom"; \
+            signal: "elm,state,bottom"; \
+            source: "*"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               new st2[31]; \
+               new Float:vl2; \
+               get_state(PART:"2depth", st, 30, vl); \
+               get_state(PART:"bg_dialogue", st2, 30, vl2); \
+               if (!strcmp(st2, "selected") || \
+                  !strcmp(st2, "top_selected") || \
+                  !strcmp(st2, "center_selected") ||  \
+                  !strcmp(st2, "bottom_selected")) \
+                  set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
+               else if (!strcmp(st, "2depth")) \
+                  set_state(PART:"bg_dialogue", "2depth_bottom", 0.0); \
+               else \
+                  set_state(PART:"bg_dialogue", "bottom", 0.0); \
+            } \
+         }
+
 #define GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
          program { name: "selected"; \
             signal: "elm,state,selected"; \
                new st[31]; \
                new Float:vl; \
                get_state(PART:"bg_dialogue", st, 30, vl); \
-               if (!strcmp(st, "top")) \
+               if (!strcmp(st, "top") || !strcmp(st, "2depth_top")) \
                   set_state(PART:"bg_dialogue", "top_selected", 0.0); \
-               else if (!strcmp(st, "center")) \
+               else if (!strcmp(st, "center") || !strcmp(st, "2depth_center")) \
                   set_state(PART:"bg_dialogue", "center_selected", 0.0); \
-               else if (!strcmp(st, "bottom")) \
+               else if (!strcmp(st, "bottom") || !strcmp(st, "2depth_bottom")) \
                   set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
-               else if (!strcmp(st, "default")) \
+               else if (!strcmp(st, "default") || !strcmp(st, "2depth")) \
                   set_state(PART:"bg_dialogue", "selected", 0.0); \
                run_program(PROGRAM:"target_selected"); \
             } \
             script { \
                new st[31]; \
                new Float:vl; \
-               get_state(PART:"bg_dialogue", st, 30, vl); \
-               if (!strcmp(st, "top_selected")) \
+               get_state(PART:"2depth", st, 30, vl); \
+               if (!strcmp(st, "2depth")) { \
+                  get_state(PART:"bg_dialogue", st, 30, vl); \
+                  if (!strcmp(st, "top_selected")) \
+                     set_state(PART:"bg_dialogue", "2depth_top", 0.0); \
+                  else if (!strcmp(st, "center_selected"))  \
+                     set_state(PART:"bg_dialogue", "2depth_center", 0.0); \
+                  else if (!strcmp(st, "bottom_selected"))  \
+                     set_state(PART:"bg_dialogue", "2depth_bottom", 0.0); \
+                  else if (!strcmp(st, "selected")) \
+                     set_state(PART:"bg_dialogue", "2depth", 0.0); \
+               } else { \
+                  get_state(PART:"bg_dialogue", st, 30, vl); \
+                  if (!strcmp(st, "top_selected")) \
                   set_state(PART:"bg_dialogue", "top", 0.0); \
-               else if (!strcmp(st, "center_selected"))  \
-                  set_state(PART:"bg_dialogue", "center", 0.0); \
-               else if (!strcmp(st, "bottom_selected"))  \
-                  set_state(PART:"bg_dialogue", "bottom", 0.0); \
-               else if (!strcmp(st, "selected")) \
-                  set_state(PART:"bg_dialogue", "default", 0.0); \
+                  else if (!strcmp(st, "center_selected"))  \
+                     set_state(PART:"bg_dialogue", "center", 0.0); \
+                  else if (!strcmp(st, "bottom_selected"))  \
+                     set_state(PART:"bg_dialogue", "bottom", 0.0); \
+                  else if (!strcmp(st, "selected")) \
+                     set_state(PART:"bg_dialogue", "default", 0.0); \
+               } \
                run_program(PROGRAM:"target_unselected"); \
             } \
          } \
          program { name: "target_unselected"; \
             action: STATE_SET "default" 0.0; \
             TARGET \
-         }\
-         program { name: "bg_default"; \
-            signal: "elm,state,default"; \
-            source: "*"; \
-            action: STATE_SET "default" 0.0; \
-            target: "bg_dialogue"; \
          } \
-         program { name: "bg_top"; \
-            signal: "elm,state,top"; \
-            source: "*"; \
-            action: STATE_SET "top" 0.0; \
-            target: "bg_dialogue"; \
-         } \
-         program { name: "bg_center"; \
-            signal: "elm,state,center"; \
-            source: "*"; \
-            action: STATE_SET "center" 0.0; \
-            target: "bg_dialogue"; \
-         } \
-         program { name: "bg_bottom"; \
-            signal: "elm,state,bottom"; \
-            source: "*"; \
-            action: STATE_SET "bottom" 0.0; \
-            target: "bg_dialogue"; \
-         }
+         GENLIST_PROGRAM_BG_DIALOGUE
+
 
 #define GENLIST_PROGRAM_SELECT_ARROW \
          program { name: "selected_arrow"; \
                   set_state(PART:"arrow_clip", "expand_opened", 0.0); \
                } \
             } \
+         } \
+         program { name: "selected_arrow_shadow"; \
+            signal: "elm,state,selected"; \
+            source: "elm"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"arrow_shadow_clip", st, 30, vl); \
+               if (!strcmp(st, "default")) { \
+                  set_state(PART:"arrow_shadow_clip", "default_press", 0.0); \
+               } \
+               else if (!strcmp(st, "expand_opened")) { \
+                  set_state(PART:"arrow_shadow_clip", "expand_opened_press", 0.0); \
+               } \
+            } \
+         } \
+         program { name: "unselected_arrow_shadow"; \
+            signal: "elm,state,unselected"; \
+            source: "elm"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"arrow_shadow_clip", st, 30, vl); \
+               if (!strcmp(st, "default_press")) { \
+                  set_state(PART:"arrow_shadow_clip", "default", 0.0); \
+               } \
+               else if (!strcmp(st, "expand_opened_press")) { \
+                  set_state(PART:"arrow_shadow_clip", "expand_opened", 0.0); \
+               } \
+            } \
          }
 
 #define GENLIST_PROGRAM_DECORATE( TARGET ) \
             source:  "elm"; \
             action:  STATE_SET "default" 0.0; \
             target: "elm.flip.bg"; \
-         } \
-         program { \
-            signal: "elm,state,eraser,show"; \
-            action: STATE_SET "show" 0.0; \
-            target: "elm.flip.eraser"; \
-         } \
-         program { \
-            signal: "elm,state,eraser,hide"; \
-            action: STATE_SET "default" 0.0; \
-            target: "elm.flip.eraser"; \
          }
 
 #define GENLIST_PROGRAM_FLIP_TARGET( TARGET ) \
          target: "bottom_line2"; \
          target: "bg_reorder"; \
       ) \
-      GENLIST_PROGRAM_FOCUS \
+      GENLIST_PROGRAM_FOCUS_NORMAL \
       GENLIST_PROGRAM_SELECT( TARGET \
          target: "bg"; \
          target: "bottom_line"; \
          target: "bg_reorder"; \
       ) \
       GENLIST_PROGRAM_SOUND("bg") \
-      GENLIST_PROGRAM_SOUND("bg_reorder") \
+      GENLIST_PROGRAM_REORDER_SOUND("bg_reorder") \
       GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \
          target: "bg_clip"; \
          target: "bg_reorder_clip"; \
       GENLIST_PROGRAM_FLIP \
    }
 
-// FIXME: inheritance !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
-// if GENLIST_PROGRAM_EXPAND is here, expanda effect is something wrong.
-// because after can be duplicated when program inheriting.
 #define GENLIST_PROGRAMS_DIALOGUE( TARGET ) \
    programs { \
       GENLIST_PROGRAM_DEFAULT( TARGET \
          target: "bg_dialogue"; \
-         target: "bg_dialogue_clip"; \
          target: "elm.padding.left"; \
          target: "elm.padding.right"; \
+         target: "elm.padding.right.edit"; \
+         target: "elm.icon.edit"; \
+         target: "bg_dialogue_right"; \
       ) \
       GENLIST_PROGRAM_DISABLED( TARGET ) \
       GENLIST_PROGRAM_FOCUS_DIALOGUE \
          signal: "bg_color_change"; \
          source: "elm"; \
          action: STATE_SET "2depth" 0.0; \
-         target: "bg_dialogue_clip"; \
+         target: "2depth"; \
       } \
       GENLIST_PROGRAM_SOUND("bg_dialogue") \
       GENLIST_PROGRAM_DECORATE_REORDER( "normal", TARGET \
       TARGET \
    }
 
-#define GENLIST_PROGRAMS_ENTRY \
-   program { \
-      signal: "elm,state,eraser,show"; \
-      action: STATE_SET "show" 0.0; \
-      target: "elm.icon.eraser"; \
-   } \
-   program { \
-      signal: "elm,state,eraser,hide"; \
-      action: STATE_SET "default" 0.0; \
-      target: "elm.icon.eraser"; \
-   } \
-    program { \
-      signal: "elm,state,rename,show"; \
-      action: STATE_SET "default" 0.0; \
-      target: "elm.image.rename"; \
+#define GENLIST_PROGRAMS_ENTRY( TARGET ) \
+   GENLIST_PROGRAM_DEFAULT( TARGET \
+      target: "bg"; \
+      target: "bg_clip"; \
+      target: "bottom_line"; \
+      target: "bottom_line2"; \
+      target: "bottom_line_clip"; \
+      target: "bg_reorder"; \
+      target: "elm.padding.left"; \
+      target: "elm.padding.right"; \
+   ) \
+   GENLIST_PROGRAM_DISABLED( TARGET ) \
+   GENLIST_PROGRAM_FOCUS_NORMAL \
+   GENLIST_PROGRAM_DECORATE_REORDER("editfield", TARGET \
+      target: "bg_clip"; \
+      target: "bg_reorder_clip"; \
+      target: "bottom_line_clip"; \
+      target: "elm.padding.left"; \
+      target: "elm.padding.right"; \
+   )
+
+#define GENLIST_PROGRAMS_DIALOGUE_ENTRY( TARGET ) \
+   GENLIST_PROGRAM_DEFAULT( TARGET \
+      target: "bg_dialogue"; \
+      target: "elm.padding.left"; \
+      target: "elm.padding.right"; \
+   ) \
+   GENLIST_PROGRAM_DISABLED( TARGET ) \
+   GENLIST_PROGRAM_FOCUS_DIALOGUE \
+   program { name: "bg_color_change"; \
+      signal: "bg_color_change"; \
+      source: "elm"; \
+      action: STATE_SET "2depth" 0.0; \
+      target: "2depth"; \
    } \
-   program { \
-      signal: "elm,state,rename,hide"; \
-      action: STATE_SET "hide" 0.0; \
-      target: "elm.image.rename"; \
-   }
+   GENLIST_PROGRAM_BG_DIALOGUE \
+   GENLIST_PROGRAM_DECORATE_REORDER( "normal", TARGET \
+      target: "elm.padding.left"; \
+      target: "elm.padding.right"; \
+   ) \
+   GENLIST_PROGRAM_FLIP \
+   GENLIST_PROGRAM_EDITMODE
+
 
 #define GENLIST_PROGRAMS_THUMB \
    GENLIST_PROGRAM_DECORATE_REORDER( "thumb", target: "elm.thumb"; ) \
 #define GENLIST_PARAM_PASSWORD_IMAGE \
             min: GENLIST_ICON_PASSWORD_SIZE GENLIST_ICON_PASSWORD_SIZE; \
             max: GENLIST_ICON_PASSWORD_SIZE GENLIST_ICON_PASSWORD_SIZE; \
-            image.normal: "00_search_edit_field_bg_02.png"; \
+            image.normal: "00_search_edit_field_bg.png"; \
             image.border: 12 13 12 13; \
             image.border_scale: 1;
 
 /*****************************************************************************/
+/******************************* Genlist Proxy ********************************/
+/*****************************************************************************/
+#define GENLIST_PART_PROXY(NAME, DESCRIPION) \
+   part { name: NAME; \
+      scale: 1; \
+      type: PROXY; \
+      DESCRIPION \
+   }
+
+/*****************************************************************************/
 /******************************* Genlist Bubble ********************************/
 /*****************************************************************************/
 #define GENLIST_IMAGES_EXPANDABLE_BTN \
          images { \
-            image: "00_button_expand_closed.png" COMP; \
-            image: "00_button_expand_opened.png" COMP; \
+            image: "00_list_button_expand_closed.png" COMP; \
+            image: "00_list_button_expand_opened.png" COMP; \
          }
 
 #define GENLIST_PART_EXPANDABLE_ARROW \
          ) \
          GENLIST_PART_RECT("arrow_clip", \
             GENLIST_DESCRIPTION_ENVELOP("arrow", \
-               color: 101 101 101 255; \
+               color: GENLIST_EXPANDABLE_ARROW_NORMAL_COLOR; \
+            ) \
+            description { state: "disabled" 0.0; \
+               color: GENLIST_EXPANDABLE_ARROW_DIM_COLOR; \
+            } \
+            description { state: "expand_opened_press" 0.0; \
+               color: GENLIST_EXPANDABLE_ARROW_PRESS_COLOR; \
+            } \
+            description { state: "default_press" 0.0; \
+               color: GENLIST_EXPANDABLE_ARROW_PRESS_COLOR; \
+            } \
+         ) \
+         GENLIST_PART_RECT("arrow_shadow_clip", \
+            GENLIST_DESCRIPTION_ENVELOP("arrow_shadow", \
+               color: GENLIST_EXPANDABLE_ARROW_SHADOW_NORMAL_COLOR; \
             ) \
             description { state: "disabled" 0.0; \
-               color: 101 101 101 76; \
+               color: GENLIST_EXPANDABLE_ARROW_SHADOW_DIM_COLOR; \
             } \
             description { state: "expand_opened_press" 0.0; \
-               color: 248 246 239 255; \
+               color: GENLIST_EXPANDABLE_ARROW_SHADOW_PRESS_COLOR; \
+               visible: 0; \
             } \
             description { state: "default_press" 0.0; \
-               color: 248 246 239 255; \
+               color: GENLIST_EXPANDABLE_ARROW_SHADOW_PRESS_COLOR; \
+               visible: 0; \
+            } \
+         ) \
+         GENLIST_PART_PROXY("arrow_shadow", \
+            clip_to: "arrow_shadow_clip"; \
+            ignore_flags: ON_HOLD; \
+            mouse_events: 0; \
+            description { state : "default" 0.0; \
+               source: "arrow"; \
+               rel1.to: "arrow"; \
+               rel1.offset: 0 2; \
+               rel2.to: "arrow"; \
+               rel2.offset: 0 2; \
             } \
          ) \
          GENLIST_PART_IMAGE("arrow", \
             mouse_events: 0; \
             GENLIST_DESCRIPTION_R("elm.padding.right", \
                fixed: 1 1; \
-               min: 45 45; \
-               max: 45 45; \
-               image.normal: "00_button_expand_closed.png"; \
+               min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
+               max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
+               image.normal: "00_list_button_expand_closed.png"; \
             ) \
             description { state: "default_press" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "00_button_expand_closed_press.png"; \
             } \
             description { state: "expand_opened" 0.0; \
                inherit: "default" 0.0; \
-               image.normal: "00_button_expand_opened.png"; \
+               image.normal: "00_list_button_expand_opened.png"; \
             } \
             description { state: "expand_opened_press" 0.0; \
                inherit: "expand_opened" 0.0; \
-               image.normal: "00_button_expand_opened_press.png"; \
             } \
          )
+
 /*****************************************************************************/
 /******************************* Genlist RECT ********************************/
 /*****************************************************************************/
 /*****************************************************************************/
 /******************************* Genlist TEXT ********************************/
 /*****************************************************************************/
+// FIXME: because, when naviframe item is pushed,
+// naviframe freeze all events so text events cannot be repeated. :-(
+// So all texts should have it's own sound program, not repeat to BG
 #define GENLIST_PART_TEXT(NAME, DESCRIPION) \
     part { name: NAME; \
       scale: 1; \
-      repeat_events: 1; \
       type: TEXT; \
       DESCRIPION \
    }
 #define GENLIST_PART_TEXTBLOCK(NAME, DESCRIPION) \
     part { name: NAME; \
       scale: 1; \
-      repeat_events: 1; \
       type: TEXTBLOCK; \
       DESCRIPION \
    }
 
 #define GENLIST_PROGRAM_PLAY_BUTTON_PRESS \
          program { name: "play_button_press"; \
-            action: PLAY_SAMPLE "button-pressed" 1.0; \
+            action: PLAY_SAMPLE "touch_sound" 1.0; \
          }
 #endif
+
+#define GENLIST_POPUP_STYLE(NAME) \
+   group { GENLIST_NAME(NAME"/popup/default") \
+      inherit: "elm/genlist/item/"NAME"/default"; \
+      parts { \
+         GENLIST_PART_RECT("bg",  \
+            description { state: "default" 0.0; \
+               color: GENLIST_LIST_BG_POPUP_COLOR; \
+            } \
+         ) \
+      } \
+   }