[UX 4.6] Radio and check implementation.
[platform/core/uifw/efl-theme-tizen.git] / themes / widgets / check.edc
index dc04751..795840a 100644 (file)
       images { \
          image: "00_check_bg.png" COMP; \
          image: "00_check_dim_bg.png" COMP; \
-         image: "00_check_dim.png" COMP; \
+         image: "00_check_Activated_dim.png" COMP; \
          image: "00_check_Activated.png" COMP; \
+         image: "00_check_press_bg.png" COMP; \
+         image: "00_check_press.png" COMP; \
       } \
       script { \
          public check_state = CHECK_STATE_DEFAULT; \
             description { state: "visible" 0.0; \
                inherit: "default" 0.0; \
             } \
+            description { state: "pressed" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "00_check_press_bg.png"; \
+            } \
             description { state: "disabled" 0.0; \
                inherit: "default" 0.0; \
                image.normal: "00_check_dim_bg.png"; \
             description { state: "disabled_visible" 0.0; \
                inherit: "default" 0.0; \
                visible: 1; \
-               image.normal: "00_check_dim.png"; \
+               image.normal: "00_check_Activated_dim.png"; \
+               color: 255 255 255 255; \
+            } \
+            description { state: "pressed" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+               image.normal: "00_check_press.png"; \
                color: 255 255 255 255; \
             } \
          } \
          program { name: "touch_sound"; \
             action: PLAY_SAMPLE "touch_sound" 1.0; \
          } \
+         program { name: "bg_normal"; \
+            signal: "mouse,up,1"; \
+            source: "events2"; \
+            action: STATE_SET "default" 0.0; \
+            target: "bg"; \
+            target: "check"; \
+         } \
+         program { name: "pressed"; \
+            signal: "mouse,down,1"; \
+            source: "events2"; \
+            action: STATE_SET "pressed" 0.0; \
+            target: "bg"; \
+            target: "check"; \
+         } \
          program { name: "mouse,out"; \
             signal: "mouse,out"; \
             source: "events2"; \
@@ -396,7 +422,7 @@ CHECK_STYLE_DEFAULT("default/extended", CHECK_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MI
       images { \
          image: "00_check_bg.png" COMP; \
          image: "00_check_dim_bg.png" COMP; \
-         image: "00_check_dim.png" COMP; \
+         image: "00_check_Activated_dim.png" COMP; \
          image: "00_check_Activated.png" COMP; \
       } \
       script { \
@@ -445,7 +471,7 @@ CHECK_STYLE_DEFAULT("default/extended", CHECK_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MI
             description { state: "disabled_visible" 0.0; \
                inherit: "default" 0.0; \
                visible: 1; \
-               image.normal: "00_check_dim.png"; \
+               image.normal: "00_check_Activated_dim.png"; \
             } \
          } \
          part { name: "elm.swallow.content"; \
@@ -695,1450 +721,301 @@ CHECK_STYLE_FOR_GENLIST("default/genlist_edit", CHECK_STYLE_FAVORITE_DEFAULT_BG_
       }
    }
 
-   group { name: "elm/check/base/multicheck";
+   group { name: "elm/check/base/on&off";
       images {
-         image: "00_check_bg.png" COMP;
-         image: "00_check_bg_press.png" COMP;
-         image: "multicheck_0001.png" COMP;
-         image: "multicheck_0002.png" COMP;
-         image: "multicheck_0003.png" COMP;
-         image: "multicheck_0004.png" COMP;
-         image: "multicheck_0005.png" COMP;
-         image: "multicheck_0006.png" COMP;
-         image: "00_check_checking.png" COMP;
+         image: "00_button_on.png" COMP;
+         image: "00_button_on_dim.png" COMP;
+         image: "00_button_off.png" COMP;
+         image: "00_button_off_dim.png" COMP;
+         image: "00_button_on_off_handler.png" COMP;
+         image: "00_button_on_off_handler_dim.png" COMP;
       }
       script {
-         public check_state = 0; //0:default, 1: visible, 2: disabled_visible
+         public is_rtl = 0;
+         public is_drag = 0;
+         public was_drag = 0;
+         public check_on = 0;
       }
       parts {
          part { name: "bg";
+            type: RECT;
+            mouse_events: 1;
             scale: 1;
-            clip_to: "disclip";
             description { state: "default" 0.0;
+               min: CHECK_ONOFF_BG_NORMAL_MIN_MAX_INC;
+               max: CHECK_ONOFF_BG_NORMAL_MIN_MAX_INC;
                rel2.relative: 0.0 1.0;
+               fixed: 1 1;
                align: 0.0 0.5;
-               min: 44 44;
-               max: 44 44;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-               image.normal: "00_check_bg.png";
-               fill.smooth : 0;
-            }
-            description { state: "pressed" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_check_bg_press.png";
-               fill.smooth : 0;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
+               visible: 0;
             }
          }
-         part { name: "check";
-            mouse_events: 0;
-            clip_to: "disclip";
+         part { name: "padding_left";
+            type: RECT;
             scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               visible: 0;
-            }
-            description { state: "visible_1" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               image.normal: "multicheck_0001.png";
-            }
-            description { state: "visible_2" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               image.normal: "multicheck_0002.png";
-            }
-            description { state: "visible_3" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               image.normal: "multicheck_0003.png";
-            }
-            description { state: "visible_4" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               image.normal: "multicheck_0004.png";
-            }
-            description { state: "visible_5" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               image.normal: "multicheck_0005.png";
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               image.normal: "multicheck_0006.png";
-            }
-            description { state: "pressed" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               image.normal: "multicheck_0006.png";
-            }
-            description { state: "disabled_visible" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_check_checking.png";
-               visible: 1;
+               align: 0.0 0.0;
+               rel1{ relative: 0.0 0.0; to: "bg"; }
+               rel2{ relative: 0.0 1.0; to: "bg"; }
+               min: 0 0;
+               fixed: 1 1;
+               color: 0 0 0 0;
             }
          }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
-            clip_to: "disclip";
+         part { name: "padding_right";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               fixed: 1 0;
-               visible: 0;
-               color: 255 255 255 255;
-               align: 0.0 0.5;
+               align: 1.0 0.0;
                rel1 {
-                  to_x: "bg";
                   relative: 1.0 0.0;
-                  offset: 1 1;
+                  to: "bg";
                }
                rel2 {
-                  to_x: "bg";
                   relative: 1.0 1.0;
-                  offset: 2 -2;
+                  to: "bg";
                }
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
+               min: 0 0;
                fixed: 1 1;
-               visible: 1;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 128 128 128 128;
+               color: 0 0 0 0;
             }
-            description { state: "disabled_visible" 0.0;
-               inherit: "default" 0.0;
-               color: 128 128 128 128;
+         }
+         part { name: "padding_top";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel1.to: "bg";
+               rel2 {
+                  relative: 1.0 0.0;
+                  to: "bg";
+               }
+               min: 0 0;
                fixed: 1 1;
-               visible: 1;
-               aspect: 1.0 1.0;
+               color: 0 0 0 0;
             }
          }
-         part { name: "elm.text";
-            type: TEXTBLOCK;
-            clip_to: "disclip";
-            mouse_events: 0;
+         part { name: "padding_bottom";
+            type: RECT;
             scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               visible: 0;
-               fixed: 0 1;
+               align: 1.0 1.0;
                rel1 {
-                  relative: 1.0 0.5;
-                  offset: 1 1;
-                  to_x: "elm.swallow.content";
+                  relative: 0.0 1.0;
+                  to: "bg";
                }
                rel2 {
-                  relative: 1.0 0.5;
-                  offset: -2 -2;
+                  relative: 1.0 1.0;
+                  to: "bg";
                }
+               min: 0 0;
+               fixed: 0 1;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "bg_image";
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
                align: 0.0 0.5;
-               text {
-                  style: "check_label_textblock_style";
-                  min: 0 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "bg";
+                  to_y: "padding_top";
                }
-               color: CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC;
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "bg";
+                  to_y: "padding_bottom";
+               }
+               image.normal: "00_button_off.png";
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               text.min: 1 1;
+               image.normal: "00_button_on.png";
             }
-            description { state: "disabled" 0.0;
+            description { state: "pressed" 0.0;
                inherit: "default" 0.0;
+               image.normal: "00_button_off.png";
             }
-            description { state: "disabled_visible" 0.0;
+            description { state: "visible_pressed" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               text.min: 1 1;
-               color: CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC;
+               image.normal: "00_button_on.png";
+            }
+            description { state: "visible_disable" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_on_dim.png";
+            }
+            description { state: "off_disable" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_off_dim.png";
             }
          }
-         part { name: "events1";
+         part { name: "drag_container";
             type: RECT;
-            ignore_flags: ON_HOLD;
+            scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left";
+                  to_y: "bg";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "padding_right";
+                  to_y: "bg";
+               }
                color: 0 0 0 0;
             }
          }
-         part { name: "disclip";
+         part { name: "clipper";
             type: RECT;
             mouse_events: 0;
             description { state: "default" 0.0;
+               rel1.to: "bg";
+               rel2.to: "bg";
                color: 255 255 255 255;
             }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 102;
-            }
          }
-         part { name: "events2";
+         part { name: "clipper_inner";
             type: RECT;
-            repeat_events: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               color: 0 0 0 0;
+               rel1.to: "bg_image";
+               rel2.to: "bg_image";
+               color: 255 255 255 255;
             }
          }
-         part { name: "disabler";
-            type: RECT;
+         part { name: "button";
+            scale: 1;
+            clip_to: "clipper";
+            mouse_events: 1;
+            dragable {
+               x: 1 1 0;
+               y: 0 0 0;
+               confine: "drag_container";
+            }
             description { state: "default" 0.0;
-               color: 0 0 0 0;
-               visible: 0;
+               min: CHECK_ONOFF_HANDLER_MIN_MAX_INC;
+               max: CHECK_ONOFF_HANDLER_MIN_MAX_INC;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               align: 0.0 0.5;
+               fixed: 1 1;
+               image.normal: "00_button_on_off_handler.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
+               image.normal: "00_button_on_off_handler_dim.png";
             }
          }
-      }
-      programs {
-         program { name: "click";
-            signal: "mouse,clicked,1";
-            source: "events1";
-            action: SIGNAL_EMIT "elm,action,check,toggle" "";
-            after: "touch_sound";
-         }
-         program { name: "touch_sound";
-            action: PLAY_SAMPLE "touch_sound" 1.0;
-         }
-         program { name: "bg_normal";
-            signal: "mouse,up,1";
-            source: "events2";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"check", st, 30, vl);
-               if (!strcmp(st, "pressed"))
-                 set_state(PART:"check", "visible", 0.0);
-               set_state(PART:"bg", "default", 0.0);
-            }
-         }
-         program { name: "pressed";
-            signal: "mouse,down,1";
-            source: "events2";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"check", st, 30, vl);
-               if (!strcmp(st, "default"))
-                 set_state(PART:"check", "pressed", 0.0);
-               else
-                 set_state(PART:"check", "default", 0.0);
-               set_state(PART:"bg", "pressed", 0.0);
-            }
-         }
-         program { name: "mouse,out";
-            signal: "mouse,out";
-            source: "events2";
-            script {
-               if (get_int(check_state) == 1)
-                 set_state(PART:"check", "visible", 0.0);
-               else
-                 set_state(PART:"check", "default", 0.0);
-            }
-         }
-         program { name: "check_on";
-            signal: "elm,state,check,on";
-            source: "elm";
-            script {
-               set_int(check_state, 1);
-            }
-            after: "check_on_1";
-         }
-         program { name: "check_on_1";
-            in: 0.05 0.0;
-            script {
-               if (get_int(check_state) == 1)
-                 set_state(PART:"check", "visible_1", 0.0);
-            }
-            after: "check_on_2";
-         }
-         program { name: "check_on_2";
-            in: 0.05 0.0;
-            script {
-               if (get_int(check_state) == 1)
-                 set_state(PART:"check", "visible_2", 0.0);
-            }
-            after: "check_on_3";
-         }
-         program { name: "check_on_3";
-            in: 0.05 0.0;
-            script {
-               if (get_int(check_state) == 1)
-                 set_state(PART:"check", "visible_3", 0.0);
-            }
-            after: "check_on_4";
-         }
-         program { name: "check_on_4";
-            in: 0.05 0.0;
-            script {
-               if (get_int(check_state) == 1)
-                 set_state(PART:"check", "visible_4", 0.0);
-            }
-            after: "check_on_5";
-         }
-         program { name: "check_on_5";
-            in: 0.05 0.0;
-            script {
-               if (get_int(check_state) == 1)
-                 set_state(PART:"check", "visible_5", 0.0);
-            }
-            after: "check_on_6";
-         }
-         program { name: "check_on_6";
-            in: 0.05 0.0;
-            script {
-               if (get_int(check_state) == 1)
-                 set_state(PART:"check", "visible", 0.0);
-            }
-         }
-         program { name: "check_off";
-            signal: "elm,state,check,off";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "check";
-            script {
-               if (get_int(check_state) == 1)
-                 {
-                    set_int(check_state, 0);
-                    set_state(PART:"check", "default", 0.0);
-                 }
-            }
-         }
-         program { name: "text_show";
-            signal: "elm,state,text,visible";
-            source: "elm";
-            action: STATE_SET "visible" 0.0;
-            target: "elm.text";
-         }
-         program { name: "text_hide";
-            signal: "elm,state,text,hidden";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.text";
-         }
-         program { name: "icon_show";
-            signal: "elm,state,icon,visible";
-            source: "elm";
-            action: STATE_SET "visible" 0.0;
-            target: "elm.swallow.content";
-         }
-         program { name: "icon_hide";
-            signal: "elm,state,icon,hidden";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.swallow.content";
-         }
-         program { name: "disable";
-            signal: "elm,state,disabled";
-            source: "elm";
-            action: STATE_SET "disabled" 0.0;
-            target: "disabler";
-            target: "disclip";
-            target: "bg";
-            after: "disable_text";
-         }
-         program { name: "disable_text";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.text", "disabled_visible", 0.0);
-               else
-                 set_state(PART:"elm.text", "disabled", 0.0);
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
-               else
-                 set_state(PART:"elm.swallow.content", "disabled", 0.0);
-               get_state(PART:"check", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"check", "disabled_visible", 0.0);
-               set_int(check_state, 2);
-            }
-         }
-         program { name: "enable";
-            signal: "elm,state,enabled";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "disabler";
-            target: "disclip";
-            target: "bg";
-            after: "enable_text";
-         }
-         program { name: "enable_text";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "disabled_visible"))
-                 set_state(PART:"elm.text", "visible", 0.0);
-               else
-                 set_state(PART:"elm.text", "default", 0.0);
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.swallow.content", "visible", 0.0);
-               else
-                 set_state(PART:"elm.swallow.content", "default", 0.0);
-               get_state(PART:"check", st, 30, vl);
-               if (!strcmp(st, "disabled_visible"))
-                 {
-                    set_state(PART:"check", "visible", 0.0);
-                    set_int(check_state, 1);
-                 }
-               else
-                 set_int(check_state, 0);
-            }
-         }
-      }
-   }
-
-//////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/check/base/on&off";
-      images {
-         image: "00_button_on.png" COMP;
-         image: "00_button_on_dim.png" COMP;
-         image: "00_button_off.png" COMP;
-         image: "00_button_off_dim.png" COMP;
-         image: "00_button_on_off_handler.png" COMP;
-         image: "00_button_on_off_handler_dim.png" COMP;
-      }
-      script {
-         public is_rtl = 0;
-         public is_drag = 0;
-         public was_drag = 0;
-         public check_on = 0;
-      }
-      parts {
-         part { name: "bg";
+         part { name: "button_events";
             type: RECT;
-            mouse_events: 1;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: CHECK_ONOFF_BG_NORMAL_MIN_MAX_INC;
-               max: CHECK_ONOFF_BG_NORMAL_MIN_MAX_INC;
-               rel2.relative: 0.0 1.0;
-               fixed: 1 1;
-               align: 0.0 0.5;
-               visible: 0;
+            dragable {
+               events: "button";
             }
-         }
-         part { name: "padding_left";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
             description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel1{ relative: 0.0 0.0; to: "bg"; }
-               rel2{ relative: 0.0 1.0; to: "bg"; }
-               min: 0 0;
-               fixed: 1 1;
+               rel1.to_x: "bg";
+               rel2.to_x: "bg";
                color: 0 0 0 0;
             }
          }
-         part { name: "padding_right";
+         part { name: "onrect";
             type: RECT;
             scale: 1;
+            clip_to: "clipper";
             mouse_events: 0;
             description { state: "default" 0.0;
-               align: 1.0 0.0;
                rel1 {
-                  relative: 1.0 0.0;
-                  to: "bg";
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  to: "bg";
+                  relative: -1.0 0.0;
+                  to: "button";
                }
-               min: 0 0;
-               fixed: 1 1;
-               color: 0 0 0 0;
-            }
-         }
-         part { name: "padding_top";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel1.to: "bg";
                rel2 {
-                  relative: 1.0 0.0;
-                  to: "bg";
+                  relative: 0.0 1.0;
+                  to: "button";
                }
-               min: 0 0;
-               fixed: 1 1;
+               align: 1.0 0.5;
                color: 0 0 0 0;
             }
          }
-         part { name: "padding_bottom";
+         part { name: "offrect";
             type: RECT;
             scale: 1;
+            clip_to: "clipper";
             mouse_events: 0;
             description { state: "default" 0.0;
-               align: 1.0 1.0;
                rel1 {
-                  relative: 0.0 1.0;
-                  to: "bg";
+                  relative: 1.0 0.0;
+                  to: "button";
                }
                rel2 {
-                  relative: 1.0 1.0;
-                  to: "bg";
+                  relative: 2.0 1.0;
+                  to: "button";
                }
-               min: 0 0;
-               fixed: 0 1;
                color: 0 0 0 0;
             }
          }
-         part { name: "bg_image";
+         part { name: "elm.offtext";
+            type: TEXT;
             mouse_events: 0;
             scale: 1;
+            clip_to: "clipper_inner";
             description { state: "default" 0.0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "bg";
-                  to_y: "padding_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "bg";
-                  to_y: "padding_bottom";
+               rel1.to: "offrect";
+               rel2.to: "offrect";
+               color: 255 255 255 255;
+               text {
+                  font: "Tizen:style=Medium";
+                  size: 20;
+                  min: 0 1;
+                  text_class: "tizen";
                }
-               image.normal: "00_button_off.png";
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_on.png";
-            }
-            description { state: "pressed" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_off.png";
             }
-            description { state: "visible_pressed" 0.0;
+            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_on.png";
-            }
-            description { state: "visible_disable" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_on_dim.png";
-            }
-            description { state: "off_disable" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_off_dim.png";
-            }
-         }
-         part { name: "drag_container";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left";
-                  to_y: "bg";
-               }
-               rel2 {
-                  relative: 0.0 1.0;
-                  to_x: "padding_right";
-                  to_y: "bg";
-               }
-               color: 0 0 0 0;
-            }
-         }
-         part { name: "clipper";
-            type: RECT;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "clipper_inner";
-            type: RECT;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1.to: "bg_image";
-               rel2.to: "bg_image";
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "button";
-            scale: 1;
-            clip_to: "clipper";
-            mouse_events: 1;
-            dragable {
-               x: 1 1 0;
-               y: 0 0 0;
-               confine: "drag_container";
-            }
-            description { state: "default" 0.0;
-               min: CHECK_ONOFF_HANDLER_MIN_MAX_INC;
-               max: CHECK_ONOFF_HANDLER_MIN_MAX_INC;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               align: 0.0 0.5;
-               fixed: 1 1;
-               image.normal: "00_button_on_off_handler.png";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_on_off_handler_dim.png";
-            }
-         }
-         part { name: "button_events";
-            type: RECT;
-            dragable {
-               events: "button";
-            }
-            description { state: "default" 0.0;
-               rel1.to_x: "bg";
-               rel2.to_x: "bg";
-               color: 0 0 0 0;
-            }
-         }
-         part { name: "onrect";
-            type: RECT;
-            scale: 1;
-            clip_to: "clipper";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1 {
-                  relative: -1.0 0.0;
-                  to: "button";
-               }
-               rel2 {
-                  relative: 0.0 1.0;
-                  to: "button";
-               }
-               align: 1.0 0.5;
-               color: 0 0 0 0;
-            }
-         }
-         part { name: "offrect";
-            type: RECT;
-            scale: 1;
-            clip_to: "clipper";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to: "button";
-               }
-               rel2 {
-                  relative: 2.0 1.0;
-                  to: "button";
-               }
-               color: 0 0 0 0;
-            }
-         }
-         part { name: "elm.offtext";
-            type: TEXT;
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "clipper_inner";
-            description { state: "default" 0.0;
-               rel1.to: "offrect";
-               rel2.to: "offrect";
-               color: 255 255 255 255;
-               text {
-                  font: "Tizen:style=Medium";
-                  size: 20;
-                  min: 0 1;
-                  text_class: "tizen";
-               }
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 128 128 128 128;
-            }
-         }
-         part { name: "elm.ontext";
-            type: TEXT;
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "clipper_inner";
-            description { state: "default" 0.0;
-               rel1.to: "onrect";
-               rel2.to: "onrect";
-               color: 255 255 255 255;
-               text {
-                  font: "Tizen:style=Medium";
-                  size: 20;
-                  min: 0 1;
-                  text_class: "tizen";
-               }
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 128 128 128 128;
-            }
-         }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
-            clip_to: "disclip";
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               visible: 0;
-               align: 0.0 0.5;
-               rel1 {
-                  to_x: "bg";
-                  relative: 1.0 0.0;
-               }
-               rel2 {
-                  to_x: "bg";
-                  relative: 1.0 1.0;
-               }
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               fixed: 1 1;
-               visible: 1;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-            }
-            description { state: "disabled_visible" 0.0;
-               inherit: "default" 0.0;
-               fixed: 1 1;
-               visible: 1;
-               aspect: 1.0 1.0;
-            }
-         }
-         part { name: "elm.text";
-            type: TEXTBLOCK;
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "disclip";
-            description { state: "default" 0.0;
-               visible: 0;
-               fixed: 0 1;
-               rel1 {
-                  relative: 1.0 0.5;
-                  offset: 1 1;
-                  to_x: "elm.swallow.content";
-               }
-               rel2 {
-                  relative: 1.0 0.5;
-                  offset: -2 -2;
-               }
-               align: 0.0 0.5;
-               text {
-                  style: "check_label_textblock_style";
-                  min: 0 0;
-               }
-               color: CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC;
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               text.min: 1 1;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-            }
-            description { state: "disabled_visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               text.min: 1 1;
-            }
-         }
-         part { name: "disclip";
-            type: RECT;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               color: CHECK_DISCLIP_NORMAL_COLOR_INC;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: CHECK_DISCLIP_DISABLED_COLOR_INC;
-            }
-         }
-         part { name: "disabler";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 0 0 0 0;
-               visible: 0;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-         }
-      }
-      programs {
-         program {
-            signal: "mouse,clicked,1";
-            source: "button";
-            script {
-               new Float:dx, Float:dy;
-               get_drag(PART:"button", dx, dy);
-               if (!get_int(was_drag)) {
-                  if (dx > 0.5)
-                    set_drag(PART:"button", 0.0, 0.0);
-                  else
-                    set_drag(PART:"button", 1.0, 0.0);
-                  if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
-                      (get_int(is_rtl) == 0) && (dx > 0.5)) {
-                     if (get_int(check_on)) {
-                       emit("elm,action,check,off", "");
-                       emit("elm,action,touch,sound", "");
-                     }
-                  }
-                  else {
-                     if (!get_int(check_on)) {
-                       emit("elm,action,check,on", "");
-                       emit("elm,action,touch,sound", "");
-                     }
-                  }
-               }
-            }
-         }
-         program { name: "touch_sound";
-            signal: "elm,action,touch,sound";
-            source: "";
-            action: PLAY_SAMPLE "touch_sound" 1.0;
-         }
-         program {
-            signal: "drag";
-            source: "button";
-            script {
-               if (!get_int(is_drag)) emit("elm,action,check,drag,start", "");
-               set_int(is_drag, 1);
-            }
-         }
-         program {
-            signal: "mouse,down,1";
-            source: "button";
-            script {
-               set_int(was_drag, 0);
-               set_int(is_drag, 0);
-            }
-         }
-         program { name: "drag_end";
-            signal: "mouse,up,1";
-            source: "button";
-            script {
-               new Float:dx, Float:dy;
-               get_drag(PART:"button", dx, dy);
-               if (get_int(is_drag)) {
-                  if (dx > 0.5)
-                    set_drag(PART:"button", 1.0, 0.0);
-                  else
-                    set_drag(PART:"button", 0.0, 0.0);
-                  if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
-                      (get_int(is_rtl) == 0) && (dx > 0.5)) {
-                     if (!get_int(check_on)) {
-                       emit("elm,action,check,on", "");
-                       emit("elm,action,touch,sound", "");
-                     }
-                  }
-                  else {
-                     if (get_int(check_on)) {
-                       emit("elm,action,check,off", "");
-                       emit("elm,action,touch,sound", "");
-                     }
-                  }
-                  set_int(was_drag, get_int(is_drag));
-                  set_int(is_drag, 0);
-                  emit("elm,action,check,drag,stop", "");
-               }
-            }
-         }
-         program { name: "check_on";
-            signal: "elm,state,check,on";
-            source: "elm";
-            script {
-               new Float:drag;
-               if (get_int(is_rtl) == 0) {
-                  drag = 100.0;
-               }
-               else {
-                  drag = 0.0;
-               }
-               set_drag(PART:"button", drag, 0.0);
-               set_state(PART:"bg_image", "visible", 0.0);
-               set_int(check_on, 1);
-            }
-         }
-         program { name: "check_off";
-            signal: "elm,state,check,off";
-            source: "elm";
-            script {
-               new Float:drag;
-               if (get_int(is_rtl) == 0) {
-                  drag = 0.0;
-               }
-               else {
-                  drag = 100.0;
-               }
-               set_drag(PART:"button", drag, 0.0);
-               set_state(PART:"bg_image", "default", 0.0);
-               set_int(check_on, 0);
-            }
-         }
-         program { name: "text_show";
-            signal: "elm,state,text,visible";
-            source: "elm";
-            action:  STATE_SET "visible" 0.0;
-            target: "elm.text";
-         }
-         program { name: "text_hide";
-            signal: "elm,state,text,hidden";
-            source: "elm";
-            action:  STATE_SET "default" 0.0;
-            target: "elm.text";
-         }
-         program { name: "icon_show";
-            signal: "elm,state,icon,visible";
-            source: "elm";
-            action:  STATE_SET "visible" 0.0;
-            target: "elm.swallow.content";
-         }
-         program { name: "icon_hide";
-            signal: "elm,state,icon,hidden";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.swallow.content";
-         }
-         program { name: "disable";
-            signal: "elm,state,disabled";
-            source: "elm";
-            action: STATE_SET "disabled" 0.0;
-            target: "elm.offtext";
-            target: "elm.ontext";
-            target: "onrect";
-            target: "offrect";
-            target: "disabler";
-            after: "disable_text";
-         }
-         program { name: "disable_text";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.text", "disabled_visible", 0.0);
-               else
-                 set_state(PART:"elm.text", "disabled", 0.0);
-               get_state(PART:"bg_image", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"bg_image", "visible_disable", 0.0);
-               else
-                 set_state(PART:"bg_image", "off_disable", 0.0);
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
-               else
-                 set_state(PART:"elm.swallow.content", "disabled", 0.0);
-               set_state(PART:"button", "disabled", 0.0);
-            }
-         }
-         program { name: "enable";
-            signal: "elm,state,enabled";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "disabler";
-            target: "onrect";
-            target: "offrect";
-            after: "enable_text";
-         }
-         program { name: "enable_text";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "disabled_visible"))
-                 set_state(PART:"elm.text", "visible", 0.0);
-               else
-                 set_state(PART:"elm.text", "default", 0.0);
-               get_state(PART:"bg_image", st, 30, vl);
-               if (!strcmp(st, "visible_disable"))
-                 set_state(PART:"bg_image", "visible", 0.0);
-               else
-                 set_state(PART:"bg_image", "default", 0.0);
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.swallow.content", "visible", 0.0);
-               else
-                 set_state(PART:"elm.swallow.content", "default", 0.0);
-               set_state(PART:"button", "default", 0.0);
-            }
-         }
-         program { name: "to_rtl";
-            signal: "edje,state,rtl";
-            source: "edje";
-            script {
-               set_int(is_rtl, 1);
-            }
-         }
-         program { name: "to_ltr";
-            signal: "edje,state,ltr";
-            source: "edje";
-            script {
-               set_int(is_rtl, 0);
-            }
-         }
-      }
-   }
-///////////////////////////////////////////////////////////////////////////////////////
-
-#define CHECK_STYLE_FAVORITE(style_name, min_width, min_height) \
-   group { name: "elm/check/base/"style_name; \
-      images { \
-         image: "00_icon_favorite_on_72x72.png" COMP; \
-         image: "00_icon_favorite_on_72x72_dim.png" COMP; \
-         image: "00_icon_favorite_off_72x72.png" COMP; \
-         image: "00_icon_favorite_off_72x72_dim.png" COMP; \
-      } \
-      parts { \
-         part { name: "back_bg"; \
-            type: RECT; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               visible: 0; \
-               rel2.relative: 0.0 1.0; \
-               align: 0 0.5; \
-               min: min_width min_height; \
-               fixed: 1 0; \
-            } \
-         } \
-         part { name: "bg"; \
-            type: RECT; \
-            clip_to: "disclip"; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               visible: 0; \
-               rel1.to: "back_bg"; \
-               rel2.to: "back_bg"; \
-               min: CHECK_STYLE_FAVORITE_BG_NORMAL_MIN_MAX_INC; \
-               max: CHECK_STYLE_FAVORITE_BG_NORMAL_MIN_MAX_INC; \
-               fixed: 1 1; \
-            } \
-         } \
-         part { name: "check"; \
-            mouse_events: 0; \
-            clip_to: "disclip"; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               rel1.to: "bg"; \
-               rel2.to: "bg"; \
-               image.normal: "00_icon_favorite_off_72x72.png"; \
-            } \
-            description { state: "visible" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "00_icon_favorite_on_72x72.png"; \
-            } \
-            description { state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "00_icon_favorite_off_72x72_dim.png"; \
-            } \
-            description { state: "disabled_visible" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "00_icon_favorite_on_72x72_dim.png"; \
-            } \
-         } \
-         part { name: "elm.swallow.content"; \
-            type: SWALLOW; \
-            clip_to: "disclip"; \
-            description { state: "default" 0.0; \
-               fixed: 1 0; \
-               visible: 0; \
-               align: 0.0 0.5; \
-               rel1 { \
-                  to_x: "bg"; \
-                  relative: 1.0 0.0; \
-                  offset: 1 1; \
-               } \
-               rel2 { \
-                  to_x: "bg"; \
-                  relative: 1.0 1.0; \
-                  offset: 2 -2; \
-               } \
-            } \
-            description { state: "visible" 0.0; \
-               inherit: "default" 0.0; \
-               fixed: 1 1; \
-               visible: 1; \
-               aspect: 1.0 1.0; \
-               aspect_preference: VERTICAL; \
-            } \
-            description { state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-            } \
-            description { state: "disabled_visible" 0.0; \
-               inherit: "default" 0.0; \
-               fixed: 1 1; \
-               visible: 1; \
-               aspect: 1.0 1.0; \
-            } \
-         } \
-         part { name: "elm.text"; \
-            type: TEXTBLOCK; \
-            clip_to: "disclip"; \
-            mouse_events: 0; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               visible: 0; \
-               fixed: 0 1; \
-               rel1 { \
-                  relative: 1.0 0.5; \
-                  offset: 1 1; \
-                  to_x: "elm.swallow.content"; \
-               } \
-               rel2 { \
-                  relative: 1.0 0.5; \
-                  offset: -2 -2; \
-               } \
-               align: 0.0 0.5; \
-               text { \
-                 style: "check_label_textblock_style"; \
-                 min: 0 0; \
-               } \
-               color: CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC; \
-            } \
-            description { state: "visible" 0.0; \
-               inherit: "default" 0.0; \
-               visible: 1; \
-               text.min: 1 1; \
-            } \
-            description { state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-            } \
-            description { state: "disabled_visible" 0.0; \
-               inherit: "default" 0.0; \
-               visible: 1; \
-               text.min: 1 1; \
-               color: CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC; \
-            } \
-         } \
-         part { name: "disclip"; \
-            type: RECT; \
-            mouse_events: 0; \
-            description { state: "default" 0.0; \
-               color: CHECK_DISCLIP_NORMAL_COLOR_INC; \
-            } \
-         } \
-         part { name: "events"; \
-            type: RECT; \
-            ignore_flags: ON_HOLD; \
-            description { state: "default" 0.0; \
-               color: 0 0 0 0; \
-            } \
-         } \
-         part { name: "disabler"; \
-            type: RECT; \
-            description { state: "default" 0.0; \
-               color: 0 0 0 0; \
-               visible: 0; \
-            } \
-            description { state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-               visible: 1; \
-            } \
-         } \
-      } \
-      programs { \
-         program { name: "click"; \
-            signal: "mouse,clicked,1"; \
-            source: "events"; \
-            action: SIGNAL_EMIT "elm,action,check,toggle" ""; \
-            after: "touch_sound"; \
-         } \
-         program { name: "touch_sound"; \
-            action: PLAY_SAMPLE "touch_sound" 1.0; \
-         } \
-         program { name: "check_on"; \
-            signal: "elm,state,check,on"; \
-            source: "elm"; \
-            action: STATE_SET "visible" 0.0; \
-            target: "check"; \
-         } \
-         program { name: "check_off"; \
-            signal: "elm,state,check,off"; \
-            source: "elm"; \
-            action: STATE_SET "default" 0.0; \
-            target: "check"; \
-         } \
-         program { name: "text_show"; \
-            signal: "elm,state,text,visible"; \
-            source: "elm"; \
-            action: STATE_SET "visible" 0.0; \
-            target: "elm.text"; \
-         } \
-         program { name: "text_hide"; \
-            signal: "elm,state,text,hidden"; \
-            source: "elm"; \
-            action: STATE_SET "default" 0.0; \
-            target: "elm.text"; \
-         } \
-         program { name: "icon_show"; \
-            signal: "elm,state,icon,visible"; \
-            source: "elm"; \
-            action: STATE_SET "visible" 0.0; \
-            target: "elm.swallow.content"; \
-         } \
-         program { name: "icon_hide"; \
-            signal: "elm,state,icon,hidden"; \
-            source: "elm"; \
-            action: STATE_SET "default" 0.0; \
-            target: "elm.swallow.content"; \
-         } \
-         program { name: "disable"; \
-            signal: "elm,state,disabled"; \
-            source: "elm"; \
-            action: STATE_SET "disabled" 0.0; \
-            target: "disabler"; \
-            after: "disable_text"; \
-         } \
-         program { name: "disable_text"; \
-            script { \
-               new st[31]; \
-               new Float:vl; \
-               get_state(PART:"elm.text", st, 30, vl); \
-               if (!strcmp(st, "visible")) \
-                 set_state(PART:"elm.text", "disabled_visible", 0.0); \
-               else \
-                 set_state(PART:"elm.text", "disabled", 0.0); \
-               get_state(PART:"elm.swallow.content", st, 30, vl); \
-               if (!strcmp(st, "visible")) \
-                 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0); \
-               else \
-                 set_state(PART:"elm.swallow.content", "disabled", 0.0); \
-               get_state(PART:"check", st, 30, vl); \
-               if (!strcmp(st, "visible")) \
-                 set_state(PART:"check", "disabled_visible", 0.0); \
-               else \
-                 set_state(PART:"check", "disabled", 0.0); \
-            } \
-         } \
-         program { name: "enable"; \
-            signal: "elm,state,enabled"; \
-            source: "elm"; \
-            action: STATE_SET "default" 0.0; \
-            target: "disabler"; \
-            after: "enable_text"; \
-         } \
-         program { name: "enable_text"; \
-            script { \
-               new st[31]; \
-               new Float:vl; \
-               get_state(PART:"elm.text", st, 30, vl); \
-               if (!strcmp(st, "disabled_visible")) \
-                 set_state(PART:"elm.text", "visible", 0.0); \
-               else \
-                 set_state(PART:"elm.text", "default", 0.0); \
-               get_state(PART:"elm.swallow.content", st, 30, vl); \
-               if (!strcmp(st, "visible")) \
-                 set_state(PART:"elm.swallow.content", "visible", 0.0); \
-               else \
-                 set_state(PART:"elm.swallow.content", "default", 0.0); \
-               get_state(PART:"check", st, 30, vl); \
-               if (!strcmp(st, "disabled_visible")) \
-                 set_state(PART:"check", "visible", 0.0); \
-               else \
-                 set_state(PART:"check", "default", 0.0); \
-            } \
-         } \
-      } \
-   }
-////////////////////////////////////////////////////////////////////////////////
-CHECK_STYLE_FAVORITE("favorite", CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC)
-////////////////////////////////////////////////////////////////////////////////
-CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE_MIN_WIDTH_INC, CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE_MIN_HEIGHT_INC)
-////////////////////////////////////////////////////////////////////////////////
-
-   group { name: "elm/check/base/delete";
-      images {
-         image: "00_button_minus.png" COMP;
-         image: "00_button_minus_press.png" COMP;
-         image: "00_button_edit_Delete.png" COMP;
-         image: "00_button_edit_Delete_press.png" COMP;
-         image: "00_button_edit_dim.png" COMP;
-         image: "00_button_edit_focus.png" COMP;
-      }
-      script {
-         public button_state = 0; //0:enabled, 1: disabled
-      }
-      parts {
-         part { name: "bg1";
-            scale: 1;
-            description { state: "default" 0.0;
-               align: 1.0 0.5;
-               rel1.to: "bg2";
-               rel2.to: "bg2";
-               image {
-                  normal: "00_button_edit_Delete.png";
-                  border: CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_BORDER_INC;
-                  border_scale: 1;
-               }
-            }
-            description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_edit_Delete_press.png";
-            }
-            description { state: "intermediate" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
-            }
-            description { state: "on" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_edit_dim.png";
-            }
-            description { state: "focused" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_edit_focus.png";
-            }
-         }
-         part { name: "bg2";
-            scale: 1;
-            description { state: "default" 0.0;
-               align: 1.0 0.5;
-               min: CHECK_STYLE_DELETE_BUTTON_BG_IMAGE_MIN_MAX_WIDTH_INC;
-               max: CHECK_STYLE_DELETE_BUTTON_BG_IMAGE_MIN_MAX_WIDTH_INC;
-               rel1.relative: 1.0 0.0;
-               fixed: 1 0;
-               image.normal: "00_button_minus.png";
-            }
-            description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_minus_press.png";
-            }
-            description { state: "intermediate" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
-            }
-            description { state: "on" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_minus.png";
-            }
-         }
-         part { name: "clipper";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               align: 1.0 0.5;
-               min: CHECK_STYLE_DELETE_BUTTON_BG_IMAGE_MIN_MAX_WIDTH_INC;
-               max: CHECK_STYLE_DELETE_BUTTON_BG_IMAGE_MIN_MAX_WIDTH_INC;
-               color: 255 255 255 255;
-            }
-            description { state: "on" 0.0;
-               align: 1.0 0.5;
-               min: CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_IMAGE_MIN_MAX_WIDTH_INC;
-               max: CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_IMAGE_MIN_MAX_WIDTH_INC;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "bg_expand";
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "clipper";
-            description { state: "default" 0.0;
-               align: 0.0 0.5;
-               min: CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_IMAGE_MIN_MAX_WIDTH_INC;
-               max: CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_IMAGE_MIN_MAX_WIDTH_INC;
-               image {
-                  normal: "00_button_edit_Delete.png";
-                  border: CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_BORDER_INC;
-                  border_scale: 1;
-               }
-               rel1 {
-                  relative: 1 0; 
-                  to_x: "bg2"; 
-               }
-               rel2.to_x: "bg2";
-               fixed: 1 0;
-            }
-            description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               align: 1.0 0.5;
-               image.normal: "00_button_edit_Delete_press.png";
-            }
-            description { state: "intermediate" 0.0;
-               inherit: "default" 0.0;
-               rel1 {
-                  relative: 0 0;
-                  to_x: "bg2";
-               }
-               rel2 {
-                  relative: 0 1;
-                  to_x: "bg2";
-               }
-            }
-            description { state: "on" 0.0;
-               inherit: "default" 0.0;
-               align: 1.0 0.5;
+               color: 128 128 128 128;
             }
          }
-         part { name: "check";
+         part { name: "elm.ontext";
             type: TEXT;
             mouse_events: 0;
             scale: 1;
+            clip_to: "clipper_inner";
             description { state: "default" 0.0;
-               visible: 0;
-               align: 1.0 0.5;
-               min: 0 0;
-               text {
-                  font: "Tizen:style=Medium";
-                  size: CHECK_STYLE_DELETE_BUTTON_TEXT_FONT_SIZE_INC;
-                  min: 0 0;
-                  text: "";
-                  text_class: "tizen";
-               }
-            }
-            description { state: "visible" 0.0;
-               align: 1.0 0.5;
-               min: CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_IMAGE_MIN_MAX_WIDTH_INC;
-               max: CHECK_STYLE_DELETE_BUTTON_BG_EXPAND_IMAGE_MIN_MAX_WIDTH_INC;
-               color: CHECK_DELETE_TEXT_DELETE_NORMAL_COLOR_INC;
+               rel1.to: "onrect";
+               rel2.to: "onrect";
+               color: 255 255 255 255;
                text {
                   font: "Tizen:style=Medium";
-                  size: CHECK_STYLE_DELETE_BUTTON_TEXT_FONT_SIZE_INC;
-                  min: 1 0;
-                  text: "Delete";
+                  size: 20;
+                  min: 0 1;
                   text_class: "tizen";
                }
             }
-            description { state: "visible_pressed" 0.0;
-               inherit: "visible" 0.0;
-               color: CHECK_DELETE_TEXT_DELETE_PRESS_COLOR_INC;
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 128 128 128 128;
             }
          }
          part { name: "elm.swallow.content";
             type: SWALLOW;
+            clip_to: "disclip";
             description { state: "default" 0.0;
                fixed: 1 0;
                visible: 0;
-               color: 255 255 255 255;
                align: 0.0 0.5;
                rel1 {
-                  to_x: "bg2";
+                  to_x: "bg";
                   relative: 1.0 0.0;
-                  offset: 1 1;
                }
                rel2 {
-                  to_x: "bg2";
+                  to_x: "bg";
                   relative: 1.0 1.0;
-                  offset: 2 -2;
                }
             }
             description { state: "visible" 0.0;
@@ -2150,11 +1027,9 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               color: 128 128 128 128;
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: 128 128 128 128;
                fixed: 1 1;
                visible: 1;
                aspect: 1.0 1.0;
@@ -2164,9 +1039,10 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
             type: TEXTBLOCK;
             mouse_events: 0;
             scale: 1;
+            clip_to: "disclip";
             description { state: "default" 0.0;
                visible: 0;
-               fixed: 1 1;
+               fixed: 0 1;
                rel1 {
                   relative: 1.0 0.5;
                   offset: 1 1;
@@ -2176,7 +1052,6 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
                   relative: 1.0 0.5;
                   offset: -2 -2;
                }
-               color: 255 255 255 255;
                align: 0.0 0.5;
                text {
                   style: "check_label_textblock_style";
@@ -2196,45 +1071,22 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
                inherit: "default" 0.0;
                visible: 1;
                text.min: 1 1;
-               color: CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC;
-            }
-         }
-         part { name: "events1";
-            type: RECT;
-            ignore_flags: ON_HOLD;
-            description { state: "default" 0.0;
-               color: 0 0 0 0;
-               rel1.to: "bg2";
-               rel2.to_x: "elm.text";
-               align: 0.0 0.5;
-            }
-            description { state: "visible" 0.0;
-               color: 0 0 0 0;
-               rel1.to: "bg_expand";
-               rel2.to_x: "elm.text";
-               align: 0.0 0.5;
             }
          }
-         part { name: "events2";
+         part { name: "disclip";
             type: RECT;
-            repeat_events: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               color: 0 0 0 0;
-               rel1.to: "bg2";
-               rel2.to_x: "elm.text";
-               align: 0.0 0.5;
+               color: CHECK_DISCLIP_NORMAL_COLOR_INC;
             }
-            description { state: "visible" 0.0;
-               color: 0 0 0 0;
-               rel1.to: "bg_expand";
-               rel2.to_x: "elm.text";
-               align: 0.0 0.5;
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: CHECK_DISCLIP_DISABLED_COLOR_INC;
             }
          }
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
-               rel2.to_x: "elm.text";
                color: 0 0 0 0;
                visible: 0;
             }
@@ -2245,154 +1097,132 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
          }
       }
       programs {
-         program { name: "click";
+         program {
             signal: "mouse,clicked,1";
-            source: "events1";
+            source: "button";
             script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"check", st, 30, vl);
-               if (!strcmp(st, "visible_pressed"))
-                 set_state(PART:"check", "visible", 0.0);
+               new Float:dx, Float:dy;
+               get_drag(PART:"button", dx, dy);
+               if (!get_int(was_drag)) {
+                  if (dx > 0.5)
+                    set_drag(PART:"button", 0.0, 0.0);
+                  else
+                    set_drag(PART:"button", 1.0, 0.0);
+                  if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
+                      (get_int(is_rtl) == 0) && (dx > 0.5)) {
+                     if (get_int(check_on)) {
+                       emit("elm,action,check,off", "");
+                       emit("elm,action,touch,sound", "");
+                     }
+                  }
+                  else {
+                     if (!get_int(check_on)) {
+                       emit("elm,action,check,on", "");
+                       emit("elm,action,touch,sound", "");
+                     }
+                  }
+               }
             }
-            after: "toggle";
-         }
-         program { name: "toggle";
-            action: SIGNAL_EMIT "elm,action,check,toggle" "";
-            after: "touch_sound";
          }
          program { name: "touch_sound";
+            signal: "elm,action,touch,sound";
+            source: "";
             action: PLAY_SAMPLE "touch_sound" 1.0;
          }
-         program { name: "unfocused";
-            signal: "elm,action,unfocus";
-            source: "elm";
+         program {
+            signal: "drag";
+            source: "button";
             script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"bg2", st, 30, vl);
-               if (!strcmp(st, "on"))
-                 emit("elm,action,check,toggle", "");
+               if (!get_int(is_drag)) emit("elm,action,check,drag,start", "");
+               set_int(is_drag, 1);
             }
          }
-         program { name: "click_down";
+         program {
             signal: "mouse,down,1";
-            source: "events2";
+            source: "button";
             script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"check", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 {
-                    set_state(PART:"bg_expand", "clicked", 0.0);
-                    set_state(PART:"check", "visible_pressed", 0.0);
-                 }
-               else 
-                 {
-                    set_state(PART:"bg2", "clicked", 0.0);
-                    set_state(PART:"bg1", "clicked", 0.0);
-                 }
+               set_int(was_drag, 0);
+               set_int(is_drag, 0);
             }
          }
-         program { name: "check_normal";
+         program { name: "drag_end";
             signal: "mouse,up,1";
-            source: "events2";
+            source: "button";
             script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"check", st, 30, vl);
-               if (!strcmp(st, "visible_pressed"))
-                 {
-                    set_state(PART:"bg_expand", "on", 0.0);
-                    set_state(PART:"check", "visible", 0.0);
-                 }
-               get_state(PART:"bg_expand", st, 30, vl);
-               if (!strcmp(st, "default"))
-                 {
-                    set_state(PART:"bg2", "default", 0.0);
-                    set_state(PART:"bg1", "default", 0.0);
-                 }
+               new Float:dx, Float:dy;
+               get_drag(PART:"button", dx, dy);
+               if (get_int(is_drag)) {
+                  if (dx > 0.5)
+                    set_drag(PART:"button", 1.0, 0.0);
+                  else
+                    set_drag(PART:"button", 0.0, 0.0);
+                  if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
+                      (get_int(is_rtl) == 0) && (dx > 0.5)) {
+                     if (!get_int(check_on)) {
+                       emit("elm,action,check,on", "");
+                       emit("elm,action,touch,sound", "");
+                     }
+                  }
+                  else {
+                     if (get_int(check_on)) {
+                       emit("elm,action,check,off", "");
+                       emit("elm,action,touch,sound", "");
+                     }
+                  }
+                  set_int(was_drag, get_int(is_drag));
+                  set_int(is_drag, 0);
+                  emit("elm,action,check,drag,stop", "");
+               }
             }
          }
          program { name: "check_on";
             signal: "elm,state,check,on";
             source: "elm";
-            action: STATE_SET "on" 0.0;
-            target: "clipper";
-            after: "start_expand";
-         }
-         program { name: "start_expand";
-            action: STATE_SET "intermediate" 0.0;
-            target: "bg2";
-            target: "bg1";
-            target: "bg_expand";
-            after: "expand";
-         }
-         program { name: "expand";
-            action: STATE_SET "on" 0.0;
-            target: "bg_expand";
-            target: "bg2";
-            target: "bg1";
-            transition: ACCELERATE 0.1;
-            after: "check_visible";
-         }
-         program { name: "check_visible";
-            action: STATE_SET "visible" 0.0;
-            target: "check";
-            target: "events1";
-            target: "events2";
+            script {
+               new Float:drag;
+               if (get_int(is_rtl) == 0) {
+                  drag = 100.0;
+               }
+               else {
+                  drag = 0.0;
+               }
+               set_drag(PART:"button", drag, 0.0);
+               set_state(PART:"bg_image", "visible", 0.0);
+               set_int(check_on, 1);
+            }
          }
          program { name: "check_off";
             signal: "elm,state,check,off";
             source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "check";
-            after: "contract";
-         }
-         program { name: "contract";
-            action: STATE_SET "intermediate" 0.0;
-            target: "bg_expand";
-            transition: ACCELERATE 0.1;
-            after: "normal_bg";
-         }
-         program { name: "normal_bg";
             script {
-               if (get_int(button_state) !=1)
-                 {
-                    set_state(PART:"bg2", "default", 0.0);
-                    set_state(PART:"bg1", "default", 0.0);
-                 }
-               else
-                 {
-                    set_state(PART:"bg2", "disabled", 0.0);
-                    set_state(PART:"bg1", "disabled", 0.0);
-                 }
+               new Float:drag;
+               if (get_int(is_rtl) == 0) {
+                  drag = 0.0;
+               }
+               else {
+                  drag = 100.0;
+               }
+               set_drag(PART:"button", drag, 0.0);
+               set_state(PART:"bg_image", "default", 0.0);
+               set_int(check_on, 0);
             }
-            after: "bg_default";
-         }
-         program { name: "bg_default";
-            action: STATE_SET "default" 0.0;
-            target: "bg_expand";
-            target: "clipper";
-            target: "events1";
-            target: "events2";
          }
          program { name: "text_show";
             signal: "elm,state,text,visible";
             source: "elm";
-            action: STATE_SET "visible" 0.0;
+            action:  STATE_SET "visible" 0.0;
             target: "elm.text";
          }
          program { name: "text_hide";
             signal: "elm,state,text,hidden";
             source: "elm";
-            action: STATE_SET "default" 0.0;
+            action:  STATE_SET "default" 0.0;
             target: "elm.text";
          }
          program { name: "icon_show";
             signal: "elm,state,icon,visible";
             source: "elm";
-            action: STATE_SET "visible" 0.0;
+            action:  STATE_SET "visible" 0.0;
             target: "elm.swallow.content";
          }
          program { name: "icon_hide";
@@ -2405,9 +1235,11 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
+            target: "elm.offtext";
+            target: "elm.ontext";
+            target: "onrect";
+            target: "offrect";
             target: "disabler";
-            target: "bg2";
-            target: "bg1";
             after: "disable_text";
          }
          program { name: "disable_text";
@@ -2419,12 +1251,17 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
                  set_state(PART:"elm.text", "disabled_visible", 0.0);
                else
                  set_state(PART:"elm.text", "disabled", 0.0);
+               get_state(PART:"bg_image", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"bg_image", "visible_disable", 0.0);
+               else
+                 set_state(PART:"bg_image", "off_disable", 0.0);
                get_state(PART:"elm.swallow.content", st, 30, vl);
                if (!strcmp(st, "visible"))
                  set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
                else
                  set_state(PART:"elm.swallow.content", "disabled", 0.0);
-               set_int(button_state, 1);
+               set_state(PART:"button", "disabled", 0.0);
             }
          }
          program { name: "enable";
@@ -2432,8 +1269,8 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "disabler";
-            target: "bg2";
-            target: "bg1";
+            target: "onrect";
+            target: "offrect";
             after: "enable_text";
          }
          program { name: "enable_text";
@@ -2445,23 +1282,309 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
                  set_state(PART:"elm.text", "visible", 0.0);
                else
                  set_state(PART:"elm.text", "default", 0.0);
+               get_state(PART:"bg_image", st, 30, vl);
+               if (!strcmp(st, "visible_disable"))
+                 set_state(PART:"bg_image", "visible", 0.0);
+               else
+                 set_state(PART:"bg_image", "default", 0.0);
                get_state(PART:"elm.swallow.content", st, 30, vl);
                if (!strcmp(st, "visible"))
                  set_state(PART:"elm.swallow.content", "visible", 0.0);
                else
                  set_state(PART:"elm.swallow.content", "default", 0.0);
-               set_int(button_state, 0);
+               set_state(PART:"button", "default", 0.0);
+            }
+         }
+         program { name: "to_rtl";
+            signal: "edje,state,rtl";
+            source: "edje";
+            script {
+               set_int(is_rtl, 1);
+            }
+         }
+         program { name: "to_ltr";
+            signal: "edje,state,ltr";
+            source: "edje";
+            script {
+               set_int(is_rtl, 0);
             }
          }
       }
    }
-
+///////////////////////////////////////////////////////////////////////////////////////
+
+#define CHECK_STYLE_FAVORITE(style_name, on_image, on_dim_image, off_image, off_dim_image, min_width, min_height) \
+   group { name: "elm/check/base/"style_name; \
+      images { \
+         image: on_image COMP; \
+         image: on_dim_image COMP; \
+         image: off_image COMP; \
+         image: off_dim_image COMP; \
+      } \
+      parts { \
+         part { name: "back_bg"; \
+            type: RECT; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               visible: 0; \
+               rel2.relative: 0.0 1.0; \
+               align: 0 0.5; \
+               min: min_width min_height; \
+               fixed: 1 0; \
+            } \
+         } \
+         part { name: "bg"; \
+            type: RECT; \
+            clip_to: "disclip"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               visible: 0; \
+               rel1.to: "back_bg"; \
+               rel2.to: "back_bg"; \
+               min: min_width min_height; \
+               max: min_width min_height; \
+               fixed: 1 1; \
+            } \
+         } \
+         part { name: "check"; \
+            mouse_events: 0; \
+            clip_to: "disclip"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               rel1.to: "bg"; \
+               rel2.to: "bg"; \
+               image.normal: off_image; \
+            } \
+            description { state: "visible" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: on_image; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: off_dim_image; \
+            } \
+            description { state: "disabled_visible" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: on_dim_image; \
+            } \
+         } \
+         part { name: "elm.swallow.content"; \
+            type: SWALLOW; \
+            clip_to: "disclip"; \
+            description { state: "default" 0.0; \
+               fixed: 1 0; \
+               visible: 0; \
+               align: 0.0 0.5; \
+               rel1 { \
+                  to_x: "bg"; \
+                  relative: 1.0 0.0; \
+                  offset: 1 1; \
+               } \
+               rel2 { \
+                  to_x: "bg"; \
+                  relative: 1.0 1.0; \
+                  offset: 2 -2; \
+               } \
+            } \
+            description { state: "visible" 0.0; \
+               inherit: "default" 0.0; \
+               fixed: 1 1; \
+               visible: 1; \
+               aspect: 1.0 1.0; \
+               aspect_preference: VERTICAL; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "disabled_visible" 0.0; \
+               inherit: "default" 0.0; \
+               fixed: 1 1; \
+               visible: 1; \
+               aspect: 1.0 1.0; \
+            } \
+         } \
+         part { name: "elm.text"; \
+            type: TEXTBLOCK; \
+            clip_to: "disclip"; \
+            mouse_events: 0; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               visible: 0; \
+               fixed: 0 1; \
+               rel1 { \
+                  relative: 1.0 0.5; \
+                  offset: 1 1; \
+                  to_x: "elm.swallow.content"; \
+               } \
+               rel2 { \
+                  relative: 1.0 0.5; \
+                  offset: -2 -2; \
+               } \
+               align: 0.0 0.5; \
+               text { \
+                 style: "check_label_textblock_style"; \
+                 min: 0 0; \
+               } \
+               color: CHECK_DEFAULT_TEXT_NORMAL_COLOR_INC; \
+            } \
+            description { state: "visible" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+               text.min: 1 1; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "disabled_visible" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+               text.min: 1 1; \
+               color: CHECK_DEFAULT_TEXT_DISABLED_COLOR_INC; \
+            } \
+         } \
+         part { name: "disclip"; \
+            type: RECT; \
+            mouse_events: 0; \
+            description { state: "default" 0.0; \
+               color: CHECK_DISCLIP_NORMAL_COLOR_INC; \
+            } \
+         } \
+         part { name: "events"; \
+            type: RECT; \
+            ignore_flags: ON_HOLD; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+         } \
+         part { name: "disabler"; \
+            type: RECT; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+               visible: 0; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+            } \
+         } \
+      } \
+      programs { \
+         program { name: "click"; \
+            signal: "mouse,clicked,1"; \
+            source: "events"; \
+            action: SIGNAL_EMIT "elm,action,check,toggle" ""; \
+            after: "touch_sound"; \
+         } \
+         program { name: "touch_sound"; \
+            action: PLAY_SAMPLE "touch_sound" 1.0; \
+         } \
+         program { name: "check_on"; \
+            signal: "elm,state,check,on"; \
+            source: "elm"; \
+            action: STATE_SET "visible" 0.0; \
+            target: "check"; \
+         } \
+         program { name: "check_off"; \
+            signal: "elm,state,check,off"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "check"; \
+         } \
+         program { name: "text_show"; \
+            signal: "elm,state,text,visible"; \
+            source: "elm"; \
+            action: STATE_SET "visible" 0.0; \
+            target: "elm.text"; \
+         } \
+         program { name: "text_hide"; \
+            signal: "elm,state,text,hidden"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "elm.text"; \
+         } \
+         program { name: "icon_show"; \
+            signal: "elm,state,icon,visible"; \
+            source: "elm"; \
+            action: STATE_SET "visible" 0.0; \
+            target: "elm.swallow.content"; \
+         } \
+         program { name: "icon_hide"; \
+            signal: "elm,state,icon,hidden"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "elm.swallow.content"; \
+         } \
+         program { name: "disable"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "disabler"; \
+            after: "disable_text"; \
+         } \
+         program { name: "disable_text"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"elm.text", st, 30, vl); \
+               if (!strcmp(st, "visible")) \
+                 set_state(PART:"elm.text", "disabled_visible", 0.0); \
+               else \
+                 set_state(PART:"elm.text", "disabled", 0.0); \
+               get_state(PART:"elm.swallow.content", st, 30, vl); \
+               if (!strcmp(st, "visible")) \
+                 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0); \
+               else \
+                 set_state(PART:"elm.swallow.content", "disabled", 0.0); \
+               get_state(PART:"check", st, 30, vl); \
+               if (!strcmp(st, "visible")) \
+                 set_state(PART:"check", "disabled_visible", 0.0); \
+               else \
+                 set_state(PART:"check", "disabled", 0.0); \
+            } \
+         } \
+         program { name: "enable"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "disabler"; \
+            after: "enable_text"; \
+         } \
+         program { name: "enable_text"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"elm.text", st, 30, vl); \
+               if (!strcmp(st, "disabled_visible")) \
+                 set_state(PART:"elm.text", "visible", 0.0); \
+               else \
+                 set_state(PART:"elm.text", "default", 0.0); \
+               get_state(PART:"elm.swallow.content", st, 30, vl); \
+               if (!strcmp(st, "visible")) \
+                 set_state(PART:"elm.swallow.content", "visible", 0.0); \
+               else \
+                 set_state(PART:"elm.swallow.content", "default", 0.0); \
+               get_state(PART:"check", st, 30, vl); \
+               if (!strcmp(st, "disabled_visible")) \
+                 set_state(PART:"check", "visible", 0.0); \
+               else \
+                 set_state(PART:"check", "default", 0.0); \
+            } \
+         } \
+      } \
+   }
+////////////////////////////////////////////////////////////////////////////////
+CHECK_STYLE_FAVORITE("favorite", "00_icon_favorite_on_72x72.png", "00_icon_favorite_on_72x72_dim.png", "00_icon_favorite_off_72x72.png", "00_icon_favorite_off_72x72_dim.png", CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC)
+////////////////////////////////////////////////////////////////////////////////
+CHECK_STYLE_FAVORITE("favorite_small", "00_icon_favorite_on_45x45.png", "00_icon_favorite_on_45x45.png", "00_icon_favorite_off_45x45.png", "00_icon_favorite_off_45x45.png", CHECK_STYLE_FAVORITE_SMALL_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, CHECK_STYLE_FAVORITE_SMALL_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC)
+////////////////////////////////////////////////////////////////////////////////
+CHECK_STYLE_FAVORITE("favorite/extended", "00_icon_favorite_on_72x72.png", "00_icon_favorite_on_72x72_dim.png", "00_icon_favorite_off_72x72.png", "00_icon_favorite_off_72x72_dim.png", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE_MIN_WIDTH_INC, CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE_MIN_HEIGHT_INC)
 ////////////////////////////////////////////////////////////////////////////////
 
    group { name: "elm/check/base/grid";
-      images.image: "00_grid_select_check.png" COMP;
-      images.image: "00_grid_select_check_bg.png" COMP;
-      images.image: "00_grid_select_check_bg_press.png" COMP;
+      images.image: "00_check_bg.png" COMP;
+      images.image: "00_check_dim_bg.png" COMP;
+      images.image: "00_check_Activated_dim.png" COMP;
+      images.image: "00_check_Activated.png" COMP;
       script {
          public check_state = CHECK_STATE_DEFAULT;
          public check_visible = CHECK_HIDE;
@@ -2474,62 +1597,48 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
                visible: 0;
             }
          }
-         part { name: "top_right_padding";
+         part { name: "top_left_padding";
             type: RECT;
             mouse_events: 0;
             scale: 1;
             description { state: "default" 0.0;
                visible: 0;
                min: GENGRID_ITEM_CHECK_TOP_RIGHT_PADDING_INC;
-               align: 1.0 0.0;
+               align: 0.0 0.0;
                fixed: 1 1;
                rel1 {
-                  relative: 1.0 0.0;
+                  relative: 0.0 0.0;
                   to: "bg";
                }
                rel2 {
-                  relative: 1.0 0.0;
+                  relative: 0.0 0.0;
                   to: "bg";
                }
             }
          }
-         part { name: "selected_bg";
-            scale: 1;
-            type: RECT;
-            description { state: "default" 0.0;
-               visible: 0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: GENGRID_EDIT_MODE_CHECK_BG_COLOR_INC;
-            }
-         }
          part { name: "bg2";
             mouse_events: 0;
             scale: 1;
             description { state: "default" 0.0;
                min: GENGRID_EDIT_MODE_CHECK_SIZE_INC;
-               align: 1.0 0.0;
+               align: 0.0 0.0;
                fixed: 1 1;
                rel1 {
-                  relative: 0.0 1.0;
-                  to: "top_right_padding";
+                  relative: 1.0 1.0;
+                  to: "top_left_padding";
                }
                rel2 {
-                  relative: 0.0 1.0;
-                  to: "top_right_padding";
+                  relative: 1.0 1.0;
+                  to: "top_left_padding";
                }
-               image.normal: "00_grid_select_check_bg.png";
+               image.normal: "00_check_bg.png";
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_grid_select_check_bg_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
+               image.normal: "00_check_dim_bg.png";
             }
          }
          part { name: "check";
@@ -2540,7 +1649,7 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
                visible: 0;
                rel1.to: "bg2";
                rel2.to: "bg2";
-               image.normal: "00_grid_select_check.png";
+               image.normal: "00_check_Activated.png";
                color: 255 255 255 0;
             }
             description { state: "visible" 0.0;
@@ -2554,6 +1663,7 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
+               image.normal: "00_check_Activated_dim.png";
             }
          }
          part { name: "sequence_clip";
@@ -2683,10 +1793,6 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
             signal: "mouse,clicked,1";
             source: "events";
             action: SIGNAL_EMIT "elm,action,check,toggle" "";
-            after: "touch_sound";
-         }
-         program { name: "touch_sound";
-            action: PLAY_SAMPLE "touch_sound" 1.0;
             after: "bg_normal";
          }
          program { name: "bg_normal";
@@ -2742,7 +1848,6 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
                     set_state(PART:"sequence_clip", "visible", 0.0);
                  }
                set_state(PART:"bg2", "visible", 0.0);
-               set_state(PART:"selected_bg", "visible", 0.0);
             }
          }
          program { name: "check_off";
@@ -2758,7 +1863,6 @@ CHECK_STYLE_FAVORITE("favorite/extended", CHECK_STYLE_FAVORITE_EXTENDED_BG_IMAGE
                     set_state(PART:"sequence_clip", "default", 0.0);
                  }
                set_state(PART:"bg2", "default", 0.0);
-               set_state(PART:"selected_bg", "default", 0.0);
             }
          }
          program { name: "check_show_effect";