[Magnifier,Selection] Selection refactoring, implement copy&paste v1.2, GUI 0.6
authorThiep Ha <thiep.ha@samsung.com>
Tue, 19 Mar 2013 01:56:47 +0000 (10:56 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Thu, 21 Mar 2013 08:17:34 +0000 (17:17 +0900)
Change-Id: I08362f5e2141842879ceec812e48df4f97b6f1f5

Conflicts:

themes/widgets/entry.edc

15 files changed:
themes/images/tizen-hd/copy&paste_Handler_center.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Handler_left.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Handler_left_01.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Handler_left_01_reversed.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Handler_left_reversed.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Handler_right.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Handler_right_01.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Handler_right_01_reversed.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Handler_right_reversed.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Magnifier.png [new file with mode: 0755]
themes/images/tizen-hd/copy&paste_Magnifier_left.png [new file with mode: 0644]
themes/images/tizen-hd/copy&paste_Magnifier_middle.png [new file with mode: 0644]
themes/images/tizen-hd/copy&paste_Magnifier_right.png [new file with mode: 0644]
themes/inc/tizen-hd-inc.edc
themes/widgets/entry.edc

diff --git a/themes/images/tizen-hd/copy&paste_Handler_center.png b/themes/images/tizen-hd/copy&paste_Handler_center.png
new file mode 100755 (executable)
index 0000000..aa57a2f
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_center.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Handler_left.png b/themes/images/tizen-hd/copy&paste_Handler_left.png
new file mode 100755 (executable)
index 0000000..6556b1f
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_left.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Handler_left_01.png b/themes/images/tizen-hd/copy&paste_Handler_left_01.png
new file mode 100755 (executable)
index 0000000..7aa4b55
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_left_01.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Handler_left_01_reversed.png b/themes/images/tizen-hd/copy&paste_Handler_left_01_reversed.png
new file mode 100755 (executable)
index 0000000..2b695d5
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_left_01_reversed.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Handler_left_reversed.png b/themes/images/tizen-hd/copy&paste_Handler_left_reversed.png
new file mode 100755 (executable)
index 0000000..86163dc
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_left_reversed.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Handler_right.png b/themes/images/tizen-hd/copy&paste_Handler_right.png
new file mode 100755 (executable)
index 0000000..2b695d5
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_right.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Handler_right_01.png b/themes/images/tizen-hd/copy&paste_Handler_right_01.png
new file mode 100755 (executable)
index 0000000..86163dc
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_right_01.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Handler_right_01_reversed.png b/themes/images/tizen-hd/copy&paste_Handler_right_01_reversed.png
new file mode 100755 (executable)
index 0000000..6556b1f
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_right_01_reversed.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Handler_right_reversed.png b/themes/images/tizen-hd/copy&paste_Handler_right_reversed.png
new file mode 100755 (executable)
index 0000000..7aa4b55
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Handler_right_reversed.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Magnifier.png b/themes/images/tizen-hd/copy&paste_Magnifier.png
new file mode 100755 (executable)
index 0000000..ed848d9
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Magnifier.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Magnifier_left.png b/themes/images/tizen-hd/copy&paste_Magnifier_left.png
new file mode 100644 (file)
index 0000000..f8a9c44
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Magnifier_left.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Magnifier_middle.png b/themes/images/tizen-hd/copy&paste_Magnifier_middle.png
new file mode 100644 (file)
index 0000000..903fcf2
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Magnifier_middle.png differ
diff --git a/themes/images/tizen-hd/copy&paste_Magnifier_right.png b/themes/images/tizen-hd/copy&paste_Magnifier_right.png
new file mode 100644 (file)
index 0000000..3f6bdcf
Binary files /dev/null and b/themes/images/tizen-hd/copy&paste_Magnifier_right.png differ
index af3ec27..f3fe57c 100644 (file)
 #define ENTRY_PREEDIT_SUB2_COLOR_INC "#9962C3"
 #define ENTRY_PREEDIT_SUB3_COLOR_INC "#76DE37"
 #define ENTRY_PREEDIT_SUB4_COLOR_INC "#999999"
-#define ENTRY_SELECTION_BG_COLOR 90 123 138 127
-#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE 48 67
+#define ENTRY_SELECTION_BG_COLOR 183 212 247 255
+#define ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE 60 60
+#define ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET 17
+#define ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET 8
+#define ENTRY_SELECTION_EDGE_COLOR 59 115 182 255
+#define ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 4
 #define MAGNIFIER_HEIGHT_FILL 182
-#define MAGNIFIER_HEIGHT_FIXED 108
-#define MAGNIFIER_WIDTH_FIXED 358
+#define MAGNIFIER_HEIGHT_FIXED 134
+#define MAGNIFIER_WIDTH_FIXED 312
 
 #define ENTRY_BUBBLE_EX_PAD 58
 #define ENTRY_BUBBLE_EX_CALLERID_PAD 178
index 9976dd4..0d99b5a 100644 (file)
  * limitations under the License.
  */
 
-
-
-//#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_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"
 
 group { name: "elm/entry/base/default";
    alias: "elm/entry/base-mixedwrap/default";
@@ -102,11 +101,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 {
@@ -238,11 +242,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 {
@@ -329,10 +338,15 @@ 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";
@@ -469,11 +483,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 {
@@ -610,11 +629,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 {
@@ -750,10 +774,15 @@ 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";
@@ -838,10 +867,15 @@ 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";
@@ -971,10 +1005,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";
@@ -1060,9 +1099,14 @@ group { name: "elm/entry/base-single-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
          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";
@@ -1147,9 +1191,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 {
@@ -1235,9 +1284,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 {
@@ -1323,9 +1377,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";
@@ -1410,10 +1469,15 @@ 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";
@@ -1544,10 +1608,15 @@ 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";
@@ -1853,48 +1922,15 @@ group { name: "elm/entry/base-password/popup";
        }
 
        group { name: "elm/entry/selection/block_handle_left";
-               data.item: "position" "BOTTOM";
                data.item: "height" "40";
+               data.item: "gap" "51";
                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;
+                 image: "copy&paste_Handler_left.png" COMP;
+                 image: "copy&paste_Handler_left_01.png" COMP;
+                 image: "copy&paste_Handler_left_reversed.png" COMP;
+                 image: "copy&paste_Handler_left_01_reversed.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;
@@ -1903,18 +1939,11 @@ group { name: "elm/entry/base-password/popup";
                                        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";
-                                       }
+                                       max:ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
+                                       rel1.offset: 0 -ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET;
+                                       rel2.offset: ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET 0;
                                        image {
-                                               normal: "copy&paste_Icon_left.png";
+                                               normal: "copy&paste_Handler_left_01.png";
                                                border: 0 0 0 0;
                                        }
                                        image.middle: SOLID;
@@ -1928,30 +1957,40 @@ group { name: "elm/entry/base-password/popup";
                                        inherit: "default" 0.0;
                                        visible: 1;
                                        align: 1 1;
+                                       rel2 {
+                                               offset: ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET;
+                                       }
                                        image {
-                                               normal: "copy&paste_Icon_left_top.png";
+                                               normal: "copy&paste_Handler_left.png";
                                        }
                                }
-                               description { state: "press" 0.0;
+                               description { state: "bottom_reversed" 0.0;
                                        inherit: "default" 0.0;
                                        visible: 1;
+                                       align: 0 0;
+                                       rel1 {
+                                               offset: -ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET -ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET;
+                                       }
                                        image {
-                                               normal: "copy&paste_Icon_left_press.png";
+                                               normal: "copy&paste_Handler_left_01_reversed.png";
                                        }
                                }
-                               description { state: "top_press" 0.0;
+                               description { state: "top_reversed" 0.0;
                                        inherit: "default" 0.0;
                                        visible: 1;
-                                       align: 1 1;
+                                       align: 0 1;
+                                       rel1.offset: -ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET 0;
+                                       rel2 {
+                                               offset: 0 ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET;
+                                       }
                                        image {
-                                               normal: "copy&paste_Icon_left_top_press.png";
+                                               normal: "copy&paste_Handler_left_reversed.png";
                                        }
                                }
                        }
                }
                script {
                        public handler_ontop;
-                       public handler_pressed;
                        public handler_focused;
                }
                programs {
@@ -1968,142 +2007,69 @@ 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: "bottom_reversed";
+                               signal: "elm,state,bottom,reversed";
+                               source: "elm";
+                               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";
+                               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);
-                                       else
+                                       if (focused)
+                                       {
                                                set_state(PART:"handle", "show", 0.0);
-                               }
-                       }
-                       program { name: "pressed";
-                               signal: "mouse,down,1";
-                               source: "handle";
-                               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";
-                               signal: "mouse,up,1";
-                               source: "handle";
-                               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", "default", 0.0);
+                                       }
                                }
                        }
                }
        }
 
        group { name: "elm/entry/selection/block_handle_right";
-               data.item: "position" "BOTH";
                data.item: "height" "40";
+               data.item: "gap" "51";
                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_right.png" COMP;
+                 image: "copy&paste_Handler_right_01.png" COMP;
+                 image: "copy&paste_Handler_right_reversed.png" COMP;
+                 image: "copy&paste_Handler_right_01_reversed.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;
@@ -2112,16 +2078,10 @@ group { name: "elm/entry/base-password/popup";
                                        fixed: 1 1;
                                        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;
-                                       }
+                                       max: ENTRY_SELECTION_BLOCK_HANDLE_MIN_SIZE;
+                                       rel1.offset: -ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET -ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET;
                                        image {
-                                               normal: "copy&paste_Icon_right.png";
+                                               normal: "copy&paste_Handler_right.png";
                                                border: 0 0 0 0;
                                        }
                                        image.middle: SOLID;
@@ -2135,30 +2095,35 @@ group { name: "elm/entry/base-password/popup";
                                        inherit: "default" 0.0;
                                        visible: 1;
                                        align: 0 1;
+                                       rel1.offset: -ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET 0;
+                                       rel2.offset: 0 ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET;
                                        image {
-                                               normal: "copy&paste_Icon_right_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;
+                                       rel1.offset: 0 -ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET;
+                                       rel2.offset: ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET+ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 0;
                                        image {
-                                               normal: "copy&paste_Icon_right_press.png";
+                                               normal: "copy&paste_Handler_right_reversed.png";
                                        }
                                }
-                               description { state: "top_press" 0.0;
+                               description { state: "top_reversed" 0.0;
                                        inherit: "default" 0.0;
                                        visible: 1;
-                                       align: 0 1;
+                                       align: 1 1;
+                                       rel2.offset: ENTRY_SELECTION_BLOCK_HANDLE_X_OFFSET+ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH ENTRY_SELECTION_BLOCK_HANDLE_Y_OFFSET;
                                        image {
-                                               normal: "copy&paste_Icon_right_top_press.png";
+                                               normal: "copy&paste_Handler_right_01_reversed.png";
                                        }
                                }
                        }
                }
                script {
                        public handler_ontop;
-                       public handler_pressed;
                        public handler_focused;
                }
                programs {
@@ -2175,114 +2140,203 @@ 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);
-                                        }
+                                       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";
+                               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);
+                                       if (focused)
+                                               {
+                                                       set_state(PART:"handle", "show", 0.0);
+                                               }
+                                       else
+                                               {
+                                                       set_state(PART:"handle", "default", 0.0);
+                                       }
+                               }
+                       }
+                       program { name: "bottom_reversed";
+                               signal: "elm,state,bottom,reversed";
+                               source: "elm";
+                               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);
+                               }
+                       }
+               }
+       }
 
-                                               set_state(PART:"sens", "show", 0.0);
-                                        }
-                                        else
-                                        {
-                                             set_state(PART:"handle", "default", 0.0);
-                                             set_state(PART:"sens", "default", 0.0);
-                                        }
+       group { name: "elm/entry/cursor_handle/default";
+               images {
+                 image: "copy&paste_Handler_center.png" COMP;
+               }
+               parts {
+                       part { name: "handle";
+                               scale: 1;
+                               mouse_events: 1;
+                               description { state: "default" 0.0;
+                                       max: 60 60;
+                                       min: 60 60;
+                                       align: 0 0;
+                                       fixed: 1 1;
+                                       visible: 0;
+                                       rel1 { offset: -30 -8; }
+                                       image {
+                                               normal: "copy&paste_Handler_center.png";
+                                               border: 0 0 0 0;
+                                       }
+                                       image.middle: SOLID;
+                                       fill.smooth: 0;
+                               }
+                               description { state: "show" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
                                }
                        }
-                       program { name: "pressed_sens";
-                               signal: "mouse,down,1";
-                               source: "sens";
+               }
+               programs {
+                       program { name: "focused";
+                               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:"handle", "show", 0.0);
                                }
                        }
-                       program { name: "unpressed_sens";
-                               signal: "mouse,up,1";
-                               source: "sens";
+                       program { name: "unfocused";
+                               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:"handle", "default", 0.0);
                                }
                        }
-                       program { name: "pressed";
-                               signal: "mouse,down,1";
-                               source: "handle";
+                       program { name: "show";
+                               signal: "edje,cursor,handle,show";
+                               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:"handle", "show", 0.0);
                                }
                        }
-                       program { name: "unpressed";
-                               signal: "mouse,up,1";
-                               source: "handle";
+                       program { name: "hide";
+                               signal: "edje,cursor,handle,hide";
+                               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:"handle", "default", 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: ENTRY_SELECTION_BLOCK_HANDLE_EDGE_WIDTH 0;
+                                       color: 255 0 0 100;
+                                       visible: 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;
+                                       rel2 { relative: 0 1; to: "align"; }
+                                       visible: 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/selection/block_handle_edge_right";
+               parts {
+                       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;
+                                       visible: 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/selection/block_bar";
                images {
                  image: "reader_longtap_blue.png" COMP;
@@ -2331,7 +2385,7 @@ 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;
@@ -2395,59 +2449,195 @@ group { name: "elm/entry/base-password/popup";
        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.png" COMP;
-                 image: "magnifier_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;
+                                       fixed: 1 1;
                                        min: MAGNIFIER_WIDTH_FIXED MAGNIFIER_HEIGHT_FIXED;
                                        align: 0.5 0.0;
-                                       rel1.offset: 0 8;
+                                       visible: 1;
+                                       color: 0 0 0 0;
+                               }
+                       }
+                       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 { relative: 0.0 0.0; to: "bg"; }
+                                       rel2 { relative: 0.5 1.0; to: "bg"; offset: -20 -1;}
                                        image {
-                                               normal: "magnifier.png";
-                                               border: 12 14 14 20;
+                                               normal: "copy&paste_Magnifier_left.png";
+                                               border: 21 1 20 44;
                                        }
-                                       image.middle: SOLID;
+                                       image.middle: 1;
+                                       fill.smooth: 0;
+                               }
+                       }
+                       part { name: "bg_middle";
+                               mouse_events: 0;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       min: 40 134;
+                                       max: 40 999999;
+                                       align: 0.0 0.0;
+                                       rel1 { relative: 1.0 0.0; to: "bg_left"; }
+                                       rel2 { relative: 0.0 1.0; to: "bg_right"; }
+                                       image {
+                                               normal: "copy&paste_Magnifier_middle.png";
+                                               border: 0 40 20 44;
+                                       }
+                                       image.middle: 1;
                                        fill.smooth: 0;
                                }
                        }
+                       part { name: "bg_right";
+                               mouse_events: 0;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       fixed: 1 1;
+                                       min: 136 134;
+                                       rel1 { relative: 0.5 0.0; to: "bg"; offset: 21 0;}
+                                       rel2.to: "bg";
+                                       image {
+                                               normal: "copy&paste_Magnifier_right.png";
+                                               border: 1 21 20 44;
+                                       }
+                                       image.middle: 1;
+                                       fill.smooth: 0;
+                               }
+                       }
+                       part { name: "content_bg";
+                               type: RECT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       color: 255 255 255 255;
+                                       rel1.to: "swallow";
+                                       rel2.to: "swallow";
+                                       visible: 1;
+                               }
+                       }
+                       part { name: "content_bg_right";
+                               type: RECT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       color: 255 0 0 100;
+                                       rel1.to: "bg_right";
+                                       rel2.to: "bg_right";
+                                       visible: 0;
+                               }
+                       }
+                       part { name: "fining_left"; //temporary to reduce rounded corner effect
+                               type: RECT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       color: 255 255 255 255;
+                                       rel1 { relative: 0.0 0.0; to: "swallow"; offset: -4 5;}
+                                       rel2 { relative: 0.0 1.0; to: "swallow"; offset: -1 -5;}
+                                       visible: 1;
+                               }
+                       }
+                       part { name: "fining_right";
+                               type: RECT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       color: 255 255 255 255;
+                                       rel1 { relative: 1.0 0.0; to: "swallow"; offset: 0 5;}
+                                       rel2 { relative: 1.0 1.0; to: "swallow"; offset: 2 -5;}
+                                       visible: 1;
+                               }
+                       }
+                       part { name: "fining_top";
+                               type: RECT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       color: 255 255 255 255;
+                                       rel1 { relative: 0.0 0.0; to: "swallow"; offset: 5 -1;}
+                                       rel2 { relative: 1.0 0.0; to: "swallow"; offset: -5 -1;}
+                                       visible: 1;
+                               }
+                       }
+                       part { name: "fining_bottom";
+                               type: RECT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description { state: "default" 0.0;
+                                       color: 255 255 255 255;
+                                       rel1 { relative: 0.0 1.0; to: "swallow"; offset: 5 0;}
+                                       rel2 { relative: 1.0 1.0; to: "swallow"; offset: -5 1;}
+                                       visible: 1;
+                               }
+                       }
                        part { name: "swallow";
                                type: SWALLOW;
                                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;
+                                               offset: -21+5 -44+10;
                                        }
                                }
                        }
-                       part { name: "outline";
+               }
+       }
+
+       group { name: "elm/copypaste/notify/default";
+               parts {
+                       part { name: "base";
+                               type: RECT;
                                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;
+                                       min: 0 110;
+                                       color: 50 50 50 255;
+                                       rel1 {
+                                               relative: 0.0 0.0;
+                                               offset: 0 50;
+                                       }
+                                       rel2 {
+                                               relative: 1.0 1.0;
+                                       }
+                               }
+                       }
+                       part { name: "elm.text";
+                               type: TEXT;
+                               mouse_events: 0;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       align: 0 0;
+                                       rel1 {relative: 0.0 0.0; to: "base";}
+                                       rel2 {relative: 1.0 1.0; to: "base";}
+                                       color: 255 255 255 255;
+                                       text {
+                                               font: "Tizen:style=Roman";
+                                               size: 40;
+                                               text_class: "tizen";
                                        }
-                                       image.middle: SOLID;
-                                       fill.smooth: 0;
                                }
                        }
                }
@@ -2616,10 +2806,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;
@@ -2908,9 +3103,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;
@@ -3281,9 +3481,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;
                align: 0.0 0.0;
@@ -3409,11 +3614,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;
@@ -3699,9 +3909,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;
@@ -4089,9 +4304,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;
                align: 1.0 0.0;
@@ -4221,11 +4441,16 @@ 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 {
@@ -4311,11 +4536,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 {
@@ -4454,11 +4684,16 @@ 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 {
@@ -4597,10 +4832,15 @@ 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";
@@ -4685,10 +4925,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";
@@ -4772,10 +5017,15 @@ 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";