/* * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved * * PROPRIETARY/CONFIDENTIAL * * This software is the confidential and proprietary information of SAMSUNG * ELECTRONICS ("Confidential Information"). You agree and acknowledge that this * software is owned by Samsung and you shall not disclose such Confidential * Information and shall use it only in accordance with the terms of the license * agreement you entered into with SAMSUNG ELECTRONICS. SAMSUNG make no * representations or warranties about the suitability of the software, either * express or implied, including but not limited to the implied warranties of * merchantability, fitness for a particular purpose, or non-infringement. * SAMSUNG shall not be liable for any damages suffered by licensee arising out * of or releated to this software. * */ #define CHECK_STATE_DEFAULT 0 #define CHECK_STATE_VISIBLE 1 #define CHECK_STATE_DISABLED_VISIBLE 2 #define CHECK_STATE_DISABLED 3 //////////////////////////////////////////////////////////////////////////////// #define CHECK_STYLE_DEFAULT(style_name, min_width, min_height) \ group { name: "elm/check/base/"style_name; \ images { \ image: "00_check_bg.png" COMP; \ image: "00_check_bg_dim.png" COMP; \ image: "00_check_checking.png" COMP; \ } \ script { \ public check_state = CHECK_STATE_DEFAULT; \ } \ parts { \ part { name: "back_bg"; \ type: RECT; \ scale: 1; \ description { state: "default" 0.0; \ rel2.relative: 0.0 1.0; \ align: 0 0.5; \ min: min_width min_height; \ fixed: 1 0; \ color: 0 0 0 0; \ } \ } \ part { name: "bg"; \ mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ min: CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC; \ max: CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC; \ fixed: 1 1; \ rel1.to: "back_bg"; \ rel2.to: "back_bg"; \ image.normal: "00_check_bg.png"; \ fill.smooth : 0; \ } \ description { state: "disabled" 0.0; \ inherit: "default" 0.0; \ image.normal: "00_check_bg_dim.png"; \ fill.smooth : 0; \ } \ } \ part { name: "check"; \ mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ rel1.to: "bg"; \ rel2.to: "bg"; \ visible: 0; \ image.normal: "00_check_checking.png"; \ } \ description { state: "visible" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ description { state: "disabled_visible" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ } \ part { name: "elm.swallow.content"; \ type: SWALLOW; \ description { state: "default" 0.0; \ fixed: 1 0; \ visible: 0; \ color: 255 255 255 255; \ 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; \ 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; \ } \ } \ part { name: "elm.text"; \ type: TEXTBLOCK; \ 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: "events1"; \ type: RECT; \ ignore_flags: ON_HOLD; \ description { state: "default" 0.0; \ color: 0 0 0 0; \ } \ } \ part { name: "events2"; \ type: RECT; \ repeat_events: 1; \ 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: "events1"; \ action: SIGNAL_EMIT "elm,action,check,toggle" ""; \ } \ program { name: "check_on"; \ signal: "elm,state,check,on"; \ source: "elm"; \ script { \ set_int(check_state, CHECK_STATE_VISIBLE); \ 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) == CHECK_STATE_VISIBLE) \ { \ set_int(check_state, CHECK_STATE_DEFAULT); \ 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: "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, CHECK_STATE_DISABLED_VISIBLE); \ } \ } \ } \ program { name: "enable"; \ signal: "elm,state,enabled"; \ source: "elm"; \ action: STATE_SET "default" 0.0; \ target: "disabler"; \ 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, CHECK_STATE_VISIBLE); \ } \ else \ set_int(check_state, CHECK_STATE_DEFAULT); \ } \ } \ } \ } //////////////////////////////////////////////////////////////////////////////// CHECK_STYLE_DEFAULT("default", CHECK_STYLE_DEFAULT_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, CHECK_STYLE_DEFAULT_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC) //////////////////////////////////////////////////////////////////////////////// CHECK_STYLE_DEFAULT("default/extended", CHECK_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_WIDTH_INC, CHECK_STYLE_DEFAULT_EXTENDED_BG_IMAGE_MIN_HEIGHT_INC) //////////////////////////////////////////////////////////////////////////////// #define CHECK_STYLE_FOR_GENLIST(style_name, min_width, min_height) \ group { name: "elm/check/base/"style_name; \ images { \ image: "00_check_bg.png" COMP; \ image: "00_check_bg_dim.png" COMP; \ image: "00_check_checking.png" COMP; \ } \ script { \ public check_state = CHECK_STATE_DEFAULT; \ } \ parts { \ part { name: "back_bg"; \ type: RECT; \ scale: 1; \ description { state: "default" 0.0; \ min: min_width min_height; \ fixed: 0 0; \ color: 0 0 0 0; \ } \ } \ part { name: "bg"; \ mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ min: CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC; \ max: CHECK_STYLE_DEFAULT_BG_NORMAL_MIN_MAX_INC; \ fixed: 1 1; \ rel1.to: "back_bg"; \ rel2.to: "back_bg"; \ image.normal: "00_check_bg.png"; \ fill.smooth : 0; \ } \ description { state: "disabled" 0.0; \ inherit: "default" 0.0; \ image.normal: "00_check_bg_dim.png"; \ fill.smooth : 0; \ } \ } \ part { name: "check"; \ mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ rel1.to: "bg"; \ rel2.to: "bg"; \ visible: 0; \ image.normal: "00_check_checking.png"; \ } \ description { state: "visible" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ description { state: "disabled_visible" 0.0; \ inherit: "default" 0.0; \ visible: 1; \ } \ } \ part { name: "elm.swallow.content"; \ type: SWALLOW; \ description { state: "default" 0.0; \ fixed: 1 0; \ visible: 0; \ color: 255 255 255 255; \ 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; \ 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; \ } \ } \ part { name: "elm.text"; \ type: TEXTBLOCK; \ 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: "events1"; \ type: RECT; \ ignore_flags: ON_HOLD; \ description { state: "default" 0.0; \ color: 0 0 0 0; \ } \ } \ part { name: "events2"; \ type: RECT; \ repeat_events: 1; \ 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: "events1"; \ action: SIGNAL_EMIT "elm,action,check,toggle" ""; \ } \ program { name: "check_on"; \ signal: "elm,state,check,on"; \ source: "elm"; \ script { \ set_int(check_state, CHECK_STATE_VISIBLE); \ 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) == CHECK_STATE_VISIBLE) \ { \ set_int(check_state, CHECK_STATE_DEFAULT); \ 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: "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, CHECK_STATE_DISABLED_VISIBLE); \ } \ } \ } \ program { name: "enable"; \ signal: "elm,state,enabled"; \ source: "elm"; \ action: STATE_SET "default" 0.0; \ target: "disabler"; \ 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, CHECK_STATE_VISIBLE); \ } \ else \ set_int(check_state, CHECK_STATE_DEFAULT); \ } \ } \ } \ } //////////////////////////////////////////////////////////////////////////////// CHECK_STYLE_FOR_GENLIST("default/genlist_edit", CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_WIDTH_INC, CHECK_STYLE_FAVORITE_DEFAULT_BG_IMAGE_MIN_HEIGHT_INC) //////////////////////////////////////////////////////////////////////////////// styles { style { name: "check_label_textblock_style"; base: "font=SLP:style=Roman font_size="CHECK_DEFAULT_TEXT_FONT_SIZE_INC" color=#ffffff wrap=char text_class=slp_roman"; tag: "br" "\n"; tag: "ps" "ps"; tag: "hilight" "+ font=SLP:style=Bold"; tag: "b" "+ font=SLP:style=Bold"; tag: "whitecolor" "+ color=#ffffff"; tag: "tab" "\t"; } } group { name: "elm/check/base/multicheck"; images { image: "00_check_bg.png" COMP; image: "00_check_bg_press.png" COMP; image: "00_check_bg_dim.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_dim.png" COMP; } script { public check_state = 0; //0:default, 1: visible, 2: disabled_visible } parts { part { name: "bg"; scale: 1; description { state: "default" 0.0; rel2.relative: 0.0 1.0; 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; image.normal: "00_check_bg_dim.png"; fill.smooth : 0; } } part { name: "check"; mouse_events: 0; scale: 1; 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_dim.png"; visible: 1; } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; visible: 0; color: 255 255 255 255; 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; 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; } } part { name: "elm.text"; type: TEXTBLOCK; 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: "events1"; type: RECT; ignore_flags: ON_HOLD; description { state: "default" 0.0; color: 0 0 0 0; } } part { name: "events2"; type: RECT; repeat_events: 1; 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: "events1"; action: SIGNAL_EMIT "elm,action,check,toggle" ""; } 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: "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: "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"; data { item: "label_1" "text.on On"; item: "label_2" "text.off Off"; } images { image: "00_check_off.png" COMP; image: "00_check_on.png" COMP; } parts { part { name: "bg"; scale: 1; type: RECT; clip_to: "disclip"; description { state: "default" 0.0; rel2.relative: 0.0 1.0; fixed: 1 0; align: 0.0 0.5; min: CHECK_ONOFF_BG_NORMAL_MIN_MAX_INC; max: CHECK_ONOFF_BG_NORMAL_MIN_MAX_INC; color: 0 0 0 0; } } part { name: "check"; mouse_events: 0; scale: 1; clip_to: "disclip"; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; image { normal: "00_check_off.png"; border: CHECK_ONOFF_CHECK_IMAGE_BORDER_INC; border_scale: 1; } } description { state: "visible" 0.0; inherit: "default" 0.0; image.normal: "00_check_on.png"; } description { state: "pressed" 0.0; inherit: "default" 0.0; image.normal: "00_check_off.png"; } description { state: "visible_pressed" 0.0; inherit: "default" 0.0; image.normal: "00_check_on.png"; } } part { name: "text.on"; type: TEXT; mouse_events: 0; clip_to: "disclip"; scale:1; description { state: "default" 0.0; visible: 0; rel1 { relative: 0.0 0.0; to: "check"; } rel2 { relative: 1.0 0.5; to: "check"; } text { font: "SLP:style=Medium"; size: CHECK_ONOFF_ON_FONT_SIZE_INC; fit: 1 1; align: 0.2 0.5; size_range: 12 CHECK_ONOFF_ON_FONT_SIZE_INC; min: 0 0; text_class: "slp_medium"; } } description { state: "on" 0.0; inherit: "default" 0.0; visible:1; color: 255 255 255 255; rel1 { relative: 0.0 0.5; to: "check"; } rel2 { relative: 1.0 1.0; to: "check"; } text { font: "SLP:style=Medium"; size: CHECK_ONOFF_ON_FONT_SIZE_INC; align: 0.2 0.5; fit: 1 1; size_range: 12 CHECK_ONOFF_ON_FONT_SIZE_INC; min: 0 0; } } } part { name: "text.off"; type: TEXT; mouse_events: 0; clip_to: "disclip"; scale:1; description { state: "default" 0.0; color: 107 107 81 255; rel1.to: "check"; rel2 { relative: 1.0 0.5; to: "check"; } text { font: "SLP:style=Medium"; size: CHECK_ONOFF_OFF_FONT_SIZE_INC; fit: 1 1; align: 0.2 0.5; size_range: 12 CHECK_ONOFF_OFF_FONT_SIZE_INC; min: 0 0; text_class: "slp_medium"; } } description { state: "off" 0.0; inherit: "default" 0.0; visible: 0; rel1 { relative: 0.0 0.5; to: "check"; } rel2.to: "check"; text { font: "SLP:style=Medium"; size: CHECK_ONOFF_OFF_FONT_SIZE_INC; align: 0.2 0.5; fit: 1 1; size_range: 12 CHECK_ONOFF_OFF_FONT_SIZE_INC; min: 0 0; } } } 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: "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; 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: "events"; type: RECT; ignore_flags: ON_HOLD; description { state: "default" 0.0; color: 0 0 0 0; } } part { name: "disclip"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 255; } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 255 255 255 64; } } 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,up,1"; source: "events"; action: SIGNAL_EMIT "elm,action,check,toggle" ""; } program { name: "pressed"; signal: "mouse,down,1"; source: "events"; script { new st[31]; new Float:vl; get_state(PART:"check", st, 30, vl); if (!strcmp(st, "visible")) set_state(PART:"check", "visible_pressed", 0.0); else if (!strcmp(st, "default")) set_state(PART:"check", "pressed", 0.0); } } program { name: "mouseout"; signal: "mouse,out"; source: "events"; after: "bg_check_normal"; } program { name: "bg_check_normal"; script { new st[31]; new Float:vl; get_state(PART:"check", st, 30, vl); if (!strcmp(st, "pressed")) set_state(PART:"check", "default", 0.0); else if (!strcmp(st, "visible_pressed")) set_state(PART:"check", "visible", 0.0); } } program { name: "check_on"; signal: "elm,state,check,on"; source: "elm"; action: STATE_SET "visible" 0.0; target: "check"; after:"text_off_off" ; } program { name: "text_off_off"; action: STATE_SET "off" 0.0; target: "text.off"; after: "text_on"; } program { name: "text_on"; action: STATE_SET "on" 0.0; target: "text.on"; } program { name: "check_off"; signal: "elm,state,check,off"; source: "elm"; action: STATE_SET "default" 0.0; target: "check"; after: "text_on_off"; } program { name: "text_on_off"; action: STATE_SET "default" 0.0; target: "text.on"; after: "text_off"; } program { name: "text_off"; action: STATE_SET "default" 0.0; target: "text.off"; } 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"; 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); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "disabler"; target: "disclip"; 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); } } } } /////////////////////////////////////////////////////////////////////////////////////// #define CHECK_STYLE_FAVORITE(style_name, min_width, min_height) \ group { name: "elm/check/base/"style_name; \ images { \ image: "00_winset_icon_favorite_off.png" COMP; \ image: "00_winset_icon_favorite_on.png" COMP; \ } \ parts { \ part { name: "back_bg"; \ type: RECT; \ scale: 1; \ description { state: "default" 0.0; \ rel2.relative: 0.0 1.0; \ align: 0 0.5; \ min: min_width min_height; \ fixed: 1 0; \ color: 0 0 0 0; \ } \ } \ part { name: "bg"; \ type: RECT; \ scale: 1; \ description { state: "default" 0.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; \ color: 0 0 0 0; \ } \ } \ part { name: "check"; \ mouse_events: 0; \ scale: 1; \ description { state: "default" 0.0; \ rel1.to: "bg"; \ rel2.to: "bg"; \ image.normal: "00_winset_icon_favorite_off.png"; \ color: 255 255 255 255; \ } \ description { state: "visible" 0.0; \ inherit: "default" 0.0; \ image.normal: "00_winset_icon_favorite_on.png"; \ } \ description { state: "disabled" 0.0; \ inherit: "default" 0.0; \ image.normal: "00_winset_icon_favorite_off.png"; \ color: 128 128 128 255; \ } \ description { state: "disabled_visible" 0.0; \ inherit: "default" 0.0; \ image.normal: "00_winset_icon_favorite_on.png"; \ color: 128 128 128 255; \ } \ } \ part { name: "elm.swallow.content"; \ type: SWALLOW; \ description { state: "default" 0.0; \ fixed: 1 0; \ visible: 0; \ color: 255 255 255 255; \ 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; \ 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; \ } \ } \ part { name: "elm.text"; \ type: TEXTBLOCK; \ 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: "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,up,1"; \ source: "events"; \ action: SIGNAL_EMIT "elm,action,check,toggle" ""; \ } \ 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_icon_minus.png" COMP; image: "00_button_icon_minus_press.png" COMP; image: "00_button_edit.png" COMP; image: "00_button_edit_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.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_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_icon_minus.png"; } description { state: "clicked" 0.0; inherit: "default" 0.0; image.normal: "00_button_icon_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_icon_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.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_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; } } part { name: "check"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; align: 1.0 0.5; min: 0 0; text { font: "SLP:style=Medium"; size: CHECK_STYLE_DELETE_BUTTON_TEXT_FONT_SIZE_INC; min: 0 0; text: ""; text_class: "slp_medium"; } } 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; text { font: "SLP:style=Medium"; size: CHECK_STYLE_DELETE_BUTTON_TEXT_FONT_SIZE_INC; min: 1 0; text: "Delete"; text_class: "slp_medium"; } } description { state: "visible_pressed" 0.0; inherit: "visible" 0.0; color: CHECK_DELETE_TEXT_DELETE_PRESS_COLOR_INC; } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; visible: 0; color: 255 255 255 255; align: 0.0 0.5; rel1 { to_x: "bg2"; relative: 1.0 0.0; offset: 1 1; } rel2 { to_x: "bg2"; 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; 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; } } part { name: "elm.text"; type: TEXTBLOCK; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; fixed: 1 1; rel1 { relative: 1.0 0.5; offset: 1 1; to_x: "elm.swallow.content"; } rel2 { relative: 1.0 0.5; offset: -2 -2; } color: 255 255 255 255; 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: "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"; type: RECT; repeat_events: 1; 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: "disabler"; type: RECT; description { state: "default" 0.0; rel2.to_x: "elm.text"; 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: "events1"; 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); } after: "toggle"; } program { name: "toggle"; action: SIGNAL_EMIT "elm,action,check,toggle" ""; } program { name: "unfocused"; signal: "elm,action,unfocus"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"bg2", st, 30, vl); if (!strcmp(st, "on")) emit("elm,action,check,toggle", ""); } } program { name: "click_down"; signal: "mouse,down,1"; source: "events2"; 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); } } } program { name: "check_normal"; signal: "mouse,up,1"; source: "events2"; 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); } } } 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"; } 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); } } 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; 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: "bg2"; target: "bg1"; 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); set_int(button_state, 1); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "disabler"; target: "bg2"; target: "bg1"; 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); set_int(button_state, 0); } } } } //////////////////////////////////////////////////////////////////////////////// group { name: "elm/check/base/grid"; images.image: "00_grid_select_check.png" COMP; parts { part { name: "bg"; type: RECT; scale: 1; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "pressed" 0.0; inherit: "default" 0.0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "bg2"; type: RECT; mouse_events: 0; scale: 1; description { state: "default" 0.0; min: 64 64; align: 1.0 0.0; color: 0 0 0 0; rel1 { relative: 1.0 0.0; to: "bg"; } rel2 { relative: 1.0 0.0; to: "bg"; } } description { state: "pressed" 0.0; inherit: "default" 0.0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "selected_bg"; type: RECT; scale: 1; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; color: 0 0 0 0; visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 0 0 0 128; visible: 1; } } part { name: "check"; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.to: "bg2"; rel2.to: "bg2"; visible: 0; image.normal: "00_grid_select_check.png"; } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "pressed" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "disabled_visible" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; visible: 0; color: 255 255 255 255; align: 0.0 0.5; rel1 { to_x: "bg2"; relative: 1.0 0.0; offset: 1 1; } rel2 { to_x: "bg2"; 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; 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; } } part { name: "elm.text"; type: TEXTBLOCK; 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; } color: 255 255 255 255; 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: "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,up,1"; source: "events"; action: SIGNAL_EMIT "elm,action,check,toggle" ""; after: "bg_normal"; } program { name: "bg_normal"; script { set_state(PART:"bg", "default", 0.0); set_state(PART:"bg2", "default", 0.0); } } program { name: "mouseout"; signal: "mouse,out"; source: "events"; after: "bg_check_normal"; } program { name: "bg_check_normal"; 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); set_state(PART:"bg2", "default", 0.0); } } program { name: "pressed"; signal: "mouse,down,1"; source: "events"; script { new st[31]; new Float:vl; get_state(PART:"check", st, 30, vl); if (!strcmp(st, "visible")) set_state(PART:"check", "pressed", 0.0); set_state(PART:"bg", "pressed", 0.0); set_state(PART:"bg2", "pressed", 0.0); } } program { name: "check_on"; signal: "elm,state,check,on"; source: "elm"; action: STATE_SET "visible" 0.0; target: "check"; target: "selected_bg"; } program { name: "check_off"; signal: "elm,state,check,off"; source: "elm"; action: STATE_SET "default" 0.0; target: "check"; target: "selected_bg"; } 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: "bg"; target: "bg2"; 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); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "disabler"; target: "bg"; target: "bg2"; 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); } } } } #undef CHECK_STATE_DEFAULT #undef CHECK_STATE_VISIBLE #undef CHECK_STATE_DISABLED_VISIBLE #undef CHECK_STATE_DISABLED