[Genlist] Change button and group image by GUI 1.0
[platform/core/uifw/efl-theme-tizen.git] / themes / widgets / genlist / genlist_macro.edc
index 26d2b3c..8703742 100755 (executable)
  * limitations under the License.
  */
 
-
+/* genlist multisense sample/tone listing */
 
 //****************************************************************************//
 // *******************************  Default size macro **********************//
 //**************************************************************************//
 // if size is different for each theme, split it into each theme inc.
 
-#define GENLIST_HEIGHT_1LINE              112
-#define GENLIST_HEIGHT_2LINE_MAIN         54
-#define GENLIST_HEIGHT_2LINE_SUB          42
+#define GENLIST_HEIGHT_1LINE              110  // (114 - top/bottom padding)
+#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
@@ -36,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_BIG_SIZE             72
 #define GENLIST_ICON_SMALL_SIZE           45
 #define GENLIST_ICON_STAR_SIZE            45
-#define GENLIST_ICON_THUMBNAIL1_SIZE      104
+#define GENLIST_ICON_MEDIUM_SIZE          81
+#define GENLIST_ICON_LARGE_SIZE           99
+
+#define GENLIST_ICON_MEDIUM_MASK_SIZE     90
+#define GENLIST_ICON_LARGE_MASK_SIZE      108
+
 #define GENLIST_BTN_01_HEIGHT             74
 #define GENLIST_BTN_02_SIZE               72
 #define GENLIST_ICON_ONOFF_WIDTH          132
 #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_center_press.png" COMP; \
          image : "00_list_group_bg_bottom.png" COMP; \
          image : "00_list_group_bg_bottom_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_PADDING_RIGHT_EDIT \
          _PARTS \
          GENLIST_PART_FLIP \
+         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/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", \
+            description { state: "default";  \
+            } \
+            description { state: "flipped";  \
+               color: 0 0 0 0; \
+            } \
+         ) \
+         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/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/00_circle_thumbnail_bg_press.png"; \
+            } \
+            description { state: "reorder" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "Content_views/00_circle_thumbnail_bg.png"; \
+            } \
+            description { state: "reorder_selected" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "Content_views/00_circle_thumbnail_bg_press.png"; \
+            } \
+            description { state: "decorate" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "reorder" 0.0; \
+            } \
+         ) \
+      }
+
+#define GENLIST_INHERIT_THUMB_SQUARE(SIZE_PREFIX, MASK_SIZE, PARENT) \
+      images { \
+         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", \
+            description { state: "default";  \
+            } \
+            description { state: "flipped";  \
+               color: 0 0 0 0; \
+            } \
+         ) \
+         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/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/00_square_thumbnail_bg_press.png"; \
+            } \
+            description { state: "reorder" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "Content_views/00_square_thumbnail_bg.png"; \
+            } \
+            description { state: "reorder_selected" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
+            } \
+            description { state: "decorate" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "reorder" 0.0; \
+            } \
+         ) \
+      }
+
+
+#define GENLIST_INHERIT_THUMB_CIRCLE_DIALOGUE(SIZE_PREFIX, MASK_SIZE, PARENT) \
+     images { \
+         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", \
+            description { state: "default";  \
+            } \
+            description { state: "flipped";  \
+               color: 0 0 0 0; \
+            } \
+         ) \
+         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/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/00_circle_thumbnail_bg_press.png"; \
+            } \
+            description { state: "reorder" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "Content_views/00_circle_thumbnail_bg.png"; \
+            } \
+            description { state: "reorder_selected" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "Content_views/00_circle_thumbnail_bg_press.png"; \
+            } \
+            description { state: "decorate" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "reorder" 0.0; \
+            } \
+         ) \
+      }
+
+#define GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE(SIZE_PREFIX, MASK_SIZE, PARENT) \
+      images { \
+         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", \
+            description { state: "default";  \
+            } \
+            description { state: "flipped";  \
+               color: 0 0 0 0; \
+            } \
+         ) \
+         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/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/00_square_thumbnail_bg_press.png"; \
+            } \
+            description { state: "reorder" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "Content_views/00_square_thumbnail_bg.png"; \
+            } \
+            description { state: "reorder_selected" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "Content_views/00_square_thumbnail_bg_press.png"; \
+            } \
+            description { state: "decorate" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "reorder" 0.0; \
+            } \
+         ) \
       }
 
+#define GENLIST_INHERIT_THUMB_CIRCLE_MEDIUM(PARENT) \
+   GENLIST_INHERIT_THUMB_CIRCLE("72x72", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
+
+#define GENLIST_INHERIT_THUMB_SQUARE_MEDIUM(PARENT) \
+   GENLIST_INHERIT_THUMB_SQUARE("72x72", GENLIST_ICON_MEDIUM_MASK_SIZE, PARENT)
+
+#define GENLIST_INHERIT_THUMB_CIRCLE_LARGE(PARENT) \
+   GENLIST_INHERIT_THUMB_CIRCLE("99x99", GENLIST_ICON_LARGE_MASK_SIZE, PARENT)
+
+#define GENLIST_INHERIT_THUMB_SQUARE_LARGE(PARENT) \
+   GENLIST_INHERIT_THUMB_SQUARE("99x99", GENLIST_ICON_LARGE_MASK_SIZE, PARENT)
+
+
+#define GENLIST_INHERIT_THUMB_CIRCLE_MEDIUM_DIALOGUE(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("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)
+
+#define GENLIST_INHERIT_THUMB_SQUARE_LARGE_DIALOGUE(PARENT) \
+   GENLIST_INHERIT_THUMB_SQUARE_DIALOGUE("99x99", GENLIST_ICON_LARGE_MASK_SIZE, PARENT)
+
 //****************************************************************************//
 // ****************************** BG Image **********************************//
 //****************************************************************************//
-#define GENLIST_PART_BG(DEFAULT_COLOR, SELECT_COLOR, DISABLE_COLOR) \
+
+#define GENLIST_PART_BG_NORMAL \
       GENLIST_PART_RECT("bg_clip", \
          mouse_events: 0; \
          description { state: "default" 0.0; \
+            visible: 1; \
+            color: 255 255 255 255; \
          } \
          description { state: "decorate" 0.0; \
             inherit: "default" 0.0; \
-            color: 0 0 0 0; \
+            visible: 0; \
          } \
          description { state: "reorder" 0.0; \
             inherit: "default" 0.0; \
-            color: 0 0 0 0; \
+            visible: 0; \
+         } \
+         description { state: "decorate_reorder" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
          } \
       ) \
-      GENLIST_PART_RECT("bg",  \
+      GENLIST_PART_RECT("bg_reorder_clip", \
          mouse_events: 0; \
+         description { state: "default" 0.0; \
+            visible: 0; \
+         } \
+         description { state: "reorder" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 1; \
+            color: 255 255 255 255; \
+         } \
+         description { state: "decorate_reorder" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+         description { state: "decorate" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+         description { state: "reorder_flip" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+      ) \
+      GENLIST_PART_RECT("bg",  \
          clip_to: "bg_clip"; \
          description { state: "default" 0.0; \
             color: GENLIST_LIST_BG_COLOR; \
          } \
          description { state: "selected" 0.0; \
             inherit: "default" 0.0; \
-            color: SELECT_COLOR; \
+            color: GENLIST_LIST_PRESS_COLOR; \
          } \
          description { state: "disabled" 0.0; \
             inherit: "default" 0.0; \
-            color: DISABLE_COLOR; \
+            color: GENLIST_LIST_DIM_COLOR; \
          } \
-         description { state: "decorate" 0.0; \
-            inherit: "default" 0.0; \
+      ) \
+      GENLIST_PART_SPACER("bg_reorder_left", \
+         description { state: "default" 0.0; \
+            min: 16 0; \
+            max: 16 -1; \
+            fixed: 1 0; \
+            align: 0 0.5; \
+            rel2.relative: 0 1; \
+         } \
+      ) \
+      GENLIST_PART_SPACER("bg_reorder_right", \
+         description { state: "default" 0.0; \
+            min: 16 0; \
+            max: 16 -1; \
+            fixed: 1 0; \
+            align: 1.0 0.5; \
+            rel1.relative: 1 0; \
+         } \
+      ) \
+      GENLIST_PART_IMAGE("bg_reorder", \
+         clip_to: "bg_reorder_clip"; \
+         GENLIST_DESCRIPTION_LR("bg_reorder_left", "bg_reorder_right", \
+            image { \
+               normal: "00_list_group_bg.png"; \
+               border: 17 17 8 8; \
+               border_scale: 1; \
+            } \
+         ) \
+         description { state: "selected" 0.0; \
+            inherit: "default"; \
+            image { \
+               normal: "00_list_group_bg_press.png"; \
+               border: 17 17 8 8; \
+               border_scale: 1; \
+            } \
+         } \
+         description { state: "flipped" 0.0; \
+            inherit: "default"; \
             visible: 0; \
          } \
-         GENLIST_DESCRIPTION_FADE \
       )
 
-#define GENLIST_PART_BG_NORMAL \
-      GENLIST_PART_BG(GENLIST_LIST_BG_COLOR, \
-         GENLIST_LIST_PRESS_COLOR, \
-         GENLIST_LIST_DIM_COLOR \
-      ) \
-      GENLIST_PART_BG_REORDER
 
 #define GENLIST_PART_BG_NORMAL_OFF \
-      GENLIST_PART_BG_OFF \
-      GENLIST_PART_BG_REORDER_OFF
-
-#define GENLIST_PART_BG_OFF \
+   GENLIST_PART_RECT("bg_clip", \
+      mouse_events: 0; \
+      description { state: "default" 0.0; \
+         visible: 0; \
+      } \
+      description { state: "decorate" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 0; \
+      } \
+      description { state: "reorder" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 0; \
+      } \
+      description { state: "decorate_reorder" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 0; \
+      } \
+   ) \
    GENLIST_PART_RECT("bg", \
       mouse_events: 0; \
       description { state: "default" 0.0; \
       description { state: "disabled" 0.0; \
          visible: 0; \
       } \
-      description { state: "decorate" 0.0; \
-         visible: 0; \
-      } \
-   )
-
-#define GENLIST_PART_BG_REORDER \
+   ) \
    GENLIST_PART_RECT("bg_reorder_clip", \
+      mouse_events: 0; \
       description { state: "default" 0.0; \
-         color: 0 0 0 0; \
+         visible: 0; \
       } \
       description { state: "reorder" 0.0; \
-         inherit: "default" 0.0; \
-         color: 255 255 255 255; \
+         visible: 0; \
       } \
-      description { state: "flip" 0.0; \
-         inherit: "default" 0.0; \
-         color: 0 0 0 0; \
+      description { state: "decorate_reorder" 0.0; \
+         visible: 0; \
       } \
-   ) \
-   GENLIST_PART_SPACER("bg_reorder_left", \
-      description { state: "default" 0.0; \
-         min: 16 0; \
-         max: 16 -1; \
-         fixed: 1 0; \
-         align: 0 0.5; \
-         rel2.relative: 0 1; \
+      description { state: "decorate" 0.0; \
+         visible: 0; \
       } \
-   ) \
-   GENLIST_PART_SPACER("bg_reorder_right", \
-      description { state: "default" 0.0; \
-         min: 16 0; \
-         max: 16 -1; \
-         fixed: 1 0; \
-         align: 1.0 0.5; \
-         rel1.relative: 1 0; \
+      description { state: "reorder_flip" 0.0; \
+         visible: 0; \
       } \
    ) \
    GENLIST_PART_IMAGE("bg_reorder", \
-      clip_to: "bg_reorder_clip"; \
       mouse_events: 0; \
-      GENLIST_DESCRIPTION_LR("bg_reorder_left", "bg_reorder_right", \
-         image { \
-            normal: "00_list_group_bg.png"; \
-            border: 17 17 8 8; \
-            border_scale: 1; \
-         } \
-      ) \
-      description { state: "selected" 0.0; \
-         inherit: "default"; \
-         image { \
-            normal: "00_list_group_bg_press.png"; \
-            border: 17 17 8 8; \
-            border_scale: 1; \
-         } \
-      } \
-      GENLIST_DESCRIPTION_FADE \
-   )
-
-#define GENLIST_PART_BG_REORDER_OFF \
-   GENLIST_PART_IMAGE("bg_reorder", \
       description {state: "default" 0.0;\
          visible: 0;\
       }\
       description { state: "selected" 0.0; {\
-         inherit: "default" 0.0; \
          visible: 0; \
       } \
-   ) \
+      description { state: "flipped" 0.0; {\
+         visible: 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_BIG_SIZE) 0; \
-         max: (GENLIST_PADDING_SIZE_DEFAULT*2+GENLIST_ICON_BIG_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"; \
-      mouse_events: 0; \
       GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_right", \
          image { \
             normal: "00_list_group_bg.png"; \
             border_scale: 1; \
          } \
       } \
-      GENLIST_DESCRIPTION_FADE \
-   )
-
-//****************************************************************************//
-// ****************************** BASE  ********************************//
-//****************************************************************************//
-#define GENLIST_PART_BASE \
-         part { name: "base"; \
-            type: RECT; \
-            repeat_events: 1; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               align: 0.5 0.5; \
-               color: 0 0 0 0; \
-            } \
+      description { state: "2depth" 0.0; \
+         inherit: "default" 0.0; \
+         image { \
+            normal: "00_expandable_bg.png"; \
+            border: 17 17 8 8; \
+            border_scale: 1; \
          } \
-         GENLIST_PART_PERSPECTIVE_POINT
-
-#define GENLIST_PART_BASE_SIZE(HEIGHT) \
-         part { name: "base"; \
-            type: RECT; \
-            repeat_events: 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; \
+         } \
+      } \
+   )
+
+//****************************************************************************//
+// ****************************** BASE  ********************************//
+//****************************************************************************//
+#define GENLIST_PART_BASE_SIZE(HEIGHT) \
+         part { name: "base"; \
+            type: RECT; \
+            mouse_events: 0; \
             scale: 1; \
             description { state: "default" 0.0; \
-               align: 0.5 0.5; \
                color: 0 0 0 0; \
                min: 0 HEIGHT; \
             } \
+            description { state: "disabled" 0.0; \
+               inherit: "default"; \
+            } \
          } \
-         GENLIST_PART_PERSPECTIVE_POINT
+         part { name: "state"; \
+            type: RECT; \
+            mouse_events: 0; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+            description { state: "decorate" 0.0; \
+               inherit: "default"; \
+            } \
+            description { state: "reorder" 0.0; \
+               inherit: "default"; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "default"; \
+            } \
+         }
+
+#define GENLIST_PART_BASE \
+         GENLIST_PART_BASE_SIZE(0)
+
+#define GENLIST_PART_FOCUS \
+   GENLIST_PART_IMAGE("focus_part", \
+      mouse_events: 0; \
+      description { state: "default" 0.0; \
+         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; \
+      } \
+   ) \
+   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_dialogue", \
+      mouse_events: 0; \
+      GENLIST_DESCRIPTION_LR("bg_dialogue_left", "bg_dialogue_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; \
+      } \
+      description { state: "top_focused" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+         image { \
+            normal: "00_list_group_bg_top_focus.png"; \
+            border: 7 7 7 7; \
+         } \
+      } \
+      description { state: "center_focused" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+         image { \
+            normal: "00_list_group_bg_center_focus.png"; \
+            border: 7 7 7 7; \
+         } \
+      } \
+      description { state: "bottom_focused" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+         image { \
+            normal: "00_list_group_bg_bottom_focus.png"; \
+            border: 7 7 7 7; \
+         } \
+      } \
+   ) \
+   GENLIST_PART_ICON("elm.icon.focus", \
+      repeat_events: 1; \
+      GENLIST_DESCRIPTION_ENVELOP("focus_part_dialogue", \
+         fixed: 1 1; \
+      ) \
+   )
 
 //****************************************************************************//
 // ****************************** LINE ********************************//
 //****************************************************************************//
 #define GENLIST_PART_BOTTOM_LINE \
          GENLIST_PART_RECT("bottom_line_clip", \
-            mouse_events: 0; \
             description { state: "default" 0.0; \
-               visible: 1; \
+               color: 255 255 255 255; \
             } \
             description { state: "decorate" 0.0; \
-               visible: 0; \
+               inherit: "default" 0.0; \
+               color: 0 0 0 0; \
             } \
             description { state: "reorder" 0.0; \
-               visible: 0; \
+               inherit: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "default" 0.0; \
+               color: 0 0 0 0; \
             } \
          ) \
          GENLIST_PART_RECT("bottom_line", \
             } \
             description { state: "disabled" 0.0; \
                inherit: "default" 0.0; \
-               color: GENLIST_LIST_DIM_COLOR; \
+               color: GENLIST_LIST_LINE1_COLOR; \
             } \
-            description { state: "decorate" 0.0; \
+            description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
                visible: 0; \
             } \
-            GENLIST_DESCRIPTION_FADE \
          ) \
          GENLIST_PART_RECT("bottom_line2", \
             mouse_events: 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: "decorate" 0.0; \
+            description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
                visible: 0; \
             } \
-            GENLIST_DESCRIPTION_FADE \
          )
 
 #define GENLIST_PART_BOTTOM_LINE_OFF \
          GENLIST_PART_RECT("bottom_line", \
             mouse_events: 0; \
             description { state: "default" 0.0; \
-               visible: 0; \
+               color: 0 0 0 0; \
             } \
             description { state: "selected" 0.0; \
-               visible: 0; \
+               color: 0 0 0 0; \
             } \
             description { state: "disabled" 0.0; \
-               visible: 0; \
+               color: 0 0 0 0; \
             } \
             description { state: "decorate" 0.0; \
-               visible: 0; \
+               color: 0 0 0 0; \
             } \
          ) \
          GENLIST_PART_RECT("bottom_line2", \
             mouse_events: 0; \
             description { state: "default" 0.0; \
-               visible: 0; \
+               color: 0 0 0 0; \
             } \
             description { state: "selected" 0.0; \
-               visible: 0; \
+               color: 0 0 0 0; \
             } \
             description { state: "disabled" 0.0; \
-               visible: 0; \
+               color: 0 0 0 0; \
             } \
             description { state: "decorate" 0.0; \
-               visible: 0; \
+               color: 0 0 0 0; \
             } \
          )
 
                rel2.offset: 0 0; \
                color: GENLIST_LIST_DIVIDER1_COLOR; \
             ) \
-            GENLIST_DESCRIPTION_FADE \
          ) \
          GENLIST_PART_RECT("elm.divider2", \
             mouse_events: 0; \
                rel2.offset: 0 0; \
                color: GENLIST_LIST_DIVIDER2_COLOR; \
             ) \
-            GENLIST_DESCRIPTION_FADE \
          )
 
 #define GENLIST_PART_DIVIDER_R(RIGHT) \
                rel1.offset: -1 0;\
                color: GENLIST_LIST_DIVIDER1_COLOR; \
             ) \
-            GENLIST_DESCRIPTION_FADE \
          ) \
          GENLIST_PART_RECT("elm.divider2", \
             mouse_events: 0; \
                rel1.offset: -1 0;\
                color: GENLIST_LIST_DIVIDER2_COLOR; \
             ) \
-            GENLIST_DESCRIPTION_FADE \
          )
 
-#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_DESCRIPTION_FADE \
          ) \
          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; \
             ) \
-            GENLIST_DESCRIPTION_FADE \
          )
 
 #define GENLIST_PART_COLORBAR \
                rel1.relative: 0 1; \
                rel2.relative: 0 0; \
             ) \
-            GENLIST_DESCRIPTION_FADE \
+         )
+
+#define GENLIST_PART_COLORBAR_DIALOGUE \
+         GENLIST_PART_SPACER("elm.padding.colorbar.top", \
+             GENLIST_DESCRIPTION_ENVELOP("base", \
+               align: 0.5 0; \
+               fixed: 0 1; \
+               min: 0 4; \
+               max: -1 4; \
+               rel2.relative: 1 0; \
+             ) \
+         ) \
+         GENLIST_PART_SPACER("elm.padding.colorbar.bottom", \
+             GENLIST_DESCRIPTION_ENVELOP("base", \
+               align: 0.5 1; \
+               fixed: 0 1; \
+               min: 0 4; \
+               max: -1 4; \
+               rel1.relative: 0 1; \
+             ) \
+         ) \
+         GENLIST_PART_SPACER("elm.padding.colorbar.left", \
+             description{ state: "default" 0.0; \
+               min: 19 0; \
+               max: 19 -1; \
+               fixed: 1 0; \
+               align: 0 0.5; \
+               rel1.to: "base"; \
+               rel2.to: "base"; \
+               rel2.relative: 0 1; \
+             } \
+         ) \
+         GENLIST_PART_ICON("elm.swallow.colorbar", \
+            GENLIST_DESCRIPTION_LTB("elm.padding.colorbar.left","elm.padding.colorbar.top", "elm.padding.colorbar.bottom", \
+               min: GENLIST_ICON_COLORBAR_SIZE 0; \
+               max: GENLIST_ICON_COLORBAR_SIZE -1; \
+               fixed: 1 0; \
+            ) \
          )
 
 //****************************************************************************//
       max: 0 0; \
    }
 
+#define GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
+   description { state: "decorate_reorder" 0.0; \
+      inherit: "default" 0.0; \
+      min: 0 0; \
+      max: 0 0; \
+   }
+
 #define GENLIST_DESCRIPTION_REORDER_PADDING \
    description { state: "reorder" 0.0; \
       inherit: "default" 0.0; \
             ) \
             GENLIST_DESCRIPTION_DECORATE_PADDING \
             GENLIST_DESCRIPTION_REORDER_PADDING \
+            GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
          )
 
 #define GENLIST_PART_PADDING_LEFT_SIZE( SIZE ) \
             ) \
             GENLIST_DESCRIPTION_DECORATE_PADDING \
             GENLIST_DESCRIPTION_REORDER_PADDING \
+            GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
          )
 
 #define GENLIST_PART_EDITBTN \
+   GENLIST_PART_SPACER("elm.padding.edit.right", \
+      description { state: "default" 0.0; \
+         fixed: 1 0; \
+         align: 1.0 0.5; \
+         rel1.relative: 1 0; \
+         min: GENLIST_PADDING_SIZE_DEFAULT 0; \
+         max: GENLIST_PADDING_SIZE_DEFAULT -1; \
+      } \
+   ) \
    GENLIST_PART_ICON("elm.icon.edit", \
       GENLIST_DESCRIPTION_R("elm.padding.edit.right", \
-         fixed: 1 1; \
          visible: 0; \
-         min: GENLIST_ICON_BIG_SIZE GENLIST_ICON_BIG_SIZE; \
-         max: GENLIST_ICON_BIG_SIZE GENLIST_ICON_BIG_SIZE; \
       ) \
       description { state: "editmode" 0.0; \
          inherit: "default" 0.0; \
          visible: 1; \
-      } \
-   ) \
-   GENLIST_PART_SPACER("elm.padding.edit.right", \
-      description { state: "default" 0.0; \
-         fixed: 1 0; \
-         align: 1.0 0.5; \
-         rel1.relative: 1 0; \
-         min: GENLIST_PADDING_SIZE_RIGHT 0; \
-         max: GENLIST_PADDING_SIZE_RIGHT -1; \
+         fixed: 1 1; \
+         min: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
+         max: GENLIST_BTN_02_SIZE GENLIST_BTN_02_SIZE; \
       } \
    )
 
             } \
             GENLIST_DESCRIPTION_DECORATE_PADDING \
             GENLIST_DESCRIPTION_REORDER_PADDING \
+            GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
          )
 
 #define GENLIST_PART_PADDING_RIGHT_SIZE( SIZE ) \
             } \
             GENLIST_DESCRIPTION_DECORATE_PADDING \
             GENLIST_DESCRIPTION_REORDER_PADDING \
+            GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
          )
 
+// FIXME: Use RECT instead of SPACER if this group is used on layout
+// for blocking events
 #define GENLIST_PART_PADDING_RIGHT_EDIT \
+         GENLIST_PART_SPACER("elm.padding.right", \
+            GENLIST_DESCRIPTION_R("elm.padding.right.edit", \
+               min: DIALOGUE_PADDING_SIZE_RIGHT 0; \
+               max: DIALOGUE_PADDING_SIZE_RIGHT -1; \
+               fixed: 1 0; \
+            ) \
+            GENLIST_DESCRIPTION_DECORATE_PADDING \
+            GENLIST_DESCRIPTION_REORDER_PADDING \
+            GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
+         ) \
          GENLIST_PART_SPACER("elm.padding.right.edit", \
             description { state: "default" 0.0; \
                min:0 0; \
             } \
             description { state: "editmode" 0.0; \
                inherit: "default" 0.0; \
-               min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_BIG_SIZE) 0; \
-               max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_ICON_BIG_SIZE) -1; \
+               min: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_BTN_02_SIZE) 0; \
+               max: (GENLIST_PADDING_SIZE_DEFAULT+GENLIST_BTN_02_SIZE) -1; \
             } \
          ) \
-         GENLIST_PART_SPACER("elm.padding.right", \
-            GENLIST_DESCRIPTION_R("elm.padding.right.edit", \
-               min: DIALOGUE_PADDING_SIZE_RIGHT 0; \
-               max: DIALOGUE_PADDING_SIZE_RIGHT -1; \
-               fixed: 1 0; \
-            ) \
-            GENLIST_DESCRIPTION_DECORATE_PADDING \
-            GENLIST_DESCRIPTION_REORDER_PADDING \
-         ) \
          GENLIST_PART_EDITBTN
 
 #define GENLIST_PART_PADDING_TOP \
             } \
          )
 
-#define GENLIST_PART_PERSPECTIVE_POINT \
-         GENLIST_PART_RECT("point", \
-            description { \
-               state: "default" 0.0; \
-               color: 0 0 0 0; \
-               rel1 { relative: 0.0 0.0; } \
-               rel2 { relative: 1.0 0.0; } \
-            } \
-         )
-
-#define GENLIST_DESCRIPTION_ROTATE( param_x, param_y, param_z ) \
-   description { state: "map_contracted" 0.0; \
-      inherit: "default" 0.0; \
-      map { \
-         perspective: "point"; \
-         on: 1; \
-         smooth: 1; \
-         perspective_on: 1; \
-         backface_cull: 1; \
-         rotation { \
-            center: "point"; \
-            x: param_x; \
-            y: param_y; \
-            z: param_z; \
-         } \
-      } \
-   } \
-   description { state: "map_expanded" 0.0; \
-      inherit: "default" 0.0; \
-      map { \
-         perspective: "point"; \
-         on: 1; \
-         smooth: 1; \
-         perspective_on: 1; \
-         backface_cull: 1; \
-         rotation { \
-            center: "point"; \
-            x: 0; \
-            y: 0; \
-            z: 0; \
-         } \
-      } \
-   } \
-   description { \
-      state: "hide" 0.0; \
-      inherit: "default" 0.0; \
-      visible: 0; \
-   }
-
-// Genlist expandable rotation
-#define GENLIST_PROGRAM_ROTATE( TARGET ) \
-   program { name: "map_expand_start"; \
-      signal: "flip_item"; \
-      action: STATE_SET "map_contracted" 0.0; \
-      target: "bg"; \
-      TARGET \
-      after: "map_expanding"; \
-   } \
-   program { name: "map_expanding"; \
-      action: STATE_SET "hide" 0.0; \
-      transition: LINEAR 0.2; \
-      target: "bg"; \
-      TARGET \
-      after: "map_expand_end"; \
-   } \
-   program { name: "map_expand_end"; \
-      action: STATE_SET "default" 0.0; \
-      target: "bg"; \
-      TARGET \
-   } \
-   program { name: "map_contract_start"; \
-      signal: "elm,state,contract_flip"; \
-      action: STATE_SET "map_expanded" 0.0; \
-      target: "bg"; \
-      TARGET \
-      after: "map_contracting"; \
-   } \
-   program { name: "map_contracting"; \
-      action: STATE_SET "map_contracted" 0.0; \
-      transition: LINEAR 0.3; \
-      target: "bg"; \
-      TARGET \
-      after: "map_contract_end"; \
-   } \
-   program { name: "map_contract_end"; \
-      action: STATE_SET "hide" 0.0; \
-      target: "bg"; \
-      TARGET \
-   }
-
-// FIXME: swallow part cannot be fade out ???
-#define GENLIST_DESCRIPTION_FADE_ICON \
-   description { state: "fadeout" 0.0; \
-      inherit: "default" 0.0; \
-      color: 0 0 0 10; \
-      visible: 0; \
-   } \
-   description { state: "fadein" 0.0; \
-      inherit: "default" 0.0; \
-   } \
-
-#define GENLIST_DESCRIPTION_FADE \
-   description { state: "fadeout" 0.0; \
-      inherit: "default" 0.0; \
-      color: 255 255 255 10; \
-   } \
-   description { state: "fadein" 0.0; \
-      inherit: "default" 0.0; \
-   } \
-
-#define GENLIST_PROGRAM_EXPAND_FADE( TARGET ) \
-   program { name: "expand_start"; \
-      signal: "flip_item"; \
-      source: "elm"; \
-      action: STATE_SET "fadeout" 0.0; \
-      TARGET \
-      after: "expand_end"; \
-   } \
-   program { name: "expand_end"; \
-      transition: DECELERATE 0.3; \
-      action: STATE_SET "default" 0.0; \
-      TARGET \
-   } \
-   program { name: "contract_start"; \
-      signal: "elm,state,contract_flip"; \
-      source: "elm"; \
-      action: STATE_SET "fadein" 0.0; \
-      TARGET \
-      after: "contract_end"; \
-   } \
-   program { name: "contract_end"; \
-      transition: ACCELERATE 0.3; \
-      action: STATE_SET "fadeout" 0.0; \
-      TARGET \
-   }
-
-// FIXME: This do need now. I should find why this is used in genlist
-#if 0
-         program { \
-            name: "show"; \
-            signal: "elm,state,show"; \
-            action: STATE_SET "default" 0.0; \
-            TARGET \
-         } \
-         program { \
-            name: "hide"; \
-            signal: "elm,state,hide"; \
-            action: STATE_SET "hide" 0.0; \
-            TARGET \
-         }
-#endif
-
 #define GENLIST_PROGRAM_EXPAND_ROOT( TARGET ) \
          program { \
             name: "go_expanded"; \
             TARGET \
          } \
 
-#define GENLIST_PROGRAM_EXPANDABLE( SRC ) \
-        program { \
-            name: "expand"; \
-            signal: "mouse,up,1"; \
-            SRC \
-            action: SIGNAL_EMIT "elm,action,expand,toggle" "elm"; \
-         } \
-
 // 2.2.7 Genlist_Edit mode (Rename)
 // FIXME: padding is not needed when swallow content is NULL.
 // But how can edje know existence of swallow content?
 #define GENLIST_PART_FLIP \
          GENLIST_PART_RECT("elm.flip.bg", \
             mouse_events: 0; \
-            repeat_events: 0;\
             description { state: "default" 0.0;\
-               visible: 0; \
+               color: 0 0 0 0;\
             } \
-            description { state: "flip_enabled" 0.0; \
+            description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
-               visible: 1; \
+               rel2.offset: 0 -3; \
                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: "flip_enabled" 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; \
+            description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
                visible: 1; \
             } \
                visible: 0; \
                aspect: 1 1; \
                align: 1 0.5; \
-               max: 154 74; \
+               max: 158 74; \
             ) \
-            description { state: "flip_enabled" 0.0; \
+            description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
                visible: 1; \
             } \
             signal: "elm,state,enabled"; \
             source: "elm"; \
             action: STATE_SET "default" 0.0; \
+            target: "base"; \
             TARGET \
          } \
          program { name: "disabled"; \
             signal: "elm,state,disabled"; \
             source: "elm"; \
             action: STATE_SET "disabled" 0.0; \
+            target: "base"; \
             TARGET \
          }
 
-#define GENLIST_PROGRAM_SELECT( TARGET ) \
-         program { name: "selected"; \
-            signal: "elm,state,selected"; \
-            source: "elm"; \
-            action: STATE_SET "selected" 0.0; \
-            TARGET \
-            after: "play_button_press"; \
+#define GENLIST_PROGRAM_FOCUS \
+      program { name: "focused"; \
+         signal: "elm,state,focused"; \
+         source: "elm"; \
+         action: STATE_SET "focused" 0.0; \
+         target: "focus_part"; \
+      } \
+      program { name: "unfocused"; \
+         signal: "elm,state,unfocused"; \
+         source: "elm"; \
+         action: STATE_SET "default" 0.0; \
+         target: "focus_part"; \
+      }
+
+#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_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); \
          } \
-         program { name: "selected,nosound"; \
-            signal: "elm,state,selected"; \
-            source: "elm,nosound"; \
-            action: STATE_SET "selected" 0.0; \
-            TARGET \
+      } \
+      program { name: "unfocused"; \
+         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: "unselected"; \
-            signal: "elm,state,unselected"; \
-            source: "elm"; \
-            transition: LINEAR 0.1; \
-            action: STATE_SET "default" 0.0; \
-            TARGET \
+      } \
+      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; \
+         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"; \
-            action: PLAY_SAMPLE "button-pressed" 1.0; \
-         }
+      } \
+      program { name: "play_button_press"SRC; \
+         action: PLAY_SAMPLE "touch_sound" 1.0; \
+      }
 
-#define GENLIST_PROGRAM_SELECT_NOSOUND( TARGET ) \
+#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 ) \
          program { name: "selected"; \
             signal: "elm,state,selected"; \
             source: "elm"; \
          program { name: "unselected"; \
             signal: "elm,state,unselected"; \
             source: "elm"; \
-            transition: LINEAR 0.1; \
             action: STATE_SET "default" 0.0; \
             TARGET \
          }
 
-#define GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
-         program { name: "selected"; \
-            signal: "elm,state,selected"; \
-            source: "elm"; \
+#define GENLIST_PROGRAM_BG_DIALOGUE \
+         program { name: "bg_top"; \
+            signal: "elm,state,top"; \
+            source: "*"; \
             script { \
                new st[31]; \
                new Float:vl; \
-               get_state(PART:"bg_dialogue", st, 30, vl); \
-               if (!strcmp(st, "top")) \
+               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, "center")) \
+               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, "bottom")) \
-                  set_state(PART:"bg_dialogue", "bottom_selected", 0.0); \
-               else if (!strcmp(st, "default")) \
-                  set_state(PART:"bg_dialogue", "selected", 0.0); \
-               run_program(PROGRAM:"target_selected"); \
+               else if (!strcmp(st, "2depth")) \
+                  set_state(PART:"bg_dialogue", "2depth_center", 0.0); \
+               else \
+                  set_state(PART:"bg_dialogue", "center", 0.0); \
             } \
-            after: "play_button_press"; \
          } \
-         program { name: "selected,nosound"; \
+         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"; \
-            source: "elm,nosound"; \
+            source: "elm"; \
             script { \
                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"); \
             } \
          program { name: "unselected"; \
             signal: "elm,state,unselected"; \
             source: "elm"; \
-            transition: LINEAR 0.1; \
             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"); \
             } \
          } \
             action: STATE_SET "selected" 0.0; \
             TARGET \
          }\
-         program { name: "play_button_press"; \
-            action: PLAY_SAMPLE "button-pressed" 1.0; \
-         } \
          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"; \
             script { \
                new st[31]; \
                new Float:vl; \
-               get_state(PART:"arrow", st, 30, vl); \
+               get_state(PART:"arrow", st, 30, vl); \
+               if (!strcmp(st, "default")) { \
+                  set_state(PART:"arrow", "default_press", 0.0); \
+                  set_state(PART:"arrow_clip", "default_press", 0.0); \
+               } \
+               else if (!strcmp(st, "expand_opened")) { \
+                  set_state(PART:"arrow", "expand_opened_press", 0.0); \
+                  set_state(PART:"arrow_clip", "expand_opened_press", 0.0); \
+               } \
+            } \
+         } \
+         program { name: "unselected_arrow"; \
+            signal: "elm,state,unselected"; \
+            source: "elm"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"arrow", st, 30, vl); \
+               if (!strcmp(st, "default_press")) { \
+                  set_state(PART:"arrow", "default", 0.0); \
+                  set_state(PART:"arrow_clip", "default", 0.0); \
+               } \
+               else if (!strcmp(st, "expand_opened_press")) { \
+                  set_state(PART:"arrow", "expand_opened", 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", "default_press", 0.0); \
-                  set_state(PART:"arrow_clip", "default_press", 0.0); \
+                  set_state(PART:"arrow_shadow_clip", "default_press", 0.0); \
                } \
                else if (!strcmp(st, "expand_opened")) { \
-                  set_state(PART:"arrow", "expand_opened_press", 0.0); \
-                  set_state(PART:"arrow_clip", "expand_opened_press", 0.0); \
+                  set_state(PART:"arrow_shadow_clip", "expand_opened_press", 0.0); \
                } \
             } \
          } \
-         program { name: "unselected_arrow"; \
+         program { name: "unselected_arrow_shadow"; \
             signal: "elm,state,unselected"; \
             source: "elm"; \
-            transition: LINEAR 0.1; \
             script { \
                new st[31]; \
                new Float:vl; \
-               get_state(PART:"arrow", st, 30, vl); \
+               get_state(PART:"arrow_shadow_clip", st, 30, vl); \
                if (!strcmp(st, "default_press")) { \
-                  set_state(PART:"arrow", "default", 0.0); \
-                  set_state(PART:"arrow_clip", "default", 0.0); \
+                  set_state(PART:"arrow_shadow_clip", "default", 0.0); \
                } \
                else if (!strcmp(st, "expand_opened_press")) { \
-                  set_state(PART:"arrow", "expand_opened", 0.0); \
-                  set_state(PART:"arrow_clip", "expand_opened", 0.0); \
+                  set_state(PART:"arrow_shadow_clip", "expand_opened", 0.0); \
                } \
             } \
          }
             TARGET \
          }
 
+#define GENLIST_PROGRAM_DECORATE_REORDER( NAME, TARGET ) \
+         program { name: "reorder_enabled"NAME; \
+            signal: "elm,state,reorder,mode_set"; \
+            source: "elm"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"decorate_reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"reorder_set"NAME); \
+               } \
+            } \
+         } \
+         program { name: "reorder_disabled"NAME; \
+            signal: "elm,state,reorder,mode_unset"; \
+            source: "elm"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"decorate_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"default_set"NAME); \
+               } \
+            } \
+         } \
+         program { name: "decorate_enabled_effect"NAME; \
+            signal: "elm,state,decorate,enabled,effect";\
+            source: "elm";\
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"decorate_reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"decorate_set"NAME); \
+               } \
+            } \
+         }\
+         program { name: "decorate_disabled_effect"NAME;\
+            signal: "elm,state,decorate,disabled,effect";\
+            source: "elm";\
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"default_set"NAME); \
+               } \
+            } \
+         }\
+         program { name: "decorate_enabled"NAME;\
+            signal: "elm,state,decorate,enabled";\
+            source: "elm";\
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"decorate_reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"decorate_set"NAME); \
+               } \
+            } \
+         }\
+         program { name: "decorate_disabled"NAME;\
+            signal: "elm,state,decorate,disabled";\
+            source: "elm";\
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"default_set"NAME); \
+               } \
+            } \
+         } \
+         program { name: "default_set"NAME; \
+            action: STATE_SET "default" 0.0;\
+            target: "state"; \
+            TARGET \
+         } \
+         program { name: "decorate_set"NAME; \
+            action: STATE_SET "decorate" 0.0;\
+            target: "state"; \
+            TARGET \
+         } \
+         program { name: "reorder_set"NAME; \
+            action: STATE_SET "reorder" 0.0;\
+            target: "state"; \
+            TARGET \
+         } \
+         program { name: "decorate_reorder_set"NAME; \
+            action: STATE_SET "decorate_reorder" 0.0;\
+            target: "state"; \
+            TARGET \
+         }
+
 #define GENLIST_PROGRAM_FLIP \
          program { name: "flip_enabled"; \
             signal:  "elm,state,flip,enabled"; \
             source:  "elm"; \
             transition: DECELERATE 0.5; \
-            action:  STATE_SET "flip_enabled" 0.0; \
+            action:  STATE_SET "flipped" 0.0; \
             target: "elm.flip.content"; \
             target: "elm.flip.icon"; \
          } \
          program { name: "flip_enabled_bg"; \
             signal:  "elm,state,flip,enabled"; \
             source:  "elm"; \
-            action:  STATE_SET "flip_enabled" 0.0; \
+            action:  STATE_SET "flipped" 0.0; \
             target: "elm.flip.bg"; \
          } \
          program { name: "flip_disabled_bg"; \
             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, BG ) \
-         program { name: "flip_enabled"; \
+#define GENLIST_PROGRAM_FLIP_TARGET( TARGET ) \
+         program { name: "flip_enabled_target"; \
             signal:  "elm,state,flip,enabled"; \
             source:  "elm"; \
-            action:  STATE_SET "flip_enabled" 0.0; \
-            transition: DECELERATE 0.5; \
-            TARGET; \
+            action:  STATE_SET "flipped" 0.0; \
+            TARGET \
          } \
-         program { name: "flip_disabled"; \
+         program { name: "flip_disabled_target"; \
             signal:  "elm,state,flip,disabled"; \
             source:  "elm"; \
             action:  STATE_SET "default" 0.0; \
-            transition: DECELERATE 0.5; \
             TARGET \
-         } \
-         program { name: "flip_enabled_noeffect"; \
+         }
+
+#define GENLIST_PROGRAM_FLIP_EFFECT_TARGET( TARGET ) \
+         program { name: "flip_enabled_effect"; \
             signal:  "elm,state,flip,enabled"; \
             source:  "elm"; \
-            action:  STATE_SET "flip_enabled" 0.0; \
-            BG; \
+            transition: DECELERATE 0.5; \
+            action:  STATE_SET "flipped" 0.0; \
+            TARGET \
          } \
-         program { name: "flip_disabled_noeffect"; \
+         program { name: "flip_disabled_effect"; \
             signal:  "elm,state,flip,disabled"; \
             source:  "elm"; \
+            transition: DECELERATE 0.5; \
             action:  STATE_SET "default" 0.0; \
-            BG; \
+            TARGET \
          }
 
 #define GENLIST_PROGRAM_EDITMODE \
       target: "bg_dialogue_right"; \
    }
 
+/***************************************************************************/
+/***************************************************************************/
+
 #define GENLIST_PROGRAMS_NORMAL( TARGET ) \
    programs { \
       GENLIST_PROGRAM_DEFAULT( TARGET \
-         target: "bg_clip"; \
-         target: "bottom_line_clip"; \
          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"; \
          target: "bottom_line2"; \
          target: "bg_reorder"; \
       ) \
+      GENLIST_PROGRAM_FOCUS_NORMAL \
       GENLIST_PROGRAM_SELECT( TARGET \
          target: "bg"; \
          target: "bottom_line"; \
          target: "bottom_line2"; \
          target: "bg_reorder"; \
       ) \
-      GENLIST_PROGRAM_EXPAND_FADE( TARGET \
-         target: "bg"; \
-         target: "bottom_line"; \
-         target: "bottom_line2"; \
-         target: "bg_reorder"; \
-      ) \
-      GENLIST_PROGRAM_REORDER( \
+      GENLIST_PROGRAM_SOUND("bg") \
+      GENLIST_PROGRAM_REORDER_SOUND("bg_reorder") \
+      GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \
          target: "bg_clip"; \
-         target: "bottom_line_clip"; \
-         target: "elm.padding.left"; \
-         target: "elm.padding.right"; \
          target: "bg_reorder_clip"; \
-      ) \
-      GENLIST_PROGRAM_DECORATE( \
-         target: "bg_clip"; \
          target: "bottom_line_clip"; \
          target: "elm.padding.left"; \
          target: "elm.padding.right"; \
       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_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 \
       GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
       program { name: "bg_color_change"; \
          signal: "bg_color_change"; \
          source: "elm"; \
          action: STATE_SET "2depth" 0.0; \
-         target: "bg_dialogue_clip"; \
+         target: "2depth"; \
       } \
-      GENLIST_PROGRAM_EXPAND_FADE( TARGET \
-         target: "bg_dialogue"; \
-      ) \
-      GENLIST_PROGRAM_DECORATE( TARGET \
-         target: "bg_dialogue_clip"; \
+      GENLIST_PROGRAM_SOUND("bg_dialogue") \
+      GENLIST_PROGRAM_DECORATE_REORDER( "normal", TARGET \
          target: "elm.padding.left"; \
          target: "elm.padding.right"; \
       ) \
       GENLIST_PROGRAM_EDITMODE \
    }
 
-#define GENLIST_PROGRAMS_MULTILINE( TARGET ) \
-         programs { \
-            GENLIST_PROGRAM_DISABLED_DIALOGUE( TARGET ) \
-            GENLIST_PROGRAM_SELECT_DIALOGUE( TARGET ) \
-            GENLIST_PROGRAM_FLIP \
-         }
-
-#define GENLIST_PROGRAMS_READ_TEXT( TARGET ) \
-   programs { \
-      GENLIST_PROGRAM_DEFAULT( TARGET \
-         target: "bg_clip"; \
-         target: "bottom_line_clip"; \
-         target: "bg"; \
-         target: "bottom_line"; \
-         target: "bottom_line2"; \
-         target: "bg_reorder"; \
-         target: "elm.padding.left"; \
-         target: "elm.padding.right"; \
-      ) \
-      GENLIST_PROGRAM_DISABLED( \
-         target: "bg"; \
-         target: "bottom_line"; \
-         target: "bottom_line2"; \
-         target: "bg_reorder"; \
-         TARGET \
-      ) \
-      program { name: "selected"; \
-         signal: "elm,state,selected"; \
-         source: "elm"; \
-         action: STATE_SET "selected" 0.0; \
-         target: "bg"; \
-         target: "bottom_line"; \
-         target: "bottom_line2"; \
-         target: "bg_reorder"; \
-         TARGET \
-         after: "play_button_press"; \
-      } \
-      program { name: "selected,nosound"; \
-         signal: "elm,state,selected"; \
-         source: "elm,nosound"; \
-         action: STATE_SET "selected" 0.0; \
-         target: "bg"; \
-         target: "bottom_line"; \
-         target: "bottom_line2"; \
-         target: "bg_reorder"; \
-         TARGET \
-      } \
-      program { name: "unselected"; \
-         signal: "elm,state,unselected"; \
-         source: "elm"; \
-         transition: LINEAR 0.1;  \
-         action: STATE_SET "default" 0.0; \
-         target: "bg"; \
-         target: "bottom_line"; \
-         target: "bottom_line2"; \
-         target: "bg_reorder"; \
-      } \
-      program { name: "unselected_target"; \
-         transition: LINEAR 0.1;  \
-         action: STATE_SET "default" 0.0; \
-         TARGET \
-      } \
-      program { name: "unselected_read"; \
-         signal: "elm,state,unselected"; \
-         source: "elm"; \
-         script { \
-            if (get_int(readed) == 1) \
-               run_program(PROGRAM:"go_read_target"); \
-            else \
-               run_program(PROGRAM:"unselected_target"); \
-         } \
-      } \
-      program { name: "play_button_press"; \
-         action: PLAY_SAMPLE "button-pressed" 1.0; \
-      } \
-      GENLIST_PROGRAM_EXPAND_FADE( \
-         target: "bg"; \
-         target: "bottom_line"; \
-         target: "bottom_line2"; \
-         target: "bg_reorder"; \
-         TARGET \
-      ) \
-      GENLIST_PROGRAM_REORDER( \
-         target: "bg_clip"; \
-         target: "bottom_line_clip"; \
-         target: "elm.padding.left"; \
-         target: "elm.padding.right"; \
-         target: "bg_reorder_clip"; \
-      ) \
-      GENLIST_PROGRAM_DECORATE( \
-         target: "bg_clip"; \
-         target: "bottom_line_clip"; \
-         target: "elm.padding.left"; \
-         target: "elm.padding.right"; \
-      ) \
-      program { name: "go_read"; \
-         signal: "elm,state,read"; \
-         source: "*"; \
-         script { \
-           set_int(readed, 1); \
-           run_program(PROGRAM:"go_read_target"); \
-         } \
-      } \
-      program { name: "go_read_target"; \
-         action: STATE_SET "read" 0.0; \
-         TARGET \
-      } \
-      program { name: "go_unread"; \
-         signal: "elm,state,unread"; \
-         source: "*"; \
-         script { \
-           set_int(readed, 0); \
-           run_program(PROGRAM:"go_unread_target"); \
-         } \
-      } \
-      program { name: "go_unread_target"; \
-         action: STATE_SET "unread" 0.0; \
-         TARGET \
-      } \
-   }
-
 #define GENLIST_PROGRAMS_DECORATE_EFFECT( TARGET ) \
-   program { name: "decorate_enabled_effect"; \
+   program { name: "decorate_enabled_effect_ef"; \
       signal: "elm,state,decorate,enabled,effect";\
       source: "elm";\
       transition: DECELERATE 0.5;\
       action:  STATE_SET "decorate" 0.0;\
       TARGET \
    }\
-   program { name: "decorate_disabled_effect";\
+   program { name: "decorate_disabled_effect_ef";\
       signal: "elm,state,decorate,disabled,effect";\
       source: "elm";\
       transition: ACCELERATE 0.5;\
       action:  STATE_SET "default" 0.0;\
       TARGET \
    } \
-   program { name: "decorate_enabled";\
+   program { name: "decorate_enabled_ef";\
       signal: "elm,state,decorate,enabled";\
       source: "elm";\
       action:  STATE_SET "decorate" 0.0;\
       TARGET \
    }\
-   program { name: "decorate_disabled";\
+   program { name: "decorate_disabled_ef";\
       signal: "elm,state,decorate,disabled";\
       source: "elm";\
       action:  STATE_SET "default" 0.0;\
       TARGET \
    }
 
-#define GENLIST_PROGRAMS_ENTRY \
-   program { \
-      signal: "elm,state,eraser,show"; \
-      action: STATE_SET "show" 0.0; \
-      target: "elm.icon.eraser"; \
+#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,eraser,hide"; \
+   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"; ) \
+   GENLIST_PROGRAM_FLIP_TARGET( target: "elm.thumb.clip"; ) \
+   program { name: "enabled_thumb"; \
+      signal: "elm,state,enabled"; \
+      source: "elm"; \
       action: STATE_SET "default" 0.0; \
-      target: "elm.icon.eraser"; \
+      target: "base"; \
+      target: "elm.thumb"; \
    } \
-    program { \
-      signal: "elm,state,rename,show"; \
-      action: STATE_SET "default" 0.0; \
-      target: "elm.icon.rename"; \
+   program { name: "disabled_thumb"; \
+      signal: "elm,state,disabled"; \
+      source: "elm"; \
+      action: STATE_SET "disabled" 0.0; \
+      target: "base"; \
+      target: "elm.thumb"; \
    } \
-   program { \
-      signal: "elm,state,rename,hide"; \
-      action: STATE_SET "hide" 0.0; \
-      target: "elm.icon.rename"; \
+   program { name: "selected_thumb"; \
+      signal: "elm,state,selected"; \
+      source: "elm"; \
+      script { \
+         new st[31]; \
+         new Float:vl; \
+         get_state(PART:"elm.thumb", st, 30, vl); \
+         if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) \
+            set_state(PART:"elm.thumb", "reorder_selected", 0.0); \
+         else \
+            set_state(PART:"elm.thumb", "selected", 0.0); \
+      } \
+   } \
+   program { name: "unselected_thumb"; \
+      signal: "elm,state,unselected"; \
+      source: "elm"; \
+      script { \
+         new st[31]; \
+         new Float:vl; \
+         get_state(PART:"elm.thumb", st, 30, vl); \
+         if (!strcmp(st, "reorder_selected")) \
+            set_state(PART:"elm.thumb", "reorder", 0.0); \
+         else \
+            set_state(PART:"elm.thumb", "default", 0.0); \
+      } \
    }
 
 //****************************************************************************//
       scale: 1; \
       type: SWALLOW; \
       DESCRIPION \
-      GENLIST_DESCRIPTION_FADE_ICON \
    }
 
 #define GENLIST_PARAM_ICON_BIG \
-         min: GENLIST_ICON_BIG_SIZE GENLIST_ICON_BIG_SIZE; \
-         max: GENLIST_ICON_BIG_SIZE GENLIST_ICON_BIG_SIZE;
+         min: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE; \
+         max: GENLIST_ICON_MEDIUM_SIZE GENLIST_ICON_MEDIUM_SIZE;
 
 #define GENLIST_PARAM_ICON_SMALL \
          min: GENLIST_ICON_SMALL_SIZE GENLIST_ICON_SMALL_SIZE; \
          max: GENLIST_ICON_ONOFF_WIDTH GENLIST_ICON_ONOFF_HEIGHT;
 
 #define GENLIST_PARAM_ICON_THUMBNAIL1\
-         min: GENLIST_ICON_THUMBNAIL1_SIZE GENLIST_ICON_THUMBNAIL1_SIZE; \
-         max: GENLIST_ICON_THUMBNAIL1_SIZE GENLIST_ICON_THUMBNAIL1_SIZE;
+         min: GENLIST_ICON_LARGE_SIZE GENLIST_ICON_LARGE_SIZE; \
+         max: GENLIST_ICON_LARGE_SIZE GENLIST_ICON_LARGE_SIZE;
 
 #define GENLIST_PARAM_ICON_CHECK_RADIO \
          min: GENLIST_ICON_CHECK_RADIO_SIZE GENLIST_ICON_CHECK_RADIO_SIZE; \
       scale: 1; \
       type: IMAGE; \
       DESCRIPION \
-      GENLIST_DESCRIPTION_FADE \
    }
 
 #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_ICON("touch_arrow", \
             ignore_flags: ON_HOLD; \
             GENLIST_DESCRIPTION_ENVELOP("arrow", ) \
-            GENLIST_DESCRIPTION_FADE \
          ) \
          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: 72 72; \
-               max: 72 72; \
-               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_DESCRIPTION_FADE \
          )
+
 /*****************************************************************************/
 /******************************* Genlist RECT ********************************/
 /*****************************************************************************/
       scale: 1; \
       type: RECT; \
       DESCRIPION \
-      GENLIST_DESCRIPTION_FADE \
    }
 
 /*****************************************************************************/
 /******************************* 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; \
-      mouse_events: 0; \
       type: TEXT; \
       DESCRIPION \
-      GENLIST_DESCRIPTION_FADE \
    }
 
 #define GENLIST_PART_TEXTBLOCK(NAME, DESCRIPION) \
     part { name: NAME; \
       scale: 1; \
-      mouse_events: 0; \
       type: TEXTBLOCK; \
       DESCRIPION \
-      GENLIST_DESCRIPTION_FADE \
    }
 
 /*************************** parameters **********************************/
    text { \
       align: 0 0.5; \
       min: 0 1; \
-      font: "Tizen:style=Medium"; \
+      font: "Tizen:style=Bold"; \
       size: GENLIST_LIST_SUB_TEXT_SIZE; \
       text_class: "tizen"; \
    }
    text { \
       align: 0 0.5; \
       min: 0 1; \
-      font: "Tizen:style=Medium"; \
+      font: "Tizen:style=Bold"; \
       size: GENLIST_LIST_SUB_TEXT_SIZE; \
       text_class: "tizen"; \
    }
       style: "genlist_style_list_sub_text_settings"; \
    }
 
+// list subtext 02
+#define GENLIST_PARAM_SUBITEM_02 \
+   color: GENLIST_LIST_SUB_TEXT_02_COLOR; \
+   text { \
+      align: 0 0.5; \
+      min: 0 1; \
+      font: "Tizen:style=Bold"; \
+      size: GENLIST_LIST_SUB_TEXT_02_SIZE; \
+      text_class: "tizen"; \
+   }
+
+// Dialogue group - Apps
 #define GENLIST_PARAM_APPS_NAME\
    color: GENLIST_APPS_NAME_COLOR; \
    text { \
       GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS_TB \
    )
 
+#define GENLIST_PART_SUBITEM_02_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
+   GENLIST_PART_TEXT(NAME, \
+      GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
+         min: 0 HEIGHT; \
+         GENLIST_PARAM_TEXT_LIMIT_RT \
+         GENLIST_PARAM_SUBITEM_02 \
+         fixed: 1 0; \
+      ) \
+      GENLIST_DESCRIPTION_SUBITEM_DEFAULT_OTHERS \
+   )
+
 #define GENLIST_PARAM_LIST_BUBBLE_TEXT \
    color: GENLIST_LIST_BUBBLE_TEXT_COLOR; \
    text { \
 // FIXME: Need to find why rel2.offset: 9 -1 will not fix the alignment of bubble text ?
 #define GENLIST_PART_LIST_BUBBLE_TEXT_RTB(NAME, HEIGHT, RIGHT, TOP, BOTTOM) \
          GENLIST_PART_IMAGE("elm.bubble", \
+            mouse_events: 0; \
             GENLIST_DESCRIPTION_ENVELOP(NAME, \
                image { \
                   normal: "00_list_bubble_bg.png"; \
                min: 48 38; \
                max: -1 38; \
                fixed: 0 1; \
+               color: GENLIST_LIST_BUBBLE_COLOR; \
             ) \
-            GENLIST_DESCRIPTION_FADE \
+            description { state: "selected" 0.0; \
+               inherit: "default" 0.0; \
+               color: GENLIST_LIST_BUBBLE_PRESS_COLOR; \
+            } \
          ) \
          GENLIST_PART_TEXT(NAME, \
             GENLIST_DESCRIPTION_RTB(RIGHT, TOP, BOTTOM, \
                rel2.offset: -10 -1; /* This maintain the text alignment with bubble text. */\
                GENLIST_PARAM_LIST_BUBBLE_TEXT \
             ) \
+            description { state: "selected" 0.0; \
+               inherit: "default" 0.0; \
+               color: GENLIST_LIST_BUBBLE_TEXT_FOCUS_COLOR; \
+            } \
          )
 
 #if 0
          }
 
 #define GENLIST_PROGRAM_FLIP_1TEXT \
-         program { name: "flip_enabled"; \
+         program { name: "flipped"; \
             signal: "elm,state,flip,enabled"; \
             source: "elm"; \
-            action: STATE_SET "flip_enabled" 0.0; \
+            action: STATE_SET "flipped" 0.0; \
             target: "elm.text"; \
             target: "elm.flip.content"; \
          } \
          }
 
 #define GENLIST_PROGRAM_FLIP_2TEXT \
-         program { name: "flip_enabled"; \
+         program { name: "flipped"; \
             signal: "elm,state,flip,enabled"; \
             source: "elm"; \
-            action: STATE_SET "flip_enabled" 0.0; \
+            action: STATE_SET "flipped" 0.0; \
             target: "elm.text.1"; \
             target: "elm.text.2"; \
             target: "elm.flip.content"; \
          }
 
 #define GENLIST_PROGRAM_FLIP_2TEXT_1ICON \
-         program { name: "flip_enabled"; \
+         program { name: "flipped"; \
             signal: "elm,state,flip,enabled"; \
             source: "elm"; \
-            action: STATE_SET "flip_enabled" 0.0; \
+            action: STATE_SET "flipped" 0.0; \
             target: "elm.text.1"; \
             target: "elm.text.2"; \
             target: "elm.icon"; \
          }
 
 #define GENLIST_PROGRAM_FLIP_2TEXT_2ICON \
-         program { name: "flip_enabled"; \
+         program { name: "flipped"; \
             signal: "elm,state,flip,enabled"; \
             source: "elm"; \
-            action: STATE_SET "flip_enabled" 0.0; \
+            action: STATE_SET "flipped" 0.0; \
             target: "elm.text.1"; \
             target: "elm.text.2"; \
             target: "elm.icon.1"; \
          }
 
 #define GENLIST_PROGRAM_FLIP_3TEXT_2ICON \
-         program { name: "flip_enabled"; \
+         program { name: "flipped"; \
             signal: "elm,state,flip,enabled"; \
             source: "elm"; \
-            action: STATE_SET "flip_enabled" 0.0; \
+            action: STATE_SET "flipped" 0.0; \
             target: "elm.text.1"; \
             target: "elm.text.2"; \
             target: "elm.text.3"; \
             }
 
 #define GENLIST_DESCRIPTION_FLIP_ENABLED \
-            description { state: "flip_enabled" 0.0; \
+            description { state: "flipped" 0.0; \
                inherit: "default" 0.0; \
                visible: 0; \
             }
                new Float:vl; \
                get_state(PART:"elm.text", st, 30, vl); \
                set_state(PART:"bg", "selected", 0.0); \
-               if (!strcmp(st, "flip_enabled")) \
+               if (!strcmp(st, "flipped")) \
                   set_state(PART:"elm.text", "selected", 1.0); \
                else \
                   set_state(PART:"elm.text", "selected", 0.0); \
 
 #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
\ No newline at end of file
+#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; \
+            } \
+         ) \
+      } \
+   }