[Genlist] Change button and group image by GUI 1.0
[platform/core/uifw/efl-theme-tizen.git] / themes / widgets / genlist / genlist_macro.edc
index 2a59977..8703742 100755 (executable)
  */
 
 /* genlist multisense sample/tone listing */
-   sounds {
-      sample {
-         name: "button-pressed" RAW;
-         source: "button-pressed.wav";
-      }
-   }
 
 //****************************************************************************//
 // *******************************  Default size macro **********************//
 
 #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_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; \
 
 #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_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", \
             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"; \
+               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(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_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", \
             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"; \
+               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_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", \
             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", \
             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)
       } \
       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", \
          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; \
       }
 
 #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; \
+         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 "touch_sound" 1.0; \
+      }
+
+#define GENLIST_PROGRAM_REORDER_SOUND( SRC ) \
       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 "reorder_sound" 1.0; \
       }
 
 #define GENLIST_PROGRAM_SELECT( TARGET ) \
          }
 
 #define GENLIST_PROGRAM_BG_DIALOGUE \
-         program { name: "bg_default"; \
-            signal: "elm,state,default"; \
-            source: "*"; \
-            script { \
-               new st[31]; \
-               new Float:vl; \
-               get_state(PART:"2depth", st, 30, vl); \
-               if (!strcmp(st, "2depth")) \
-                  set_state(PART:"bg_dialogue", "2depth", 0.0); \
-               else \
-                  set_state(PART:"bg_dialogue", "default", 0.0); \
-            } \
-         } \
          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); \
-               if (!strcmp(st, "2depth")) \
+               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); \
             script { \
                new st[31]; \
                new Float:vl; \
+               new st2[31]; \
+               new Float:vl2; \
                get_state(PART:"2depth", st, 30, vl); \
-               if (!strcmp(st, "2depth")) \
+               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); \
             script { \
                new st[31]; \
                new Float:vl; \
+               new st2[31]; \
+               new Float:vl2; \
                get_state(PART:"2depth", st, 30, vl); \
-               if (!strcmp(st, "2depth")) \
+               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); \
                   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: "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"; \
          target: "bg_dialogue"; \
          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 \
             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: 250 250 250 255; \
+               color: GENLIST_EXPANDABLE_ARROW_NORMAL_COLOR; \
             ) \
             description { state: "disabled" 0.0; \
-               color: 250 250 250 76; \
+               color: GENLIST_EXPANDABLE_ARROW_DIM_COLOR; \
             } \
             description { state: "expand_opened_press" 0.0; \
-               color: 250 250 250 255; \
+               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: GENLIST_EXPANDABLE_ARROW_SHADOW_DIM_COLOR; \
+            } \
+            description { state: "expand_opened_press" 0.0; \
+               color: GENLIST_EXPANDABLE_ARROW_SHADOW_PRESS_COLOR; \
+               visible: 0; \
             } \
             description { state: "default_press" 0.0; \
-               color: 250 250 250 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 ********************************/
 /*****************************************************************************/
 
 #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; \
+            } \
+         ) \
+      } \
+   }