[Elm_datetime] Timepicker dark theme UX v0.5 is implemented.
[platform/core/uifw/efl-theme-tizen.git] / themes / widgets / entry.edc
index 3804e07..fb57d33 100644 (file)
  * limitations under the License.
  */
 
+#define ENTRY_BLOCK_HANDLE_SOURCE7 "elm/entry/selection/block_handle_left"
+#define ENTRY_BLOCK_HANDLE_SOURCE8 "elm/entry/selection/block_handle_right"
+#define ENTRY_CURSOR_HANDLE_SOURCE9 "elm/entry/cursor_handle/default"
+#define ENTRY_BLOCK_HANDLE_SOURCE10 "elm/entry/selection/block_handle_edge_left"
+#define ENTRY_BLOCK_HANDLE_SOURCE11 "elm/entry/selection/block_handle_edge_right"
 
+#define ENTRY_FOCUS_DATA \
+   data.item: "focus_highlight" "on";
 
-//#define ENTRY_BLOCK_HANDLE_SOURCE2 "elm/entry/selection/block_handle"
-//#define ENTRY_BLOCK_HANDLE_SOURCE3 "elm/entry/selection/block_handle_top"
-#define ENTRY_BLOCK_HANDLE_SOURCE2 "elm/entry/selection/block_handle_right"
-#define ENTRY_BLOCK_HANDLE_SOURCE3 "elm/entry/selection/block_handle_left"
+#define ENTRY_EDITFIELD_FOCUS_DATA \
+   data.item: "focus_highlight" "off";
+
+#define ENTRY_FOCUS_IMAGE \
+   images { \
+      image: "00_focus.png" COMP; \
+   }
+
+#define ENTRY_EDITFIELD_FOCUS_IMAGE \
+   images { \
+      image: "00_edit_field_focus.png" COMP; \
+      image: "00_eidt_field_bg.png" COMP; \
+   }
+
+#define ENTRY_TEXTBLOCK_DEFAULT_REL \
+   rel1 { \
+      to_x: "focus_left_padding"; \
+      relative: 1.0 0.0; \
+   } \
+   rel2 { \
+      to_x: "editfield_space"; \
+      relative: 0.0 1.0; \
+   }
+
+#define ENTRY_SWALLOW_SCRIPT_PUBLIC \
+   script { \
+      public scroll_enabled; \
+   }
+
+#define ENTRY_SWALLOW_PARTS \
+   part { name: "editfield_space"; \
+      type: SPACER; \
+      scale: 1; \
+      description { state: "default" 0.0; \
+         align: 1.0 0.5; \
+         min: 0 0; \
+         max: 0 0; \
+         rel1 { \
+            to_x: "focus_right_padding"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "focus_right_padding"; \
+            relative: 0.0 1.0; \
+         } \
+      } \
+      description { state: "rename_visible" 0.0; \
+         inherit: "default" 0.0; \
+         min: 9 0; \
+         max: 9 0; \
+         rel1 { \
+            to_x: "elm.swallow.rename"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "elm.swallow.rename"; \
+            relative: 0.0 1.0; \
+         } \
+      } \
+      description { state: "clear_visible" 0.0; \
+         inherit: "default" 0.0; \
+         min: 9 0; \
+         max: 9 0; \
+         rel1 { \
+            to_x: "elm.swallow.clear"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "elm.swallow.clear"; \
+            relative: 0.0 1.0; \
+         } \
+      } \
+   } \
+   part { name: "elm.swallow.clear"; \
+      type: SWALLOW; \
+      scale: 1; \
+      description { state: "default" 0.0; \
+         align: 1.0 0.5; \
+         fixed: 1 1; \
+         rel1 { \
+            to_x: "focus_right_padding"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "focus_right_padding"; \
+            relative: 0.0 1.0; \
+         } \
+         visible: 0; \
+      } \
+      description { state: "visible" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+      } \
+   } \
+   part { name: "elm.swallow.rename"; \
+      type: SWALLOW; \
+      scale: 1; \
+      description { state: "default" 0.0; \
+         align: 1.0 0.5; \
+         fixed: 1 1; \
+         rel1 { \
+            to_x: "focus_right_padding"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "focus_right_padding"; \
+            relative: 0.0 1.0; \
+         } \
+         visible: 0; \
+      } \
+      description { state: "visible" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+      } \
+   }
+
+#define ENTRY_FOCUS_PARTS \
+   part { name: "focus_bg"; \
+      type: RECT; \
+      scale: 1; \
+      description { state: "default" 0.0; \
+         visible: 0; \
+         rel1.relative: 0.0 0.0; \
+         rel2.relative: 1.0 1.0; \
+      } \
+   } \
+   part { name: "focus_left_padding"; \
+      type: SPACER; \
+      scale: 1; \
+      description { state: "default" 0.0; \
+         min: 10 0; \
+         max: 10 0; \
+         fixed: 1 0; \
+         align: 0.0 0.5; \
+         rel1 { \
+            to_x: "focus_bg"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "focus_bg"; \
+            relative: 0.0 1.0; \
+         } \
+      } \
+      description { state: "hidden" 0.0; \
+         inherit: "default" 0.0; \
+         min: 0 0; \
+         max: 0 0; \
+      } \
+   } \
+   part { name: "focus_right_padding"; \
+      type: SPACER; \
+      scale: 1; \
+      description { state: "default" 0.0; \
+         min: 10 0; \
+         max: 10 0; \
+         align: 1.0 0.5; \
+         fixed: 1 0; \
+         rel1 { \
+            to_x: "focus_bg"; \
+            relative: 1.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "focus_bg"; \
+            relative: 1.0 1.0; \
+         } \
+      } \
+      description { state: "hidden" 0.0; \
+         inherit: "default" 0.0; \
+         min: 0 0; \
+         max: 0 0; \
+      } \
+   } \
+   part { name: "focus_image"; \
+      scale: 1; \
+      mouse_events: 0; \
+      description { state: "default" 0.0; \
+         visible: 0; \
+         image { \
+            normal: "00_focus.png"; \
+            border: 6 6 6 6; \
+            border_scale: 1; \
+         } \
+         rel1 { \
+            to_x: "focus_bg"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "focus_bg"; \
+            relative: 1.0 1.0; \
+         } \
+      } \
+      description { state: "focused" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+      } \
+   }
+
+#define ENTRY_EDITFIELD_FOCUS_PARTS \
+   part { name: "focus_bg"; \
+      type: IMAGE; \
+      scale: 1; \
+      mouse_events: 0; \
+      repeat_events: 1; \
+      description { state: "default" 0.0; \
+         visible: 1; \
+         image { \
+            normal: "00_edit_field_bg.png"; \
+            border: 8 8 8 8; \
+            border_scale: 1; \
+         } \
+         rel1.relative: 0.0 0.0; \
+         rel2.relative: 1.0 1.0; \
+      } \
+      description { state: "hidden" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 0; \
+      } \
+   } \
+   part { name: "focus_left_padding"; \
+      type: SPACER; \
+      scale: 1; \
+      description { state: "default" 0.0; \
+         min: 10 0; \
+         max: 10 0; \
+         fixed: 1 0; \
+         align: 0.0 0.5; \
+         rel1 { \
+            to_x: "focus_bg"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "focus_bg"; \
+            relative: 0.0 1.0; \
+         } \
+      } \
+      description { state: "hidden" 0.0; \
+         inherit: "default" 0.0; \
+         min: 0 0; \
+         max: 0 0; \
+      } \
+   } \
+   part { name: "focus_right_padding"; \
+      type: SPACER; \
+      scale: 1; \
+      description { state: "default" 0.0; \
+         min: 10 0; \
+         max: 10 0; \
+         align: 1.0 0.5; \
+         fixed: 1 0; \
+         rel1 { \
+            to_x: "focus_bg"; \
+            relative: 1.0 0.0; \
+         } \
+         rel2 { \
+            to_x: "focus_bg"; \
+            relative: 1.0 1.0; \
+         } \
+      } \
+      description { state: "hidden" 0.0; \
+         inherit: "default" 0.0; \
+         min: 0 0; \
+         max: 0 0; \
+      } \
+   } \
+   part { name: "focus_image"; \
+      scale: 1; \
+      mouse_events: 0; \
+      description { state: "default" 0.0; \
+         visible: 0; \
+         image { \
+            normal: "00_edit_field_focus.png"; \
+            border: 8 8 8 8; \
+            border_scale: 1; \
+         } \
+         rel1 { \
+            to: "focus_bg"; \
+            relative: 0.0 0.0; \
+         } \
+         rel2 { \
+            to: "focus_bg"; \
+            relative: 1.0 1.0; \
+         } \
+      } \
+      description { state: "focused" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+      } \
+   }
+
+#define ENTRY_SWALLOW_PROGRAMS \
+   program { name: "scroll_enabled"; \
+      signal: "elm,state,scroll,enabled"; \
+      source: "*"; \
+      script { \
+         set_int(scroll_enabled, 1); \
+         set_state(PART:"focus_bg", "hidden", 0.0); \
+         set_state(PART:"focus_left_padding", "hidden", 0.0); \
+         set_state(PART:"focus_right_padding", "hidden", 0.0); \
+      } \
+   } \
+   program { name: "scroll_disabled"; \
+      signal: "elm,state,scroll,disabled"; \
+      source: "*"; \
+      script { \
+         set_int(scroll_enabled, 0); \
+         set_state(PART:"focus_bg", "default", 0.0); \
+         set_state(PART:"focus_left_padding", "default", 0.0); \
+         set_state(PART:"focus_right_padding", "default", 0.0); \
+      } \
+   } \
+   program { name: "clear_show"; \
+      signal: "elm,state,clear,visible"; \
+      source: "*"; \
+      script { \
+         new v; \
+         v = get_int(scroll_enabled); \
+         if (!v) { \
+            set_state(PART:"elm.swallow.clear", "visible", 0.0); \
+            set_state(PART:"editfield_space", "clear_visible", 0.0); \
+         } \
+      } \
+   } \
+   program { name: "clear_hide"; \
+      signal: "elm,state,clear,hidden"; \
+      source: "*"; \
+      script { \
+         new v; \
+         v = get_int(scroll_enabled); \
+         if (!v) { \
+            set_state(PART:"elm.swallow.clear", "default", 0.0); \
+            set_state(PART:"editfield_space", "default", 0.0); \
+         } \
+      } \
+   } \
+   program { name: "rename_show"; \
+      signal: "elm,state,rename,visible"; \
+      source: "*"; \
+      script { \
+         new v; \
+         v = get_int(scroll_enabled); \
+         if (!v) { \
+            set_state(PART:"elm.swallow.rename", "visible", 0.0); \
+            set_state(PART:"editfield_space", "rename_visible", 0.0); \
+         } \
+      } \
+   } \
+   program { name: "rename_hide"; \
+      signal: "elm,state,rename,hidden"; \
+      source: "*"; \
+      script { \
+         new v; \
+         v = get_int(scroll_enabled); \
+         if (!v) { \
+            set_state(PART:"elm.swallow.rename", "default", 0.0); \
+            set_state(PART:"editfield_space", "default", 0.0); \
+         } \
+      } \
+   }
+
+#define ENTRY_FOCUS_PROGRAMS \
+   program { name: "action_focus"; \
+      signal: "elm,action,focus_highlight,show"; \
+      source: "elm"; \
+      script { \
+         new v; \
+         v = get_int(scroll_enabled); \
+         if (!v) { \
+            set_state(PART:"focus_image", "focused", 0.0); \
+         } \
+      } \
+   } \
+   program { name: "action_unfocus"; \
+      signal: "elm,action,focus_highlight,hide"; \
+      source: "elm"; \
+      script { \
+         new v; \
+         v = get_int(scroll_enabled); \
+         if (!v) { \
+            set_state(PART:"focus_image", "default", 0.0); \
+         } \
+      } \
+   }
+
+#define ENTRY_EDITFIELD_FOCUS_PROGRAMS \
+   program { name: "action_focus"; \
+      signal: "elm,state,focus,on"; \
+      source: "*"; \
+      script { \
+         new v; \
+         v = get_int(scroll_enabled); \
+         if (!v) { \
+            set_state(PART:"focus_image", "focused", 0.0); \
+         } \
+      } \
+   } \
+   program { name: "action_unfocus"; \
+      signal: "elm,state,focus,off"; \
+      source: "*"; \
+      script { \
+         new v; \
+         v = get_int(scroll_enabled); \
+         if (!v) { \
+            set_state(PART:"focus_image", "default", 0.0); \
+         } \
+      } \
+   }
+
+sounds {
+   sample {
+      name: "touch_sound" AS_IS;
+      source: "S_Touch_30ms.wav";
+   }
+}
 
 group { name: "elm/entry/base/default";
    alias: "elm/entry/base-mixedwrap/default";
@@ -45,7 +461,7 @@ group { name: "elm/entry/base/default";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
       style { name: "entry_textblock_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 left_margin=1 right_margin=2 wrap=mixed text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_DISABLED_TEXT_COLOR_INC" left_margin=1 right_margin=2 wrap=mixed text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -60,11 +476,42 @@ group { name: "elm/entry/base/default";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
+      style { name: "entry_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_GUIDE_TEXT_COLOR_INC" left_margin=1 right_margin=2 wrap=mixed text_class=entry";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -74,11 +521,16 @@ group { name: "elm/entry/base/default";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
          //source6: "X"; // anchor over
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             fixed: 1 0;
             text {
@@ -86,6 +538,7 @@ group { name: "elm/entry/base/default";
                min: 0 1;
                align: 0.0 0.0;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -95,7 +548,9 @@ group { name: "elm/entry/base/default";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -115,6 +570,25 @@ group { name: "elm/entry/base/default";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
@@ -141,7 +615,7 @@ group { name: "elm/entry/base-charwrap/default";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
       style { name: "entry_textblock_char_wrap_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=char left_margin=1 right_margin=2 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_DISABLED_TEXT_COLOR_INC" wrap=char left_margin=1 right_margin=2 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -156,11 +630,42 @@ group { name: "elm/entry/base-charwrap/default";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
+      style { name: "entry_textblock_char_wrap_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_GUIDE_TEXT_COLOR_INC" wrap=char left_margin=1 right_margin=2 text_class=entry";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_textblock_char_wrap_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -170,11 +675,16 @@ group { name: "elm/entry/base-charwrap/default";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
          //source6: "X"; // anchor over
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             fixed: 1 0;
             text {
@@ -182,6 +692,7 @@ group { name: "elm/entry/base-charwrap/default";
                min: 0 1;
                align: 0.0 0.0;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -191,10 +702,12 @@ group { name: "elm/entry/base-charwrap/default";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
         program { name: "focus";
-            signal: "load";
+        signal: "load";
            source: "";
            action: FOCUS_SET;
            target: "elm.text";
@@ -211,8 +724,27 @@ group { name: "elm/entry/base-charwrap/default";
            action: STATE_SET "default" 0.0;
            target: "elm.text";
         }
-      }
-   }
+     program { name: "gdisable";
+        signal: "elm,guide,disabled";
+        source: "elm";
+        action: STATE_SET "hidden" 0.0;
+        target: "elm.guide";
+     }
+     program { name: "genable";
+        signal: "elm,guide,enabled";
+        source: "elm";
+        action: STATE_SET "default" 0.0;
+        target: "elm.guide";
+     }
+     program { name: "touch_snd";
+        signal: "mouse,clicked,1";
+        source: "elm.text";
+        action: PLAY_SAMPLE "touch_sound" 1.0;
+     }
+     ENTRY_SWALLOW_PROGRAMS
+     ENTRY_FOCUS_PROGRAMS
+  }
+}
 
 group { name: "elm/entry/base-nowrap/default";
    data.item: "default_font_size" "24";
@@ -221,7 +753,28 @@ group { name: "elm/entry/base-nowrap/default";
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -231,16 +784,22 @@ group { name: "elm/entry/base-nowrap/default";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             text {
                style: "entry_textblock_style";
                min: 1 1;
                align: 0.0 0.0;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -250,7 +809,9 @@ group { name: "elm/entry/base-nowrap/default";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -270,6 +831,25 @@ group { name: "elm/entry/base-nowrap/default";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
@@ -302,7 +882,7 @@ group { name: "elm/entry/base/editfield";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
       style { name: "editfield_textblock_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=mixed left_margin=1 right_margin=2";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_DISABLED_TEXT_COLOR_INC" wrap=mixed left_margin=1 right_margin=2";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -317,11 +897,42 @@ group { name: "elm/entry/base/editfield";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
+      style { name: "editfield_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_EDITFIELD_GUIDE_TEXT_COLOR_INC" wrap=mixed left_margin=1 right_margin=2";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_EDITFIELD_FOCUS_DATA
+   ENTRY_EDITFIELD_FOCUS_IMAGE
    parts {
+      ENTRY_EDITFIELD_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "editfield_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -331,11 +942,16 @@ group { name: "elm/entry/base/editfield";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
          //source6: "X"; // anchor over
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             fixed: 1 0;
             text {
@@ -343,6 +959,7 @@ group { name: "elm/entry/base/editfield";
                min: 0 1;
                align: 0.0 0.0;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -352,7 +969,9 @@ group { name: "elm/entry/base/editfield";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -372,6 +991,25 @@ group { name: "elm/entry/base/editfield";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_EDITFIELD_FOCUS_PROGRAMS
    }
 }
 
@@ -403,7 +1041,7 @@ group { name: "elm/entry/base-charwrap/editfield";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
       style { name: "editfield_textblock_char_wrap_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=char left_margin=1 right_margin=2";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_DISABLED_TEXT_COLOR_INC" wrap=char left_margin=1 right_margin=2";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -418,11 +1056,42 @@ group { name: "elm/entry/base-charwrap/editfield";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
+      style { name: "editfield_textblock_char_wrap_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_EDITFIELD_GUIDE_TEXT_COLOR_INC" wrap=char left_margin=1 right_margin=2";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_EDITFIELD_FOCUS_DATA
+   ENTRY_EDITFIELD_FOCUS_IMAGE
    parts {
+      ENTRY_EDITFIELD_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "editfield_textblock_char_wrap_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -432,11 +1101,16 @@ group { name: "elm/entry/base-charwrap/editfield";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
          //source6: "X"; // anchor over
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             fixed: 1 0;
             text {
@@ -444,6 +1118,7 @@ group { name: "elm/entry/base-charwrap/editfield";
                min: 0 1;
                align: 0.0 0.0;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -453,7 +1128,9 @@ group { name: "elm/entry/base-charwrap/editfield";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -473,6 +1150,25 @@ group { name: "elm/entry/base-charwrap/editfield";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_EDITFIELD_FOCUS_PROGRAMS
    }
 }
 
@@ -503,7 +1199,7 @@ group { name: "elm/entry/base-single/editfield";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
       style { name: "editfield_single_textblock_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=none left_margin=1 right_margin=3 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_DISABLED_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -518,11 +1214,42 @@ group { name: "elm/entry/base-single/editfield";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
+      style { name: "editfield_single_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_EDITFIELD_GUIDE_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry ellipsis=1.0";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_EDITFIELD_FOCUS_DATA
+   ENTRY_EDITFIELD_FOCUS_IMAGE
    parts {
+      ENTRY_EDITFIELD_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "editfield_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -532,16 +1259,22 @@ group { name: "elm/entry/base-single/editfield";
          //cursor_mode: BEFORE;
          multiline: 0;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: ; // selection over
+         //source3: ; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             text {
                style: "editfield_single_textblock_style";
                min: 1 1;
                max: 0 1;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -550,7 +1283,9 @@ group { name: "elm/entry/base-single/editfield";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -570,6 +1305,25 @@ group { name: "elm/entry/base-single/editfield";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_EDITFIELD_FOCUS_PROGRAMS
    }
 }
 
@@ -580,7 +1334,72 @@ group { name: "elm/entry/base-single/editfield/searchbar/default";
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
+   styles {
+      style { name: "editfield_searchbar_single_textblock_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_EDITFIELD_SEARCHBAR_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+         tag:  "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_TEXT_COLOR_INC;
+         tag:  "preedit_sub1" "+ backing=on backing_color="ENTRY_PREEDIT_SUB1_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub2" "+ backing=on backing_color="ENTRY_PREEDIT_SUB2_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+      }
+      style { name: "editfield_searchbar_single_textblock_disabled_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_EDITFIELD_SEARCHBAR_TEXT_SIZE_INC" color="ENTRY_DISABLED_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#00000080 underline=on underline_color=#00000080";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+         tag:  "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_TEXT_COLOR_INC;
+         tag:  "preedit_sub1" "+ backing=on backing_color="ENTRY_PREEDIT_SUB1_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub2" "+ backing=on backing_color="ENTRY_PREEDIT_SUB2_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+      }
+      style { name: "editfield_searchbar_single_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_EDITFIELD_SEARCHBAR_TEXT_SIZE_INC" color="ENTRY_GUIDE_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry ellipsis=1.0";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
+   }
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "editfield_searchbar_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -590,25 +1409,33 @@ group { name: "elm/entry/base-single/editfield/searchbar/default";
          //cursor_mode: BEFORE;
          multiline: 0;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             text {
-               style: "editfield_single_textblock_style";
+               style: "editfield_searchbar_single_textblock_style";
                min: 1 1;
                max: 0 1;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
             text {
-               style: "editfield_single_textblock_disabled_style";
+               style: "editfield_searchbar_single_textblock_disabled_style";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -628,6 +1455,25 @@ group { name: "elm/entry/base-single/editfield/searchbar/default";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
@@ -653,7 +1499,7 @@ group { name: "elm/entry/base-single/default";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
       style { name: "entry_single_textblock_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=none left_margin=1 right_margin=3 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_DISABLED_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -668,11 +1514,43 @@ group { name: "elm/entry/base-single/default";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
+      style { name: "entry_single_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_GUIDE_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry ellipsis=1.0";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
    data {
       item: context_menu_orientation "horizontal";
    }
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 0;
+               align: 0.0 0.5;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -682,10 +1560,15 @@ group { name: "elm/entry/base-single/default";
          //cursor_mode: BEFORE;
          multiline: 0;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             text {
                style: "entry_single_textblock_style";
@@ -693,6 +1576,7 @@ group { name: "elm/entry/base-single/default";
                max: 0 0;
                align: 0.0 0.5;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -701,7 +1585,9 @@ group { name: "elm/entry/base-single/default";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -721,6 +1607,25 @@ group { name: "elm/entry/base-single/default";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
@@ -732,22 +1637,45 @@ group { name: "elm/entry/base-single-noedit/default";
       item: context_menu_orientation "horizontal";
    }
    parts {
-      part { name: "elm.text";
+      part { name: "elm.guide";
          type: TEXTBLOCK;
-         mouse_events: 1;
+         mouse_events: 0;
          scale: 1;
-         entry_mode: PLAIN;
-         select_mode: BLOCK_HANDLE;
-         //cursor_mode: BEFORE;
-         multiline: 0;
-         source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
-         source5: "elm/entry/anchor/default"; // anchor under
          description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
             text {
-               style: "entry_single_textblock_style";
-               min: 1 1;
+               style: "entry_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "elm.text";
+         type: TEXTBLOCK;
+         mouse_events: 1;
+         scale: 1;
+         entry_mode: PLAIN;
+         select_mode: BLOCK_HANDLE;
+         //cursor_mode: BEFORE;
+         multiline: 0;
+         source: "elm/entry/selection/default"; // selection under
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
+         source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
+         description { state: "default" 0.0;
+            text {
+               style: "entry_single_textblock_style";
+               min: 1 1;
                max: 0 1;
             }
          }
@@ -778,6 +1706,23 @@ group { name: "elm/entry/base-single-noedit/default";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
    }
 }
 
@@ -789,6 +1734,24 @@ group { name: "elm/entry/base-noedit/default";
       item: context_menu_orientation "horizontal";
    }
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -798,9 +1761,14 @@ group { name: "elm/entry/base-noedit/default";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             fixed: 1 0;
             text {
@@ -836,6 +1804,23 @@ group { name: "elm/entry/base-noedit/default";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
    }
 }
 
@@ -847,6 +1832,24 @@ group { name: "elm/entry/base-noedit/default";
          item: context_menu_orientation "horizontal";
       }
       parts {
+         part { name: "elm.guide";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "elm.text";
+               rel2.to: "elm.text";
+               text {
+                  style: "entry_textblock_char_wrap_guide_style";
+                  min: 0 1;
+                  align: 0.0 0.0;
+               }
+            }
+            description { state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
         part { name: "elm.text";
            type: TEXTBLOCK;
            mouse_events: 1;
@@ -856,13 +1859,18 @@ group { name: "elm/entry/base-noedit/default";
            //cursor_mode: BEFORE;
            multiline: 1;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source5: "elm/entry/anchor/default"; // anchor under
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
            description { state: "default" 0.0;
                fixed: 1 0;
               text {
-                 style: "entry_textblock_style_charwrap";
+                 style: "entry_textblock_char_wrap_style";
                  min: 0 1;
                align: 0.0 0.0;
               }
@@ -870,30 +1878,47 @@ group { name: "elm/entry/base-noedit/default";
            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
               text {
-                 style: "entry_textblock_disabled_style_charwrap";
+                 style: "entry_textblock_char_wrap_disabled_style";
               }
            }
         }
       }
       programs {
-        program { name: "focus";
-            signal: "load";
-           source: "";
-           action: FOCUS_SET;
-           target: "elm.text";
-        }
-        program { name: "disable";
-           signal: "elm,state,disabled";
-           source: "elm";
-           action: STATE_SET "disabled" 0.0;
-           target: "elm.text";
-        }
-        program { name: "enable";
-           signal: "elm,state,enabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.text";
-        }
+         program { name: "focus";
+           signal: "load";
+              source: "";
+              action: FOCUS_SET;
+              target: "elm.text";
+           }
+           program { name: "disable";
+              signal: "elm,state,disabled";
+              source: "elm";
+              action: STATE_SET "disabled" 0.0;
+              target: "elm.text";
+           }
+           program { name: "enable";
+              signal: "elm,state,enabled";
+              source: "elm";
+              action: STATE_SET "default" 0.0;
+              target: "elm.text";
+           }
+        program { name: "gdisable";
+           signal: "elm,guide,disabled";
+           source: "elm";
+           action: STATE_SET "hidden" 0.0;
+           target: "elm.guide";
+        }
+        program { name: "genable";
+           signal: "elm,guide,enabled";
+           source: "elm";
+           action: STATE_SET "default" 0.0;
+           target: "elm.guide";
+        }
+        program { name: "touch_snd";
+           signal: "mouse,clicked,1";
+           source: "elm.text";
+           action: PLAY_SAMPLE "touch_sound" 1.0;
+        }
       }
    }
 
@@ -905,6 +1930,24 @@ group { name: "elm/entry/base-noedit/default";
          item: context_menu_orientation "horizontal";
       }
       parts {
+         part { name: "elm.guide";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "elm.text";
+               rel2.to: "elm.text";
+               text {
+                  style: "entry_textblock_guide_style";
+                  min: 0 1;
+                  align: 0.0 0.0;
+               }
+            }
+            description { state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
         part { name: "elm.text";
            type: TEXTBLOCK;
            mouse_events: 1;
@@ -914,9 +1957,14 @@ group { name: "elm/entry/base-noedit/default";
            //cursor_mode: BEFORE;
            multiline: 1;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source5: "elm/entry/anchor/default"; // anchor under
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
            description { state: "default" 0.0;
               text {
                  style: "entry_textblock_style";
@@ -951,6 +1999,23 @@ group { name: "elm/entry/base-noedit/default";
            action: STATE_SET "default" 0.0;
            target: "elm.text";
         }
+         program { name: "gdisable";
+            signal: "elm,guide,disabled";
+            source: "elm";
+            action: STATE_SET "hidden" 0.0;
+            target: "elm.guide";
+         }
+         program { name: "genable";
+            signal: "elm,guide,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.guide";
+         }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "elm.text";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+         }
       }
    }
 
@@ -961,7 +2026,28 @@ group { name: "elm/entry/base-noedit/default";
       data {
          item: context_menu_orientation "horizontal";
       }
+      ENTRY_FOCUS_DATA
+      ENTRY_FOCUS_IMAGE
       parts {
+         ENTRY_FOCUS_PARTS
+         part { name: "elm.guide";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "elm.text";
+               rel2.to: "elm.text";
+               text {
+                  style: "editfield_single_textblock_guide_style";
+                  min: 0 1;
+                  max: 0 1;
+               }
+            }
+            description { state: "hidden" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
         part { name: "elm.text";
            type: TEXTBLOCK;
            mouse_events: 1;
@@ -971,17 +2057,23 @@ group { name: "elm/entry/base-noedit/default";
            //cursor_mode: BEFORE;
            multiline: 0;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source4: "elm/entry/cursor/default"; // cursorover
            source5: "elm/entry/anchor/default"; // anchor under
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
            description { state: "default" 0.0;
               text {
                  style: "entry_single_textblock_style";
-                 repch: "*";
+                 repch: "•";
                  min: 1 1;
                   max: 0 1;
               }
+               ENTRY_TEXTBLOCK_DEFAULT_REL
            }
            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
@@ -990,7 +2082,9 @@ group { name: "elm/entry/base-noedit/default";
               }
            }
         }
+         ENTRY_SWALLOW_PARTS
       }
+      ENTRY_SWALLOW_SCRIPT_PUBLIC
       programs {
         program { name: "focus";
             signal: "load";
@@ -1010,6 +2104,25 @@ group { name: "elm/entry/base-noedit/default";
            action: STATE_SET "default" 0.0;
            target: "elm.text";
         }
+         program { name: "gdisable";
+            signal: "elm,guide,disabled";
+            source: "elm";
+            action: STATE_SET "hidden" 0.0;
+            target: "elm.guide";
+         }
+         program { name: "genable";
+            signal: "elm,guide,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.guide";
+         }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "elm.text";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+         }
+         ENTRY_SWALLOW_PROGRAMS
+         ENTRY_FOCUS_PROGRAMS
       }
    }
 
@@ -1039,7 +2152,7 @@ group { name: "elm/entry/base-password/popup";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
       style { name: "entry_single_textblock_disabled_popup_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 align=center wrap=mixed ellipsis=1.0 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_DISABLED_TEXT_COLOR_INC" align=center wrap=mixed ellipsis=1.0 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -1054,8 +2167,39 @@ group { name: "elm/entry/base-password/popup";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
       }
+      style { name: "entry_single_textblock_popup_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_GUIDE_TEXT_COLOR_INC" align=center wrap=mixed ellipsis=1.0 text_class=entry";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "entry_single_textblock_popup_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -1065,17 +2209,23 @@ group { name: "elm/entry/base-password/popup";
          //cursor_mode: BEFORE;
          multiline: 0;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             text {
                style: "entry_single_textblock_popup_style";
-               repch: "*";
+               repch: "•";
                min: 1 1;
                max: 0 1;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -1084,7 +2234,9 @@ group { name: "elm/entry/base-password/popup";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -1104,6 +2256,25 @@ group { name: "elm/entry/base-password/popup";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
@@ -1138,6 +2309,7 @@ group { name: "elm/entry/base-password/popup";
                                }
                        }
                        part { name: "base";
+                               type: RECT;
                                mouse_events: 0;
                                scale: 1;
                                clip_to: "clip";
@@ -1159,7 +2331,7 @@ group { name: "elm/entry/base-password/popup";
                                        align: 0.5 0.5;
                                        rel1 {
                                                relative: 0.0  0.0;
-                                               offset: 0 2;
+                                               offset: 0 -2;
                                        }
                                        rel2 {
                                                relative: 0.0  1.0;
@@ -1222,26 +2394,26 @@ group { name: "elm/entry/base-password/popup";
                }
        }
 
-       group { name: "elm/entry/selection/block_handle";
-       data.item: "position" "BOTH";
+       group { name: "elm/entry/selection/block_handle_left";
+               data.item: "height" "79";
+               data.item: "gap" "32";
                images {
-                 image: "reader_handler_up.png" COMP;
+                 image: "copy&paste_Handler_left.png" COMP;
+                 image: "copy&paste_Handler_left_01.png" COMP;
+                 image: "copy&paste_Handler_left_reverse.png" COMP;
+                 image: "copy&paste_Handler_left_01_reverse.png" COMP;
                }
                parts {
-                       part { name: "bg";
+                       part { name: "edge";
                                type: RECT;
                                scale: 1;
-                               mouse_events: 1;
+                               mouse_events: 0;
                                description { state: "default" 0.0;
-                                       visible: 0;
-                                       fixed: 1 1;
-                                       align: 0.5 0.25;
-                                       min: 50 80;
+                                       min: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 0;
+                                       max: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 0;
                                        color: 0 0 0 0;
-                               }
-                               description { state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
+                                       visible: 0;
+                                       align: 0 0;
                                }
                        }
                        part { name: "handle";
@@ -1249,19 +2421,13 @@ group { name: "elm/entry/base-password/popup";
                                scale: 1;
                                description { state: "default" 0.0;
                                        visible: 0;
-                       fixed: 1 1;
-                                       align: 0.5 0.0;
-                                       min: 48 66;
-                                       rel1 {
-                                               relative: 0.0 0.0;
-                                               offset: 0 0;
-                                       }
-                                       rel2 {
-                                               relative: 0.0 0.0;
-                                               offset: 0 0;
-                                       }
+                                       fixed: 1 1;
+                                       align: 1 0;
+                                       rel2 { relative: 1 1; to_x: "edge"; }
+                                       min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
+                                       max: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
                                        image {
-                                               normal: "reader_handler_up.png";
+                                               normal: "copy&paste_Handler_left_01.png";
                                                border: 0 0 0 0;
                                        }
                                        image.middle: SOLID;
@@ -1271,46 +2437,126 @@ group { name: "elm/entry/base-password/popup";
                                        inherit: "default" 0.0;
                                        visible: 1;
                                }
+                               description { state: "top" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                                       align: 1 1;
+                                       rel2 { relative: 1 1; to_x: "edge"; }
+                                       image {
+                                               normal: "copy&paste_Handler_left.png";
+                                       }
+                               }
+                               description { state: "bottom_reversed" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                                       align: 0 0;
+                                       rel1 { relative: 0 0; to_x: "edge"; }
+                                       image {
+                                               normal: "copy&paste_Handler_left_01_reverse.png";
+                                       }
+                               }
+                               description { state: "top_reversed" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                                       align: 0 1;
+                                       rel1 { relative: 0 0; to_x: "edge"; }
+                                       image {
+                                               normal: "copy&paste_Handler_left_reverse.png";
+                                       }
+                               }
                        }
                }
+               script {
+                       public handler_ontop;
+                       public handler_focused;
+               }
                programs {
                        program { name: "focused";
-                               signal: "elm,action,focus";
-                               source: "elm";
-                               action: STATE_SET "show" 0.0;
-                               target: "handle";
-                               target: "bg";
+                               signal: "edje,focus,in";
+                               source: "edje";
+                               script {
+                                       set_int(handler_focused, 1);
+                               }
                        }
                        program { name: "unfocused";
-                               signal: "elm,action,unfocus";
+                               signal: "edje,focus,out";
+                               source: "edje";
+                               script {
+                                       set_int(handler_focused, 0);
+                                       set_state(PART:"handle", "default", 0.0);
+                               }
+                       }
+                       program { name: "bottom_reversed";
+                               signal: "elm,state,bottom,reversed";
                                source: "elm";
-                               action: STATE_SET "default" 0.0;
-                               target: "handle";
-                               target: "bg";
+                               script {
+                                       set_state(PART:"handle", "bottom_reversed", 0.0);
+                               }
+                       }
+                       program { name: "top_reversed";
+                               signal: "elm,state,top,reversed";
+                               source: "elm";
+                               script {
+                                       set_state(PART:"handle", "top_reversed", 0.0);
+                               }
+                       }
+                       program { name: "top";
+                               signal: "elm,state,top";
+                               source: "elm";
+                               script {
+                                       new focused;
+                                       focused = get_int(handler_focused);
+                                       set_int(handler_ontop, 1);
+                                       if (focused)
+                                       {
+                                               set_state(PART:"handle", "top", 0.0);
+                                       }
+                                       else
+                                       {
+                                               set_state(PART:"handle", "default", 0.0);
+                                       }
+                               }
+                       }
+                       program { name: "bottom";
+                               signal: "elm,state,bottom";
+                               source: "elm";
+                               script {
+                                       new focused;
+                                       focused = get_int(handler_focused);
+                                       set_int(handler_ontop, 0);
+                                       if (focused)
+                                       {
+                                               set_state(PART:"handle", "show", 0.0);
+                                       }
+                                       else
+                                       {
+                                               set_state(PART:"handle", "default", 0.0);
+                                       }
+                               }
                        }
                }
        }
 
-       group { name: "elm/entry/selection/block_handle_top";
-       data.item: "position" "BOTH";
+       group { name: "elm/entry/selection/block_handle_right";
+               data.item: "height" "79";
+               data.item: "gap" "32";
                images {
-                 image: "reader_handler_down.png" COMP;
+                 image: "copy&paste_Handler_right.png" COMP;
+                 image: "copy&paste_Handler_right_01.png" COMP;
+                 image: "copy&paste_Handler_right_reverse.png" COMP;
+                 image: "copy&paste_Handler_right_01_reverse.png" COMP;
                }
                parts {
-                       part { name: "bg";
+                       part { name: "edge";
                                type: RECT;
                                scale: 1;
-                               mouse_events: 1;
+                               mouse_events: 0;
                                description { state: "default" 0.0;
-                                       visible: 0;
-                                       fixed: 1 1;
-                                       align: 0.5 0.75;
-                                       min: 50 80;
+                                       min: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 0;
+                                       max: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 0;
                                        color: 0 0 0 0;
-                               }
-                               description { state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
+                                       visible: 0;
+                                       align: 0 0;
                                }
                        }
                        part { name: "handle";
@@ -1318,112 +2564,13 @@ group { name: "elm/entry/base-password/popup";
                                scale: 1;
                                description { state: "default" 0.0;
                                        visible: 0;
-                       fixed: 1 1;
-                                       align: 0.5 1.0;
-                                       min: 48 66;
-                                       rel1 {
-                                               relative: 0.0 0.0;
-                                               offset: 0 0;
-                                       }
-                                       rel2 {
-                                               relative: 0.0 0.0;
-                                               offset: 0 0;
-                                       }
-                                       image {
-                                               normal: "reader_handler_down.png";
-                                               border: 0 0 0 0;
-                                       }
-                                       image.middle: SOLID;
-                                       fill.smooth: 0;
-                               }
-                               description { state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-               }
-               programs {
-                       program { name: "focused";
-                               signal: "elm,action,focus";
-                               source: "elm";
-                               action: STATE_SET "show" 0.0;
-                               target: "handle";
-                               target: "bg";
-                       }
-                       program { name: "unfocused";
-                               signal: "elm,action,unfocus";
-                               source: "elm";
-                               action: STATE_SET "default" 0.0;
-                               target: "handle";
-                               target: "bg";
-                       }
-               }
-       }
-/////////////////////////////////////////////////////////////////////////
-       group { name: "elm/entry/selection/block_handle_left";
-               data.item: "position" "BOTTOM";
-               data.item: "height" "40";
-               images {
-                 image: "copy&paste_Icon_left.png" COMP;
-                 image: "copy&paste_Icon_left_press.png" COMP;
-                 image: "copy&paste_Icon_left_top.png" COMP;
-                 image: "copy&paste_Icon_left_top_press.png" COMP;
-               }
-               parts {
-                       part { name: "bg";
-                               type: RECT;
-                               scale: 1;
-                               mouse_events: 1;
-                               description { state: "default" 0.0;
-                                       visible: 0;
-                                       fixed: 1 1;
-                                       align: 1 0;
-                                       min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
-                                       color: 0 0 0 0;
-                               }
-                               description { state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part { name: "sens";
-                               type: RECT;
-                               scale: 1;
-                               mouse_events: 1;
-                               description { state: "default" 0.0;
-                                       visible: 0;
-                                       fixed: 1 1;
-                                       min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
-                                       color: 0 0 0 0;
-                                       rel1 { relative: -0.75 -0.25; to: "handle";}
-                                       rel2 { relative: 2.0 1.25; to: "handle";}
-                               }
-                               description { state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-                       }
-                       part { name: "handle";
-                               mouse_events: 1;
-                               scale: 1;
-                               description { state: "default" 0.0;
-                                       visible: 0;
-                                       fixed: 1 1;
-                                       align: 1 0;
-                                       min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
-                                       rel1 {
-                                               relative: 1.1 0.0;
-                                               offset: 0 -2;
-                                               to: "bg";
-                                       }
-                                       rel2 {
-                                               relative: 1.1 0.0;
-                                               offset: 0 -2;
-                                               to: "bg";
-                                       }
-                                       image {
-                                               normal: "copy&paste_Icon_left.png";
-                                               border: 0 0 0 0;
+                                       fixed: 1 1;
+                                       align: 0 0;
+                                       min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
+                                       max: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
+                                       image {
+                                               normal: "copy&paste_Handler_right.png";
+                                               border: 0 0 0 0;
                                        }
                                        image.middle: SOLID;
                                        fill.smooth: 0;
@@ -1435,31 +2582,33 @@ group { name: "elm/entry/base-password/popup";
                                description { state: "top" 0.0;
                                        inherit: "default" 0.0;
                                        visible: 1;
-                                       align: 1 1;
+                                       align: 0 1;
                                        image {
-                                               normal: "copy&paste_Icon_left_top.png";
+                                               normal: "copy&paste_Handler_right_01.png";
                                        }
                                }
-                               description { state: "press" 0.0;
+                               description { state: "bottom_reversed" 0.0;
                                        inherit: "default" 0.0;
                                        visible: 1;
+                                       align: 1 0;
+                                       rel2 { relative: 1.0 0.0; to_x: "edge"; }
                                        image {
-                                               normal: "copy&paste_Icon_left_press.png";
+                                               normal: "copy&paste_Handler_right_reverse.png";
                                        }
                                }
-                               description { state: "top_press" 0.0;
+                               description { state: "top_reversed" 0.0;
                                        inherit: "default" 0.0;
                                        visible: 1;
                                        align: 1 1;
+                                       rel2 { relative: 1.0 0.0; to_x: "edge"; }
                                        image {
-                                               normal: "copy&paste_Icon_left_top_press.png";
+                                               normal: "copy&paste_Handler_right_01_reverse.png";
                                        }
                                }
                        }
                }
                script {
                        public handler_ontop;
-                       public handler_pressed;
                        public handler_focused;
                }
                programs {
@@ -1476,160 +2625,76 @@ group { name: "elm/entry/base-password/popup";
                                script {
                                        set_int(handler_focused, 0);
                                        set_state(PART:"handle", "default", 0.0);
-                                       set_state(PART:"sens", "default", 0.0);
                                }
                        }
                        program { name: "top";
-                       signal: "elm,state,top";
+                               signal: "elm,state,top";
                                source: "elm";
                                script {
-                                       new pressed;
                                        new focused;
-                                       pressed = get_int(handler_pressed);
                                        focused = get_int(handler_focused);
                                        set_int(handler_ontop, 1);
-                                        if (focused)
-                                        {
-                                             if (pressed)
-                                               set_state(PART:"handle", "top_press", 0.0);
-                                             else
-                                               set_state(PART:"handle", "top", 0.0);
-
-                                             set_state(PART:"sens", "show", 0.0);
-                                        }
-                                        else
-                                        {
-                                             set_state(PART:"handle", "default", 0.0);
-                                             set_state(PART:"sens", "default", 0.0);
-                                        }
+                                       if (focused)
+                                               {
+                                                       set_state(PART:"handle", "top", 0.0);
+                                               }
+                                       else
+                                               {
+                                                       set_state(PART:"handle", "default", 0.0);
+                                       }
                                }
                        }
                        program { name: "bottom";
-                       signal: "elm,state,bottom";
+                               signal: "elm,state,bottom";
                                source: "elm";
                                script {
-                                       new pressed;
                                        new focused;
-                                       pressed = get_int(handler_pressed);
                                        focused = get_int(handler_focused);
                                        set_int(handler_ontop, 0);
-                                        if (focused)
-                                        {
-                                             if (pressed)
-                                               set_state(PART:"handle", "press", 0.0);
-                                             else
-                                               set_state(PART:"handle", "show", 0.0);
-
-                                             set_state(PART:"sens", "show", 0.0);
-                                        }
-                                        else
-                                        {
-                                             set_state(PART:"handle", "default", 0.0);
-                                             set_state(PART:"sens", "default", 0.0);
-                                        }
-                               }
-                       }
-                       program { name: "pressed_sens";
-                               signal: "mouse,down,1";
-                               source: "sens";
-                               script {
-                                       new pos;
-                                       pos = get_int(handler_ontop);
-                                       set_int(handler_pressed, 1);
-                                       if (pos)
-                                               set_state(PART:"handle", "top_press", 0.0);
-                                       else
-                                               set_state(PART:"handle", "press", 0.0);
-                               }
-                       }
-                       program { name: "unpressed_sens";
-                               signal: "mouse,up,1";
-                               source: "sens";
-                               script {
-                                       new pos;
-                                       pos = get_int(handler_ontop);
-                                       set_int(handler_pressed, 0);
-                                       if (pos)
-                                               set_state(PART:"handle", "top", 0.0);
+                                       if (focused)
+                                               {
+                                                       set_state(PART:"handle", "show", 0.0);
+                                               }
                                        else
-                                               set_state(PART:"handle", "show", 0.0);
+                                               {
+                                                       set_state(PART:"handle", "default", 0.0);
+                                       }
                                }
                        }
-                       program { name: "pressed";
-                               signal: "mouse,down,1";
-                               source: "handle";
+                       program { name: "bottom_reversed";
+                               signal: "elm,state,bottom,reversed";
+                               source: "elm";
                                script {
-                                       new pos;
-                                       pos = get_int(handler_ontop);
-                                       set_int(handler_pressed, 1);
-                                       if (pos)
-                                               set_state(PART:"handle", "top_press", 0.0);
-                                       else
-                                               set_state(PART:"handle", "press", 0.0);
+                                       set_state(PART:"handle", "bottom_reversed", 0.0);
                                }
                        }
-                       program { name: "unpressed";
-                               signal: "mouse,up,1";
-                               source: "handle";
+                       program { name: "top_reversed";
+                               signal: "elm,state,top,reversed";
+                               source: "elm";
                                script {
-                                       new pos;
-                                       pos = get_int(handler_ontop);
-                                       set_int(handler_pressed, 0);
-                                       if (pos)
-                                               set_state(PART:"handle", "top", 0.0);
-                                       else
-                                               set_state(PART:"handle", "show", 0.0);
+                                       set_state(PART:"handle", "top_reversed", 0.0);
                                }
                        }
                }
        }
 
-       group { name: "elm/entry/selection/block_handle_right";
-               data.item: "position" "BOTH";
-               data.item: "height" "40";
+       group { name: "elm/entry/cursor_handle/default";
                images {
-                 image: "copy&paste_Icon_right.png" COMP;
-                 image: "copy&paste_Icon_right_press.png" COMP;
-                 image: "copy&paste_Icon_right_top.png" COMP;
-                 image: "copy&paste_Icon_right_top_press.png" COMP;
+                 image: "copy&paste_Handler_center.png" COMP;
+                 image: "copy&paste_Handler_center_reverse.png" COMP;
                }
                parts {
-                       part { name: "sens";
-                               type: RECT;
-                               scale: 1;
-                               mouse_events: 1;
-                               description { state: "default" 0.0;
-                                       visible: 0;
-                                       fixed: 1 1;
-                                       min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
-                                       color: 0 0 0 0;
-                                       rel1 { relative: -1.0 -0.25; to: "handle";}
-                                       rel2 { relative: 1.75 1.25; to: "handle";}
-                               }
-                               description { state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                               }
-
-                       }
                        part { name: "handle";
-                               mouse_events: 1;
                                scale: 1;
+                               mouse_events: 1;
                                description { state: "default" 0.0;
-                                       visible: 0;
-                                       fixed: 1 1;
+                                       max: 59 86;
+                                       min: 59 86;
                                        align: 0 0;
-                                       min: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
-                                       rel1 {
-                                               relative: 0.0 0.0;
-                                               offset: 0 -2;
-                                       }
-                                       rel2 {
-                                               relative: 0.0 0.0;
-                                               offset: 0 -2;
-                                       }
+                                       visible: 0;
+                                       align: 0.5 0;
                                        image {
-                                               normal: "copy&paste_Icon_right.png";
+                                               normal: "copy&paste_Handler_center.png";
                                                border: 0 0 0 0;
                                        }
                                        image.middle: SOLID;
@@ -1642,188 +2707,159 @@ group { name: "elm/entry/base-password/popup";
                                description { state: "top" 0.0;
                                        inherit: "default" 0.0;
                                        visible: 1;
-                                       align: 0 1;
-                                       image {
-                                               normal: "copy&paste_Icon_right_top.png";
-                                       }
-                               }
-                               description { state: "press" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                                       image {
-                                               normal: "copy&paste_Icon_right_press.png";
-                                       }
-                               }
-                               description { state: "top_press" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
-                                       align: 0 1;
+                                       align: 0.5 1.0;
                                        image {
-                                               normal: "copy&paste_Icon_right_top_press.png";
+                                               normal: "copy&paste_Handler_center_reverse.png";
+                                               border: 0 0 0 0;
                                        }
                                }
                        }
                }
                script {
-                       public handler_ontop;
-                       public handler_pressed;
-                       public handler_focused;
+                       public on_top;
                }
                programs {
                        program { name: "focused";
                                signal: "edje,focus,in";
                                source: "edje";
                                script {
-                                       set_int(handler_focused, 1);
+                                       new on_top_val = get_int(on_top);
+                                       if (on_top_val)
+                                       {
+                                               set_state(PART:"handle", "top", 0.0);
+                                       }
+                                       else
+                                       {
+                                               set_state(PART:"handle", "show", 0.0);
+                                       }
                                }
                        }
                        program { name: "unfocused";
                                signal: "edje,focus,out";
                                source: "edje";
                                script {
-                                       set_int(handler_focused, 0);
                                        set_state(PART:"handle", "default", 0.0);
-                                       set_state(PART:"sens", "default", 0.0);
                                }
                        }
-                       program { name: "top";
-                       signal: "elm,state,top";
-                               source: "elm";
+                       program { name: "show";
+                               signal: "edje,cursor,handle,show";
+                               source: "edje";
                                script {
-                                       new pressed;
-                                       new focused;
-                                       pressed = get_int(handler_pressed);
-                                       focused = get_int(handler_focused);
-                                        set_int(handler_ontop, 1);
-                                        if (focused)
-                                        {
-                                             if (pressed)
-                                               set_state(PART:"handle", "top_press", 0.0);
-                                             else
-                                               set_state(PART:"handle", "top", 0.0);
-
-                                             set_state(PART:"sens", "show", 0.0);
-                                        }
-                                        else
-                                        {
-                                             set_state(PART:"handle", "default", 0.0);
-                                             set_state(PART:"sens", "default", 0.0);
-                                        }
+                                       set_int(on_top, 0);
+                                       set_state(PART:"handle", "show", 0.0);
                                }
                        }
-                       program { name: "bottom";
-                       signal: "elm,state,bottom";
-                               source: "elm";
+                       program { name: "hide";
+                               signal: "edje,cursor,handle,hide";
+                               source: "edje";
                                script {
-                                       new pressed;
-                                       new focused;
-                                       pressed = get_int(handler_pressed);
-                                       focused = get_int(handler_focused);
-                                       set_int(handler_ontop, 0);
-                                        if (focused)
-                                        {
-                                             if (pressed)
-                                               set_state(PART:"handle", "press", 0.0);
-                                             else
-                                               set_state(PART:"handle", "show", 0.0);
-
-                                               set_state(PART:"sens", "show", 0.0);
-                                        }
-                                        else
-                                        {
-                                             set_state(PART:"handle", "default", 0.0);
-                                             set_state(PART:"sens", "default", 0.0);
-                                        }
+                                       set_state(PART:"handle", "default", 0.0);
                                }
                        }
-                       program { name: "pressed_sens";
-                               signal: "mouse,down,1";
-                               source: "sens";
+                       program { name: "top";
+                               signal: "edje,cursor,handle,top";
+                               source: "edje";
                                script {
-                                       new pos;
-                                       pos = get_int(handler_ontop);
-                                       set_int(handler_pressed, 1);
-                                       if (pos)
-                                               set_state(PART:"handle", "top_press", 0.0);
-                                       else
-                                               set_state(PART:"handle", "press", 0.0);
+                                       set_int(on_top, 1);
+                                       set_state(PART:"handle", "top", 0.0);
                                }
                        }
-                       program { name: "unpressed_sens";
-                               signal: "mouse,up,1";
-                               source: "sens";
-                               script {
-                                       new pos;
-                                       pos = get_int(handler_ontop);
-                                       set_int(handler_pressed, 0);
-                                       if (pos)
-                                               set_state(PART:"handle", "top", 0.0);
-                                       else
-                                               set_state(PART:"handle", "show", 0.0);
+               }
+       }
+
+       group { name: "elm/entry/selection/block_handle_edge_left";
+               parts {
+                       part { name: "align";
+                               type: RECT;
+                               scale: 1;
+                               mouse_events: 0;
+                               description { state: "default" 0.0;
+                                       min: 0 0;
+                                       max: 0 0;
+                                       color: 0 0 0 0;
+                                       visible: 0;
+                                       align: 0 0;
+                               }
+                       }
+                       part { name: "bg";
+                               type: RECT;
+                               scale: 1;
+                               mouse_events: 0;
+                               description { state: "default" 0.0;
+                                       color: ENTRY_SELECTION_EDGE_COLOR;
+                                       min: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 0;
+                                       max: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH -1;
+                                       rel2 { relative: 0 1; to_x: "align"; }
+                                       align: 0 0;
+                                       visible: 0;
+                               }
+                               description { state: "show" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
                                }
                        }
-                       program { name: "pressed";
-                               signal: "mouse,down,1";
-                               source: "handle";
+               }
+               programs {
+                       program { name: "show";
+                               signal: "edje,focus,in";
+                               source: "edje";
                                script {
-                                       new pos;
-                                       pos = get_int(handler_ontop);
-                                       set_int(handler_pressed, 1);
-                                       if (pos)
-                                               set_state(PART:"handle", "top_press", 0.0);
-                                       else
-                                               set_state(PART:"handle", "press", 0.0);
+                                       set_state(PART:"bg", "show", 0.0);
                                }
                        }
-                       program { name: "unpressed";
-                               signal: "mouse,up,1";
-                               source: "handle";
+                       program { name: "hide";
+                               signal: "edje,focus,out";
+                               source: "edje";
                                script {
-                                       new pos;
-                                       pos = get_int(handler_ontop);
-                                       set_int(handler_pressed, 0);
-                                       if (pos)
-                                               set_state(PART:"handle", "top", 0.0);
-                                       else
-                                               set_state(PART:"handle", "show", 0.0);
+                                       set_state(PART:"bg", "default", 0.0);
                                }
                        }
                }
        }
 
-
-/////////////////////////////////////////////////////////////////////////
-
-       group { name: "elm/entry/selection/block_bar";
-               images {
-                 image: "reader_longtap_blue.png" COMP;
-               }
+       group { name: "elm/entry/selection/block_handle_edge_right";
                parts {
-                       part { name: "bar_bg";
+                       part { name: "bg";
+                               type: RECT;
                                scale: 1;
                                mouse_events: 0;
                                description { state: "default" 0.0;
+                                       color: ENTRY_SELECTION_EDGE_COLOR;
+                                       min: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 0;
+                                       max: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH -1;
                                        visible: 0;
-                                       image {
-                                               normal: "reader_longtap_blue.png";
-                                               border: 0 0 0 0;
-                                       }
-                                       image.middle: SOLID;
-                                       fill.smooth: 0;
+                               }
+                               description { state: "show" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                               }
+                       }
+               }
+               programs {
+                       program { name: "show";
+                               signal: "edje,focus,in";
+                               source: "edje";
+                               script {
+                                       set_state(PART:"bg", "show", 0.0);
+                               }
+                       }
+                       program { name: "hide";
+                               signal: "edje,focus,out";
+                               source: "edje";
+                               script {
+                                       set_state(PART:"bg", "default", 0.0);
                                }
                        }
                }
        }
 
-
-
        group { name: "elm/entry/anchor/default";
                parts {
                        part { name: "bg";
                                type: RECT;
                                mouse_events: 0;
                                description { state: "default" 0.0;
-                                       color: 128 0 0 64;
+                                       color: 0 0 0 0;
                                }
                        }
                }
@@ -1842,88 +2878,101 @@ group { name: "elm/entry/base-password/popup";
    }
 
 
-#define MAGNIFIER_SCALE 1.2
+#define MAGNIFIER_SCALE 1.5
 
-       group { name: "elm/entry/magnifier/fill-width";
-               data.item: "height" MAGNIFIER_HEIGHT_FILL;
+       group { name: "elm/entry/magnifier/fixed-size";
+               data.item: "height" MAGNIFIER_HEIGHT_FIXED;
                data.item: "scale" MAGNIFIER_SCALE;
+               data.item: "arrow" 24;
                images {
-                 image: "magnifier_noarrow.png" COMP;
-                 image: "magnifier_noarrow_line.png" COMP;
+                 image: "copy&paste_Magnifier_left.png" COMP;
+                 image: "copy&paste_Magnifier_middle.png" COMP;
+                 image: "copy&paste_Magnifier_right.png" COMP;
                }
                parts {
                        part { name: "bg";
                                mouse_events: 0;
                                scale: 1;
+                               type: RECT;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       min: MAGNIFIER_WIDTH_FIXED MAGNIFIER_HEIGHT_FIXED;
+                                       align: 0.5 0.0;
+                                       visible: 1;
+                                       color: 0 0 0 0;
+                               }
+                       }
+                       part { name: "bg_middle_left";
+                               mouse_events: 0;
+                               scale: 1;
+                               type: RECT;
+                               description { state: "default" 0.0;
+                                       min: 20 134;
+                                       max: 20 -1;
+                                       align: 1.0 0.0;
+                                       rel2 { relative: 0.5 1.0; to: "bg"; }
+                                       visible: 1;
+                                       color: 0 0 0 0;
+                               }
+                       }
+                       part { name: "bg_middle_right";
+                               mouse_events: 0;
+                               scale: 1;
+                               type: RECT;
                                description { state: "default" 0.0;
-                                       align: 0.5 0.0;
-                                       rel1 { offset: -20 -10; }
-                                       rel2 { offset: 22 15; }
-                                       image {
-                                               normal: "magnifier_noarrow.png";
-                                               border: 25 25 35 25;
-                                       }
-                                       image.middle: SOLID;
-                                       fill.smooth: 0;
+                                       min: 20 134;
+                                       max: 20 -1;
+                                       align: 0.0 0.0;
+                                       rel1 { relative: 0.5 0.0; to: "bg"; }
+                                       visible: 1;
+                                       color: 0 0 0 0;
                                }
                        }
-                       part { name: "swallow";
-                               type: SWALLOW;
+                       part { name: "bg_left";
                                mouse_events: 0;
                                scale: 1;
                                description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       min: 136 134;
                                        align: 0.0 0.0;
-                                       rel1 {
-                                               to: "bg";
-                                               offset: 18 18;
-                                       }
-                                       rel2 {
-                                               to: "bg";
-                                               offset: -20 -20;
+                                       rel1 { relative: 0.0 0.0; to: "bg"; }
+                                       rel2 { relative: 0.0 1.0; to: "bg_middle_left"; }
+                                       image {
+                                               normal: "copy&paste_Magnifier_left.png";
+                                               border: 21 1 20 44;
                                        }
+                                       image.middle: 1;
+                                       fill.smooth: 0;
                                }
                        }
-                       part { name: "outline";
+                       part { name: "bg_middle";
                                mouse_events: 0;
                                scale: 1;
                                description { state: "default" 0.0;
-                                       visible: 0;
                                        align: 0.0 0.0;
-                                       rel1 { to: "bg"; offset: 0 0; }
-                                       rel2 { to: "bg"; offset: -1 -1; }
+                                       rel1 { relative: 0.0 0.0; to: "bg_middle_left"; }
+                                       rel2 { relative: 1.0 1.0; to: "bg_middle_right"; }
                                        image {
-                                               normal: "magnifier_noarrow_line.png";
-                                               border: 25 25 35 25;
+                                               normal: "copy&paste_Magnifier_middle.png";
+                                               border: 1 38 20 44;
                                        }
-                                       image.middle: SOLID;
+                                       image.middle: 1;
                                        fill.smooth: 0;
                                }
                        }
-               }
-       }
-
-
-       group { name: "elm/entry/magnifier/fixed-size";
-               data.item: "height" MAGNIFIER_HEIGHT_FIXED;
-               data.item: "scale" MAGNIFIER_SCALE;
-               images {
-                 image: "magnifier.png" COMP;
-                 image: "magnifier_line.png" COMP;
-               }
-               parts {
-                       part { name: "bg";
+                       part { name: "bg_right";
                                mouse_events: 0;
                                scale: 1;
                                description { state: "default" 0.0;
-                       fixed: 1 1;
-                                       min: MAGNIFIER_WIDTH_FIXED MAGNIFIER_HEIGHT_FIXED;
-                                       align: 0.5 0.0;
-                                       rel1.offset: 0 8;
+                                       fixed: 1 1;
+                                       min: 136 134;
+                                       rel1 { relative: 1.0 0.0; to: "bg_middle_right"; }
+                                       rel2.to: "bg";
                                        image {
-                                               normal: "magnifier.png";
-                                               border: 12 14 14 20;
+                                               normal: "copy&paste_Magnifier_right.png";
+                                               border: 1 21 20 44;
                                        }
-                                       image.middle: SOLID;
+                                       image.middle: 1;
                                        fill.smooth: 0;
                                }
                        }
@@ -1932,33 +2981,16 @@ group { name: "elm/entry/base-password/popup";
                                mouse_events: 0;
                                scale: 1;
                                description { state: "default" 0.0;
-                       fixed: 1 1;
+                                       fixed: 1 1;
                                        align: 0.0 0.0;
                                        rel1 {
                                                to: "bg";
-                                               offset: 12 14;
+                                               offset: 21-5 22-8; //need to update when image with rounded corners releases
                                        }
                                        rel2 {
                                                to: "bg";
-                                               offset: -14 -20;
-                                       }
-                               }
-                       }
-                       part { name: "outline";
-                               mouse_events: 0;
-                               scale: 1;
-                               description { state: "default" 0.0;
-                       fixed: 1 1;
-                                       visible: 0;
-                                       align: 0.0 0.0;
-                                       rel1 { to: "bg"; offset: 0 0; }
-                                       rel2 { to: "bg"; offset: -1 -1; }
-                                       image {
-                                               normal: "magnifier_line.png";
-                                               border: 12 14 14 20;
+                                               offset: -21+5 -44+10;
                                        }
-                                       image.middle: SOLID;
-                                       fill.smooth: 0;
                                }
                        }
                }
@@ -2112,7 +3144,7 @@ styles {
               state: "default" 0.0;
               rel2.to_x: "elm.rect.right.pad";
               image {
-                 normal: "00_MessageBubble_BG_receive.png";
+                 normal: "00_messagebubble_bg_receive.png";
                  border: 1 20 13 20;
                  border_scale: 1;
               }
@@ -2127,10 +3159,15 @@ styles {
            //cursor_mode: BEFORE;
            multiline: 1;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source4: "elm/entry/cursor/default"; // cursorover
            source5: "elm/entry/anchor/default"; // anchor under
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
 //         source6: "X"; // anchor over
            description { state: "default" 0.0;
                fixed: 1 0;
@@ -2322,7 +3359,7 @@ styles {
               state: "default" 0.0;
               rel2.to_x: "elm.rect.right.pad";
               image {
-                 normal: "00_MessageBubble_BG_receive.png";
+                 normal: "00_messagebubble_bg_receive.png";
                  border: ENTRY_BUBBLE_RECEV_BG_BORDER_INC;
                  border_scale: 1;
               }
@@ -2419,9 +3456,14 @@ styles {
            //cursor_mode: BEFORE;
            multiline: 1;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source5: "elm/entry/anchor/default"; // anchor under
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
            description {
               state: "default" 0.0;
               fixed: 1 0;
@@ -2556,12 +3598,31 @@ styles {
             }
         }
          part {
+            name: "elm.rect.middle.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 0 0;
+               max: 0 0;
+               align: 0.0 0.0;
+               color: 0 0 0 0;
+               rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.text"; }
+            }
+            description {
+               state: "show" 0.0;
+               inherit: "default" 0.0;
+               min: 0 ENTRY_BUBBLE_MIDDLE_PAD;
+               max: 0 ENTRY_BUBBLE_MIDDLE_PAD;
+            }
+         }
+         part {
            name: "elm.swallow.end";
            type: SWALLOW;
            scale: 1;
            description { state: "default" 0.0;
               align: 0.0 0.0;
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.text"; }
+              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.middle.pad"; }
               rel2 { relative: 0.0 0.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.bottom.pad"; }
            }
          }
@@ -2674,6 +3735,18 @@ styles {
            action: STATE_SET "default" 0.0;
            target: "elm.swallow.icon1";
         }
+        program { name: "show_middle_pad";
+           signal: "elm,state,middle,pad,enabled";
+           source: "elm";
+           action: STATE_SET "show" 0.0;
+           target: "elm.rect.middle.pad";
+        }
+        program { name: "hide_middle_pad";
+           signal: "elm,state,middle,pad,disabled";
+           source: "elm";
+           action: STATE_SET "default" 0.0;
+           target: "elm.rect.middle.pad";
+        }
       }
    }
 
@@ -2746,7 +3819,7 @@ styles {
               state: "default" 0.0;
               rel2.to_x: "elm.rect.right.pad";
               image {
-                 normal: "00_MessageBubble_BG_receive.png";
+                 normal: "00_messagebubble_bg_receive.png";
                  border: 1 20 13 20;
                  border_scale: 1;
               }
@@ -2761,16 +3834,21 @@ styles {
            //cursor_mode: BEFORE;
            multiline: 1;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source5: "elm/entry/anchor/default"; // anchor under
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
            description { state: "default" 0.0;
                fixed: 1 0;
                align: 0.0 0.0;
                rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.top.pad"; }
                rel2 { relative: 1.0 0.0; to_y: "elm.rect.bottom.pad"; }
               text {
-                 style: "entry_textblock_style_charwrap";
+                 style: "entry_textblock_char_wrap_style";
                  min: 0 1;
                   max: 1 0;
               }
@@ -2778,7 +3856,7 @@ styles {
            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
               text {
-                 style: "entry_textblock_disabled_style_charwrap";
+                 style: "entry_textblock_char_wrap_disabled_style";
               }
            }
         }
@@ -2874,7 +3952,7 @@ styles {
               state: "default" 0.0;
                rel1.to_x: "elm.rect.left.pad";
               image {
-                 normal: "00_MessageBubble_BG_send.png";
+                 normal: "00_messagebubble_bg_sent.png";
                  border: 20 1 13 20;
                  border_scale: 1;
               }
@@ -2889,11 +3967,16 @@ styles {
            //cursor_mode: BEFORE;
            multiline: 1;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source4: "elm/entry/cursor/default"; // cursorover
            source5: "elm/entry/anchor/default"; // anchor under
 //         source6: "X"; // anchor over
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
            description { state: "default" 0.0;
               fixed: 1 0;
                align: 1.0 0.0;
@@ -3083,7 +4166,7 @@ styles {
               state: "default" 0.0;
            rel1.to_x: "elm.rect.left.pad";
               image {
-                     normal: "00_MessageBubble_BG_send.png";
+                     normal: "00_messagebubble_bg_sent.png";
                      border: ENTRY_BUBBLE_SENT_BG_BORDER_INC;
                      border_scale: 1;
               }
@@ -3179,9 +4262,14 @@ styles {
            //cursor_mode: BEFORE;
            multiline: 1;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source5: "elm/entry/anchor/default"; // anchor under
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
            description {
            state: "default" 0.0;
            fixed: 1 0;
@@ -3315,13 +4403,32 @@ styles {
             }
         }
          part {
+            name: "elm.rect.middle.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               min: 0 0;
+               max: 0 0;
+               align: 0.0 0.0;
+               color: 0 0 0 0;
+               rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.text"; }
+            }
+            description {
+               state: "show" 0.0;
+               inherit: "default" 0.0;
+               min: 0 ENTRY_BUBBLE_MIDDLE_PAD;
+               max: 0 ENTRY_BUBBLE_MIDDLE_PAD;
+            }
+         }
+         part {
            name: "elm.swallow.end";
            type: SWALLOW;
            scale: 1;
            description {
               state: "default" 0.0;
               align: 0.0 0.0;
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.text"; }
+              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.middle.pad"; }
               rel2 { relative: 0.0 0.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.bottom.pad"; }
            }
          }
@@ -3451,6 +4558,18 @@ styles {
            action: STATE_SET "default" 0.0;
            target: "elm.swallow.icon1";
         }
+        program { name: "show_middle_pad";
+           signal: "elm,state,middle,pad,enabled";
+           source: "elm";
+           action: STATE_SET "show" 0.0;
+           target: "elm.rect.middle.pad";
+        }
+        program { name: "hide_middle_pad";
+           signal: "elm,state,middle,pad,disabled";
+           source: "elm";
+           action: STATE_SET "default" 0.0;
+           target: "elm.rect.middle.pad";
+        }
       }
    }
 
@@ -3523,7 +4642,7 @@ styles {
               state: "default" 0.0;
                rel1.to_x: "elm.rect.left.pad";
               image {
-                 normal: "00_MessageBubble_BG_send.png";
+                 normal: "00_messagebubble_bg_sent.png";
                  border: 20 1 13 20;
                  border_scale: 1;
               }
@@ -3538,16 +4657,21 @@ styles {
            //cursor_mode: BEFORE;
            multiline: 1;
            source: "elm/entry/selection/default"; // selection under
-           source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-           source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+           //source2: "X"; // selection over
+           //source3: "X"; // cursor under
            source5: "elm/entry/anchor/default"; // anchor under
+           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
            description { state: "default" 0.0;
                fixed: 1 0;
                align: 1.0 0.0;
                rel1 { relative: 0.0 1.0; to_y: "elm.rect.top.pad";}
                rel2 { relative: 0.0 0.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.bottom.pad"; }
               text {
-                 style: "entry_textblock_style_charwrap";
+                 style: "entry_textblock_char_wrap_style";
                  min: 0 1;
                   max: 1 0;
               }
@@ -3555,7 +4679,7 @@ styles {
            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
               text {
-                 style: "entry_textblock_disabled_style_charwrap";
+                 style: "entry_textblock_char_wrap_disabled_style";
               }
            }
         }
@@ -3582,6 +4706,157 @@ styles {
       }
    }
 
+group { name: "elm/entry/base-single/multibuttonentry";
+
+   data.item: "default_font_size" "24";
+   data.item: "min_font_size" "8";
+   data.item: "max_font_size" "60";
+
+   styles {
+      style { name: "multibuttonentry_single_textblock_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=tizen";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+         tag:  "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC;
+         tag:  "preedit_sub1" "+ backing=on backing_color="ENTRY_PREEDIT_SUB1_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub2" "+ backing=on backing_color="ENTRY_PREEDIT_SUB2_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+      }
+      style { name: "multibuttonentry_single_textblock_disabled_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=tizen";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#00000080 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+         tag:  "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC;
+         tag:  "preedit_sub1" "+ backing=on backing_color="ENTRY_PREEDIT_SUB1_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub2" "+ backing=on backing_color="ENTRY_PREEDIT_SUB2_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+      }
+      style { name: "multibuttonentry_single_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_GUIDE_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=tizen ellipsis=1.0";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
+   }
+   data {
+      item: context_menu_orientation "horizontal";
+   }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
+   parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "multibuttonentry_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "elm.text";
+         type: TEXTBLOCK;
+         mouse_events: 1;
+         scale: 1;
+         entry_mode: EDITABLE;
+         select_mode: BLOCK_HANDLE;
+         //cursor_mode: BEFORE;
+         multiline: 0;
+         source: "elm/entry/selection/default"; // selection under
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
+         source4: "elm/entry/cursor/default"; // cursorover
+         source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
+         description { state: "default" 0.0;
+            text {
+               style: "multibuttonentry_single_textblock_style";
+               min: 1 1;
+               max: 0 1;
+            }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            text {
+               style: "multibuttonentry_single_textblock_disabled_style";
+            }
+         }
+      }
+      ENTRY_SWALLOW_PARTS
+   }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
+   programs {
+      program { name: "focus";
+         signal: "load";
+         source: "";
+         action: FOCUS_SET;
+         target: "elm.text";
+      }
+      program { name: "disable";
+         signal: "elm,state,disabled";
+         source: "elm";
+         action: STATE_SET "disabled" 0.0;
+         target: "elm.text";
+      }
+      program { name: "enable";
+         signal: "elm,state,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.text";
+      }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
+   }
+}
 group { name: "elm/entry/base/font_color_black";
    alias: "elm/entry/base-mixedwrap/font_color_black";
    alias: "elm/entry/base/font_color_black/default";
@@ -3597,7 +4872,7 @@ group { name: "elm/entry/base/font_color_black";
 
    styles {
       style { name: "font_color_black_textblock_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#000000FF wrap=mixed left_margin=1 right_margin=2 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_TEXT_COLOR_INC" wrap=mixed left_margin=1 right_margin=2 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -3613,7 +4888,7 @@ group { name: "elm/entry/base/font_color_black";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color=#000000FF";
       }
       style { name: "font_color_black_textblock_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=mixed left_margin=1 right_margin=2 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_DISABLED_TEXT_COLOR_INC" wrap=mixed left_margin=1 right_margin=2 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -3628,11 +4903,42 @@ group { name: "elm/entry/base/font_color_black";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color=#000000FF";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color=#000000FF";
       }
+      style { name: "font_color_black_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_GUIDE_TEXT_COLOR_INC" wrap=mixed left_margin=1 right_margin=2 text_class=entry";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "font_color_black_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -3642,17 +4948,23 @@ group { name: "elm/entry/base/font_color_black";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
          //source6: "X"; // anchor over
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             fixed: 1 0;
             text {
                style: "font_color_black_textblock_style";
                min: 0 1;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -3662,7 +4974,9 @@ group { name: "elm/entry/base/font_color_black";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -3682,6 +4996,25 @@ group { name: "elm/entry/base/font_color_black";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
@@ -3693,6 +5026,24 @@ group { name: "elm/entry/base-noedit/font_color_black";
       item: context_menu_orientation "horizontal";
    }
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "font_color_black_textblock_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -3702,11 +5053,16 @@ group { name: "elm/entry/base-noedit/font_color_black";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
          //source6: "X"; // anchor over
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             fixed: 1 0;
             text {
@@ -3742,6 +5098,23 @@ group { name: "elm/entry/base-noedit/font_color_black";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
    }
 }
 
@@ -3760,7 +5133,7 @@ group { name: "elm/entry/base-charwrap/font_color_black";
 
    styles {
       style { name: "font_color_black_textblock_char_wrap_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#000000FF wrap=char left_margin=1 right_margin=2 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_TEXT_COLOR_INC" wrap=char left_margin=1 right_margin=2 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -3776,7 +5149,7 @@ group { name: "elm/entry/base-charwrap/font_color_black";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color=#000000FF";
       }
       style { name: "font_color_black_textblock_char_wrap_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=char left_margin=1 right_margin=2 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_DISABLED_TEXT_COLOR_INC" wrap=char left_margin=1 right_margin=2 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -3791,11 +5164,42 @@ group { name: "elm/entry/base-charwrap/font_color_black";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color=#000000FF";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color=#000000FF";
       }
-   }
-   data {
-      item: context_menu_orientation "horizontal";
-   }
-   parts {
+      style { name: "font_color_black_textblock_char_wrap_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_GUIDE_TEXT_COLOR_INC" wrap=char left_margin=1 right_margin=2 text_class=entry";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
+   }
+   data {
+      item: context_menu_orientation "horizontal";
+   }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
+   parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "font_color_black_textblock_char_wrap_guide_style";
+               min: 0 1;
+               align: 0.0 0.0;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -3805,17 +5209,23 @@ group { name: "elm/entry/base-charwrap/font_color_black";
          //cursor_mode: BEFORE;
          multiline: 1;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
          //source6: "X"; // anchor over
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             fixed: 1 0;
             text {
                style: "font_color_black_textblock_char_wrap_style";
                min: 0 1;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -3825,7 +5235,9 @@ group { name: "elm/entry/base-charwrap/font_color_black";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -3845,6 +5257,25 @@ group { name: "elm/entry/base-charwrap/font_color_black";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
@@ -3863,7 +5294,7 @@ group { name: "elm/entry/base-single/font_color_black";
 
    styles {
       style { name: "font_color_black_single_textblock_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#000000FF wrap=none left_margin=1 right_margin=3 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -3879,7 +5310,7 @@ group { name: "elm/entry/base-single/font_color_black";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color=#000000FF";
       }
       style { name: "font_color_black_single_textblock_disabled_style";
-         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color=#00000080 wrap=none left_margin=1 right_margin=3 text_class=entry";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_DISABLED_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry";
          tag:  "br" "\n";
          tag:  "ps" "ps";
          tag:  "tab" "\t";
@@ -3894,11 +5325,42 @@ group { name: "elm/entry/base-single/font_color_black";
          tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color=#000000FF";
          tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color=#000000FF";
       }
+      style { name: "font_color_black_single_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_GUIDE_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=entry";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
    }
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "font_color_black_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -3908,16 +5370,22 @@ group { name: "elm/entry/base-single/font_color_black";
          //cursor_mode: BEFORE;
          multiline: 0;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             text {
                style: "font_color_black_single_textblock_style";
                min: 1 1;
                max: 0 1;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -3926,7 +5394,9 @@ group { name: "elm/entry/base-single/font_color_black";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -3946,6 +5416,25 @@ group { name: "elm/entry/base-single/font_color_black";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
@@ -3957,6 +5446,24 @@ group { name: "elm/entry/base-single-noedit/font_color_black";
       item: context_menu_orientation "horizontal";
    }
    parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "font_color_black_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -3966,10 +5473,15 @@ group { name: "elm/entry/base-single-noedit/font_color_black";
          //cursor_mode: BEFORE;
          multiline: 0;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             text {
                style: "font_color_black_single_textblock_style";
@@ -4004,6 +5516,104 @@ group { name: "elm/entry/base-single-noedit/font_color_black";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+   }
+}
+group { name: "elm/entry/base-single/font_color_black/tizen_text_class";
+   inherit: "elm/entry/base-single/font_color_black";
+   styles {
+      style { name: "tizen_text_class_single_textblock_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=tizen";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+         tag:  "preedit" "+ underline=on underline_color=#000000FF";
+         tag:  "preedit_sel" "+ backing=on backing_color=#000000FF color=#FFFFFFFF";
+         tag:  "preedit_sub1" "+ backing=on backing_color="ENTRY_PREEDIT_SUB1_COLOR_INC" underline=on underline_color=#000000FF";
+         tag:  "preedit_sub2" "+ backing=on backing_color="ENTRY_PREEDIT_SUB2_COLOR_INC" underline=on underline_color=#000000FF";
+         tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color=#000000FF";
+         tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color=#000000FF";
+      }
+      style { name: "tizen_text_class_single_textblock_disabled_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_DISABLED_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=tizen";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#00000080 underline=on underline_color=#00000080";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+         tag:  "preedit" "+ underline=on underline_color=#000000FF";
+         tag:  "preedit_sel" "+ backing=on backing_color=#000000FF color=#FFFFFFFF";
+         tag:  "preedit_sub1" "+ backing=on backing_color="ENTRY_PREEDIT_SUB1_COLOR_INC" underline=on underline_color=#000000FF";
+         tag:  "preedit_sub2" "+ backing=on backing_color="ENTRY_PREEDIT_SUB2_COLOR_INC" underline=on underline_color=#000000FF";
+         tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color=#000000FF";
+         tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color=#000000FF";
+      }
+      style { name: "tizen_text_class_single_textblock_guide_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_TEXT_SIZE_INC" color="ENTRY_FONT_COLOR_BLACK_GUIDE_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=tizen ellipsis=1.0";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+      }
+   }
+   parts {
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "tizen_text_class_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "elm.text";
+         description { state: "default" 0.0;
+            text {
+               style: "tizen_text_class_single_textblock_style";
+            }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            text {
+               style: "tizen_text_class_single_textblock_disabled_style";
+            }
+         }
+      }
    }
 }
 group { name: "elm/entry/base-password/font_color_black";
@@ -4014,7 +5624,28 @@ group { name: "elm/entry/base-password/font_color_black";
    data {
       item: context_menu_orientation "horizontal";
    }
+   ENTRY_FOCUS_DATA
+   ENTRY_FOCUS_IMAGE
    parts {
+      ENTRY_FOCUS_PARTS
+      part { name: "elm.guide";
+         type: TEXTBLOCK;
+         mouse_events: 0;
+         scale: 1;
+         description { state: "default" 0.0;
+            rel1.to: "elm.text";
+            rel2.to: "elm.text";
+            text {
+               style: "font_color_black_single_textblock_guide_style";
+               min: 0 1;
+               max: 0 1;
+            }
+         }
+         description { state: "hidden" 0.0;
+            inherit: "default" 0.0;
+            visible: 0;
+         }
+      }
       part { name: "elm.text";
          type: TEXTBLOCK;
          mouse_events: 1;
@@ -4023,17 +5654,23 @@ group { name: "elm/entry/base-password/font_color_black";
          select_mode: BLOCK_HANDLE;
          multiline: 0;
          source: "elm/entry/selection/default"; // selection under
-         source2: ENTRY_BLOCK_HANDLE_SOURCE2; // block handle
-         source3: ENTRY_BLOCK_HANDLE_SOURCE3; // block handle
+         //source2: "X"; // selection over
+         //source3: "X"; // cursor under
          source4: "elm/entry/cursor/default"; // cursorover
          source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
          description { state: "default" 0.0;
             text {
                style: "font_color_black_single_textblock_style";
-               repch: "*";
+               repch: "•";
                min: 1 1;
                max: 0 1;
             }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
          }
          description { state: "disabled" 0.0;
             inherit: "default" 0.0;
@@ -4042,7 +5679,9 @@ group { name: "elm/entry/base-password/font_color_black";
             }
          }
       }
+      ENTRY_SWALLOW_PARTS
    }
+   ENTRY_SWALLOW_SCRIPT_PUBLIC
    programs {
       program { name: "focus";
          signal: "load";
@@ -4062,15 +5701,35 @@ group { name: "elm/entry/base-password/font_color_black";
          action: STATE_SET "default" 0.0;
          target: "elm.text";
       }
+      program { name: "gdisable";
+         signal: "elm,guide,disabled";
+         source: "elm";
+         action: STATE_SET "hidden" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "genable";
+         signal: "elm,guide,enabled";
+         source: "elm";
+         action: STATE_SET "default" 0.0;
+         target: "elm.guide";
+      }
+      program { name: "touch_snd";
+         signal: "mouse,clicked,1";
+         source: "elm.text";
+         action: PLAY_SAMPLE "touch_sound" 1.0;
+      }
+      ENTRY_SWALLOW_PROGRAMS
+      ENTRY_FOCUS_PROGRAMS
    }
 }
 
 group { name: "elm/scroller/entry/default";
-      alias : "elm/scroller/entry/editfield";
-      alias : "elm/scroller/entry/editfield/searchbar/default";
       data {
          item: "focus_highlight" "on";
       }
+      images {
+         image: "00_focus.png" COMP;
+      }
       script {
          public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
          public timer0(val) {
@@ -4095,68 +5754,251 @@ group { name: "elm/scroller/entry/default";
             return 0;
          }
       }
-      images {
-         image: "bt_sm_base2.png" COMP;
-      }
       parts {
+         part { name: "focus_bg";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+         part { name: "focus_image";
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               image {
+                  normal: "00_focus.png";
+                  border: 6 6 6 6;
+                  border_scale: 1;
+               }
+               rel1 {
+                  to: "focus_bg";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 1.0 1.0;
+               }
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "focus_left_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 10 0;
+               max: 10 0;
+               align: 0.0 0.5;
+               fixed: 1 0;
+               rel1 {
+                  to: "focus_bg";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 0.0 1.0;
+               }
+            }
+         }
+         part { name: "focus_right_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 10 0;
+               max: 10 0;
+               align: 1.0 0.5;
+               fixed: 1 0;
+               rel1 {
+                  to: "focus_bg";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
          part { name: "bg";
             type: RECT;
+            scale: 1;
             description { state: "default" 0.0;
                visible: 0;
+               rel1 {
+                  to_x: "focus_left_padding";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to_x: "focus_right_padding";
+                  relative: 0.0 1.0;
+               }
             }
          }
          part { name: "clipper";
             type: RECT;
+            scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
                rel1.to: "bg";
                rel2.to: "bg";
             }
          }
+         part { name: "editfield_space";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 1.0 1.0;
+               min: 0 0;
+               max: 0 0;
+               rel1.to: "elm.swallow.end";
+               rel1.relative: 0.0 0.0;
+               rel2.to: "elm.swallow.end";
+               rel2.relative: 1.0 1.0;
+            }
+            description { state: "rename_visible" 0.0;
+               inherit: "default" 0.0;
+               min: 9 0;
+               max: 9 0;
+               rel1 {
+                  to_x: "elm.swallow.rename";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to_x: "elm.swallow.rename";
+                  relative: 0.0 1.0;
+               }
+            }
+            description { state: "clear_visible" 0.0;
+               inherit: "default" 0.0;
+               min: 9 0;
+               max: 9 0;
+               rel1 {
+                  to_x: "elm.swallow.clear";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to_x: "elm.swallow.clear";
+                  relative: 0.0 1.0;
+               }
+            }
+         }
          part { name: "contentclipper";
             type: RECT;
+            scale: 1;
             mouse_events: 0;
             clip_to: "clipper";
             description { state: "default" 0.0;
-               rel1.to: "elm.swallow.icon";
+               rel1.to: "icon_right_padding";
                rel1.relative: 1.0 0.0;
-               rel2.to: "elm.swallow.end";
+               rel2.to: "editfield_space";
                rel2.relative: 0.0 1.0;
             }
          }
-         part { name: "elm.swallow.icon";
+         part { name: "elm.swallow.icon";
+            type: SWALLOW;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               align: 0.0 0.5;
+               fixed: 1 1;
+               rel1 {
+                  to: "bg";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "bg";
+                  relative: 0.0 1.0;
+               }
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "icon_right_padding";
+            type: SPACER;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               align: 0.0 0.0;
+               min: 0 0;
+               max: 0 0;
+               rel1 {
+                  to_x: "elm.swallow.icon";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to_x: "elm.swallow.icon";
+                  relative: 1.0 1.0;
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: 8 0;
+               max: 8 0;
+            }
+         }
+         part { name: "elm.swallow.clear";
             type: SWALLOW;
+            scale: 1;
             clip_to: "clipper";
             description { state: "default" 0.0;
+               align: 1.0 0.5;
                fixed: 1 1;
                rel1 {
-                  to: "bg";
+                  to_x: "elm.swallow.end";
+                  to_y: "bg";
                   relative: 0.0 0.0;
                }
                rel2 {
-                  to: "bg";
+                  to_x: "elm.swallow.end";
+                  to_y: "bg";
                   relative: 0.0 1.0;
                }
                visible: 0;
             }
-            description { state: "visible" 0.0;
+            description { state: "clear_visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "elm.swallow.rename";
+            type: SWALLOW;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               align: 1.0 0.5;
                fixed: 1 1;
-               align: 0.0 1.0;
                rel1 {
-                         to: "bg";
-                         relative: 0.0 0.0;
+                  to_x: "elm.swallow.end";
+                  to_y: "bg";
+                  relative: 0.0 0.0;
                }
                rel2 {
-                  to: "bg";
+                  to_x: "elm.swallow.end";
+                  to_y: "bg";
                   relative: 0.0 1.0;
                }
+               visible: 0;
+            }
+            description { state: "rename_visible" 0.0;
+               inherit: "default" 0.0;
                visible: 1;
             }
          }
          part { name: "elm.swallow.end";
             type: SWALLOW;
+            scale: 1;
             clip_to: "clipper";
             description { state: "default" 0.0;
+               align: 1.0 0.5;
                fixed: 1 1;
                rel1 {
                   to: "bg";
@@ -4169,35 +6011,28 @@ group { name: "elm/scroller/entry/default";
                visible: 0;
             }
             description { state: "visible" 0.0;
-               fixed: 1 1;
-               align: 1.0 1.0;
-               rel1 {
-                  to: "bg";
-                  relative: 1.0 0.0;
-               }
-               rel2 {
-                  to: "bg";
-                  relative: 1.0 1.0;
-               }
+               inherit: "default" 0.0;
                visible: 1;
             }
          }
          part { name: "elm.swallow.content";
             clip_to: "contentclipper";
+            scale: 1;
             type: SWALLOW;
             description { state: "default" 0.0;
                rel1 {
-                       to: "elm.swallow.icon";
+                       to_x: "icon_right_padding";
                        relative: 1.0 0.0;
                }
                rel2 {
-                to: "elm.swallow.end";
+                to_x: "editfield_space";
                 relative: 0.0 1.0;
                }
             }
          }
          part { name: "sb_vbar_clip_master";
             type: RECT;
+            scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
             }
@@ -4209,6 +6044,7 @@ group { name: "elm/scroller/entry/default";
          part { name: "sb_vbar_clip";
             clip_to: "sb_vbar_clip_master";
             type: RECT;
+            scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
             }
@@ -4219,6 +6055,7 @@ group { name: "elm/scroller/entry/default";
          }
          part { name: "sb_vbar";
             type: RECT;
+            scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
                fixed: 1 1;
@@ -4228,16 +6065,18 @@ group { name: "elm/scroller/entry/default";
                rel1 {
                   relative: 0.0 0.0;
                   to_y:     "elm.swallow.content";
-                  to_x:     "elm.swallow.end";
+                  to_x:     "editfield_space";
                }
                rel2 {
                   relative: 0.0 0.0;
                   to_y:     "sb_hbar";
-                  to_x:     "elm.swallow.end";
+                  to_x:     "editfield_space";
                }
             }
          }
          part { name: "elm.dragable.vbar";
+            type: RECT;
+            scale: 1;
             clip_to: "sb_vbar_clip";
             mouse_events: 0;
             dragable {
@@ -4258,15 +6097,11 @@ group { name: "elm/scroller/entry/default";
                   relative: 0.5  0.5;
                   to: "sb_vbar";
                }
-               image {
-                  normal: "bt_sm_base2.png";
-                  border: 6 6 6 6;
-                  middle: SOLID;
-               }
             }
          }
          part { name: "sb_hbar_clip_master";
             type: RECT;
+            scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
             }
@@ -4278,6 +6113,7 @@ group { name: "elm/scroller/entry/default";
          part { name: "sb_hbar_clip";
             clip_to: "sb_hbar_clip_master";
             type: RECT;
+            scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
             }
@@ -4288,6 +6124,7 @@ group { name: "elm/scroller/entry/default";
          }
          part { name: "sb_hbar";
             type: RECT;
+            scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
                fixed: 1 1;
@@ -4307,6 +6144,8 @@ group { name: "elm/scroller/entry/default";
             }
          }
          part { name: "elm.dragable.hbar";
+            type: RECT;
+            scale: 1;
             clip_to: "sb_hbar_clip";
             mouse_events: 0;
             dragable {
@@ -4326,11 +6165,6 @@ group { name: "elm/scroller/entry/default";
                   relative: 0.5  0.5;
                   to: "sb_hbar";
                }
-               image {
-                  normal: "bt_sm_base2.png";
-                  border: 4 4 4 4;
-                  middle: SOLID;
-               }
             }
          }
       }
@@ -4353,12 +6187,42 @@ group { name: "elm/scroller/entry/default";
             source: "elm";
             action: STATE_SET "visible" 0.0;
             target: "elm.swallow.icon";
+            target: "icon_right_padding";
          }
          program { name: "icon_hide";
             signal: "elm,action,hide,icon";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "elm.swallow.icon";
+            target: "icon_right_padding";
+         }
+         program { name: "clear_show";
+            signal: "elm,state,clear,visible";
+            source: "*";
+            action: STATE_SET "clear_visible" 0.0;
+            target: "elm.swallow.clear";
+            target: "editfield_space";
+         }
+         program { name: "clear_hide";
+            signal: "elm,state,clear,hidden";
+            source: "*";
+            action: STATE_SET "default" 0.0;
+            target: "elm.swallow.clear";
+            target: "editfield_space";
+         }
+         program { name: "rename_show";
+            signal: "elm,state,rename,visible";
+            source: "*";
+            action: STATE_SET "rename_visible" 0.0;
+            target: "elm.swallow.rename";
+            target: "editfield_space";
+         }
+         program { name: "rename_hide";
+            signal: "elm,state,rename,hidden";
+            source: "*";
+            action: STATE_SET "default" 0.0;
+            target: "elm.swallow.rename";
+            target: "editfield_space";
          }
          program { name: "end_show";
             signal: "elm,action,show,end";
@@ -4509,5 +6373,316 @@ group { name: "elm/scroller/entry/default";
                set_int(sbvis_timer, v);
             }
          }
+         program { name: "action_focus";
+            signal: "elm,action,focus_highlight,show";
+            source: "elm";
+            action: STATE_SET "focused" 0.0;
+            target: "focus_image";
+         }
+         program { name: "action_unfocus";
+            signal: "elm,action,focus_highlight,hide";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "focus_image";
+         }
+      }
+   }
+group { name: "elm/scroller/entry/editfield";
+      inherit: "elm/scroller/entry/default";
+      data {
+         item: "focus_highlight" "off";
+      }
+      images {
+         image: "00_edit_field_focus.png" COMP;
+         image: "00_edit_field_bg.png" COMP;
+      }
+      parts {
+         part { name: "focus_bg";
+            type: IMAGE;
+            scale: 1;
+            mouse_events: 0;
+            repeat_events: 1;
+            description { state: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "00_edit_field_bg.png";
+                  border: 8 8 8 8;
+                  border_scale: 1;
+               }
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+         part { name: "focus_image";
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               image {
+                  normal: "00_edit_field_focus.png";
+                  border: 8 8 8 8;
+                  border_scale: 1;
+               }
+               rel1 {
+                  to: "focus_bg";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 1.0 1.0;
+               }
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "focus_left_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 10 0;
+               max: 10 0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               rel1 {
+                  to: "focus_bg";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 0.0 1.0;
+               }
+            }
+         }
+         part { name: "focus_right_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 10 0;
+               max: 10 0;
+               align: 1.0 0.5;
+               fixed: 1 0;
+               rel1 {
+                  to: "focus_bg";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part { name: "bg";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  to_x: "focus_left_padding";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to_x: "focus_right_padding";
+                  relative: 0.0 1.0;
+               }
+            }
+         }
+      }
+      programs {
+         program { name: "action_focus";
+            signal: "elm,state,focus,on";
+            source: "*";
+            action: STATE_SET "focused" 0.0;
+            target: "focus_image";
+         }
+         program { name: "action_unfocus";
+            signal: "elm,state,focus,off";
+            source: "*";
+            action: STATE_SET "default" 0.0;
+            target: "focus_image";
+         }
+      }
+}
+group { name: "elm/scroller/entry/editfield/searchbar/default";
+      inherit: "elm/scroller/entry/default";
+      data {
+         item: "focus_highlight" "off";
+      }
+      images {
+         image: "00_search_edit_field_bg_focus.png" COMP;
+         image: "00_search_edit_field_bg.png" COMP;
+      }
+      parts {
+         part { name: "focus_bg";
+            type: IMAGE;
+            scale: 1;
+            mouse_events: 0;
+            repeat_events: 1;
+            description { state: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "00_search_edit_field_bg.png";
+                  border: 12 13 12 13;
+                  border_scale: 1;
+               }
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+         part { name: "focus_image";
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               image {
+                  normal: "00_search_edit_field_bg_focus.png";
+                  border: 12 13 12 13;
+                  border_scale: 1;
+               }
+               rel1 {
+                  to: "focus_bg";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 1.0 1.0;
+               }
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part { name: "focus_left_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 10 0;
+               max: 10 0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               rel1 {
+                  to: "focus_bg";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 0.0 1.0;
+               }
+            }
+         }
+         part { name: "focus_right_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 10 0;
+               max: 10 0;
+               align: 1.0 0.5;
+               fixed: 1 0;
+               rel1 {
+                  to: "focus_bg";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "focus_bg";
+                  relative: 1.0 1.0;
+               }
+            }
+         }
+         part { name: "bg";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  to_x: "focus_left_padding";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to_x: "focus_right_padding";
+                  relative: 0.0 1.0;
+               }
+            }
+         }
+      }
+      programs {
+         program { name: "action_focus";
+            signal: "elm,state,focus,on";
+            source: "*";
+            action: STATE_SET "focused" 0.0;
+            target: "focus_image";
+         }
+         program { name: "action_unfocus";
+            signal: "elm,state,focus,off";
+            source: "*";
+            action: STATE_SET "default" 0.0;
+            target: "focus_image";
+         }
+      }
+}
+group { name: "elm/entry/base-single/datetime_popup";
+   name: "elm/entry/base-single/datetime_popup/year";
+   alias: "elm/entry/base-single/datetime_popup/month";
+   alias: "elm/entry/base-single/datetime_popup/date";
+   alias: "elm/entry/base-single/datetime_popup/hour";
+   alias: "elm/entry/base-single/datetime_popup/minute";
+
+   inherit: "elm/entry/base-single/default";
+
+   data.item: "default_font_size" "64";
+
+   styles {
+      style { name: "entry_datetime_popup_textblock_style";
+         base: "font=Tizen:style=Roman font_size="ENTRY_DATETIME_POPUP_TEXT_SIZE_INC" color="ENTRY_TEXT_COLOR_INC" wrap=none left_margin=1 right_margin=3 text_class=tizen";
+         tag:  "br" "\n";
+         tag:  "ps" "ps";
+         tag:  "tab" "\t";
+         tag:  "em" "+ font=Tizen:style=Oblique";
+         tag:  "b" "+ font=Tizen:style=Bold";
+         tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+         tag:  "hilight" "+ font=Tizen:style=Bold";
+         tag:  "preedit" "+ underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sel" "+ backing=on backing_color="ENTRY_PREEDIT_BACKGROUND_COLOR_INC" color="ENTRY_PREEDIT_TEXT_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_TEXT_COLOR_INC;
+         tag:  "preedit_sub1" "+ backing=on backing_color="ENTRY_PREEDIT_SUB1_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub2" "+ backing=on backing_color="ENTRY_PREEDIT_SUB2_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub3" "+ backing=on backing_color="ENTRY_PREEDIT_SUB3_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+         tag:  "preedit_sub4" "+ backing=on backing_color="ENTRY_PREEDIT_SUB4_COLOR_INC" underline=on underline_color="ENTRY_PREEDIT_UNDERLINE_COLOR_INC;
+      }
+   }
+   parts {
+      part { name: "elm.text";
+         type: TEXTBLOCK;
+         mouse_events: 1;
+         scale: 1;
+         entry_mode: EDITABLE;
+         select_mode: BLOCK_HANDLE;
+         multiline: 0;
+         source: "elm/entry/selection/default"; // selection under
+         source4: "elm/entry/cursor/default"; // cursorover
+         source5: "elm/entry/anchor/default"; // anchor under
+         source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+         source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+         source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+         source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+         source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
+         description { state: "default" 0.0;
+            text {
+               style: "entry_datetime_popup_textblock_style";
+               min: 1 1;
+               max: 0 0;
+               align: 0.0 0.5;
+            }
+            ENTRY_TEXTBLOCK_DEFAULT_REL
+         }
+         description { state: "disabled" 0.0;
+            inherit: "default" 0.0;
+            text {
+               style: "entry_single_textblock_disabled_style";
+            }
+         }
       }
    }
+}
+
+