group { name: "elm/button/base/default"; alias: "elm/button/base/popup_button/default"; alias: "elm/button/base/naviframe/back_btn/default"; alias: "elm/button/base/datetime_ampm/default"; images { image: "bt_base1.png" COMP; image: "bt_base2.png" COMP; image: "bt_hilight.png" COMP; image: "bt_shine.png" COMP; image: "bt_glow.png" COMP; image: "bt_dis_base.png" COMP; image: "bt_dis_hilight.png" COMP; } parts { part { name: "button_image"; mouse_events: 1; description { state: "default" 0.0; min: 15 15; image { normal: "bt_base2.png"; border: 7 7 7 7; } image.middle: SOLID; } description { state: "clicked" 0.0; inherit: "default" 0.0; image.normal: "bt_base1.png"; } description { state: "disabled" 0.0; inherit: "default" 0.0; image { normal: "bt_dis_base.png"; border: 4 4 4 4; } } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; visible: 0; align: 0.0 0.5; rel1.offset: 4 4; rel2.offset: 3 -5; rel2.relative: 0.0 1.0; } description { state: "visible" 0.0; inherit: "default" 0.0; fixed: 1 0; visible: 1; aspect: 1.0 1.0; // aspect_preference: VERTICAL; rel2.offset: 4 -5; } description { state: "icononly" 0.0; inherit: "default" 0.0; fixed: 0 0; visible: 1; align: 0.5 0.5; // aspect: 1.0 1.0; rel2.offset: -5 -5; rel2.relative: 1.0 1.0; // aspect_preference: VERTICAL; } } part { name: "elm.text"; type: TEXT; effect: SOFT_SHADOW; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; rel1.to_x: "elm.swallow.content"; rel1.relative: 1.0 0.0; rel1.offset: 0 4; rel2.offset: -5 -5; color: 224 224 224 255; color3: 0 0 0 64; text { font: "Sans,Edje-Vera"; size: 10; min: 0 0; align: 0.5 0.5; text_class: "button"; } } 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; color: 0 0 0 128; color3: 0 0 0 0; visible: 1; text.min: 1 1; } } part { name: "over1"; mouse_events: 0; description { state: "default" 0.0; rel2.relative: 1.0 0.5; image { normal: "bt_hilight.png"; border: 7 7 7 0; } } description { state: "disabled" 0.0; inherit: "default" 0.0; image { normal: "bt_dis_hilight.png"; border: 4 4 4 0; } } } part { name: "over2"; mouse_events: 1; repeat_events: 1; ignore_flags: ON_HOLD; description { state: "default" 0.0; image { normal: "bt_shine.png"; border: 7 7 7 7; } } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "over3"; mouse_events: 1; repeat_events: 1; description { state: "default" 0.0; color: 255 255 255 0; image { normal: "bt_glow.png"; border: 12 12 12 12; } fill.smooth : 0; } description { state: "clicked" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } 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; } } // used to force sizing of icon to follow label sizing nearby part { name: "sizer.content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; text { font: "Sans,Edje-Vera"; size: 10; min: 0 0; text_class: "button"; } } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.to: "elm.swallow.content"; rel2.to: "elm.swallow.content"; text { min: 1 1; text: "M"; } } description { state: "icononly" 0.0; inherit: "default" 0.0; rel1.to: "elm.swallow.content"; rel2.to: "elm.swallow.content"; text { min: 1 1; text: "M"; } } } // end sizer } programs { program { name: "button_click"; signal: "mouse,down,1"; source: "over2"; action: SIGNAL_EMIT "elm,action,press" ""; after: "button_click_anim"; } program { name: "button_click_anim"; action: STATE_SET "clicked" 0.0; target: "button_image"; } program { name: "button_unclick"; signal: "mouse,up,1"; source: "over3"; action: SIGNAL_EMIT "elm,action,unpress" ""; after: "button_unclick_anim"; } program { name: "button_pressed_anim"; signal: "elm,anim,activate"; source: "elm"; action: STATE_SET "clicked" 0.0; target: "button_image"; target: "over3"; after: "button_unpressed_anim"; } program { name: "button_unpressed_anim"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "button_image"; target: "over3"; } program { name: "button_unclick_anim"; action: STATE_SET "default" 0.0; target: "button_image"; } program { name: "button_click2"; signal: "mouse,down,1"; source: "over3"; action: STATE_SET "clicked" 0.0; target: "over3"; } program { name: "button_unclick2"; signal: "mouse,up,1"; source: "over3"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "over3"; } program { name: "button_unclick3"; signal: "mouse,clicked,1"; source: "over2"; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "text_show"; signal: "elm,state,text,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "icononly")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"sizer.content", "visible", 0.0); } get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "disabled") || (!strcmp(st, "disabled_visible"))) set_state(PART:"elm.text", "disabled_visible", 0.0); else set_state(PART:"elm.text", "visible", 0.0); } } program { name: "text_hide"; signal: "elm,state,text,hidden"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"sizer.content", "icononly", 0.0); } set_state(PART:"elm.text", "default", 0.0); get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "default") || (!strcmp(st, "visible"))) set_state(PART:"elm.text", "default", 0.0); else set_state(PART:"elm.text", "disabled", 0.0); } } program { name: "icon_show"; signal: "elm,state,icon,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"sizer.content", "visible", 0.0); } else { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"sizer.content", "icononly", 0.0); } } } program { name: "icon_hide"; signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.content"; target: "sizer.content"; } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; script { new st[31]; new Float:vl; set_state(PART:"button_image", "disabled", 0.0); set_state(PART:"over1", "disabled", 0.0); set_state(PART:"over2", "disabled", 0.0); set_state(PART:"disabler", "disabled", 0.0); get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) set_state(PART:"elm.text", "disabled_visible", 0.0); else set_state(PART:"elm.text", "disabled", 0.0); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; script { new st[31]; new Float:vl; set_state(PART:"button_image", "visible", 0.0); set_state(PART:"over1", "visible", 0.0); set_state(PART:"over2", "visible", 0.0); set_state(PART:"disabler", "visible", 0.0); get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) set_state(PART:"elm.text", "visible", 0.0); else set_state(PART:"elm.text", "default", 0.0); } } } } group { name: "elm/button/base/hoversel_vertical/default"; alias: "elm/button/base/hoversel_vertical/entry"; alias: "elm/button/base/hoversel_horizontal/default"; alias: "elm/button/base/hoversel_horizontal/entry"; images { image: "bt_base1.png" COMP; image: "bt_base2.png" COMP; image: "bt_hilight.png" COMP; image: "bt_shine.png" COMP; image: "bt_glow.png" COMP; image: "updown.png" COMP; image: "bt_dis_base.png" COMP; image: "bt_dis_hilight.png" COMP; } parts { part { name: "button_image"; mouse_events: 1; description { state: "default" 0.0; image { normal: "bt_base2.png"; border: 7 7 7 7; } image.middle: SOLID; } description { state: "clicked" 0.0; inherit: "default" 0.0; image.normal: "bt_base1.png"; image.middle: SOLID; } description { state: "disabled" 0.0; inherit: "default" 0.0; image { normal: "bt_dis_base.png"; border: 4 4 4 4; } } } part { name: "arrow"; mouse_events: 0; description { state: "default" 0.0; image.normal: "updown.png"; aspect: 0.6666666666 0.6666666666; aspect_preference: VERTICAL; rel1.offset: 6 7; rel2.offset: 6 -7; rel2.relative: 0.0 1.0; align: 0.0 0.5; } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; visible: 0; align: 0.0 0.5; rel1 { to_x: "arrow"; offset: 2 4; relative: 1.0 0.0; } rel2 { to_x: "arrow"; offset: 1 -5; relative: 1.0 1.0; } } description { state: "visible" 0.0; inherit: "default" 0.0; fixed: 1 0; visible: 1; aspect: 1.0 1.0; aspect_preference: VERTICAL; rel2.offset: 2 -5; } description { state: "icononly" 0.0; inherit: "default" 0.0; fixed: 0 0; visible: 1; align: 0.5 0.5; aspect: 1.0 1.0; rel1 { to_x: "button_image"; offset: -5 -5; relative: 1.0 1.0; } aspect_preference: VERTICAL; } } part { name: "elm.text"; type: TEXT; effect: SOFT_SHADOW; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; rel1.to_x: "elm.swallow.content"; rel1.relative: 1.0 0.0; rel1.offset: 0 4; rel2.offset: -5 -5; color: 224 224 224 255; color3: 0 0 0 64; text { font: "Sans,Edje-Vera"; size: 10; min: 0 0; align: 0.5 0.5; text_class: "button"; } } description { state: "visible" 0.0; inherit: "default" 0.0; visible: 1; text.min: 1 1; } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 0 0 0 128; color3: 0 0 0 0; } description { state: "disabled_visible" 0.0; inherit: "default" 0.0; color: 0 0 0 128; color3: 0 0 0 0; visible: 1; text.min: 1 1; } } part { name: "over1"; mouse_events: 0; description { state: "default" 0.0; rel2.relative: 1.0 0.5; image { normal: "bt_hilight.png"; border: 7 7 7 0; } } description { state: "disabled" 0.0; inherit: "default" 0.0; image { normal: "bt_dis_hilight.png"; border: 4 4 4 0; } } } part { name: "over2"; mouse_events: 1; repeat_events: 1; ignore_flags: ON_HOLD; description { state: "default" 0.0; image { normal: "bt_shine.png"; border: 7 7 7 7; } } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "over3"; mouse_events: 1; repeat_events: 1; description { state: "default" 0.0; color: 255 255 255 0; image { normal: "bt_glow.png"; border: 12 12 12 12; } fill.smooth : 0; } description { state: "clicked" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } 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; } } // used to force sizing of icon to follow label sizing nearby part { name: "sizer.content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; text { font: "Sans,Edje-Vera"; size: 10; min: 0 0; text_class: "button"; } } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.to: "elm.swallow.content"; rel2.to: "elm.swallow.content"; text { min: 1 1; text: "M"; } } description { state: "icononly" 0.0; inherit: "default" 0.0; rel1.to: "elm.swallow.content"; rel2.to: "elm.swallow.content"; text { min: 1 1; text: "M"; } } } // end sizer } programs { program { name: "button_click"; signal: "mouse,down,1"; source: "over2"; action: STATE_SET "clicked" 0.0; target: "button_image"; } program { name: "button_unclick"; signal: "mouse,up,1"; source: "over2"; action: STATE_SET "default" 0.0; target: "button_image"; } program { name: "button_click2"; signal: "mouse,down,1"; source: "over3"; action: STATE_SET "clicked" 0.0; target: "over3"; } program { name: "button_unclick2"; signal: "mouse,up,1"; source: "over3"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "over3"; } program { name: "button_unclick3"; signal: "mouse,up,1"; source: "over2"; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "text_show"; signal: "elm,state,text,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "icononly")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"sizer.content", "visible", 0.0); } set_state(PART:"elm.text", "visible", 0.0); } } program { name: "text_hide"; signal: "elm,state,text,hidden"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"sizer.content", "icononly", 0.0); } set_state(PART:"elm.text", "default", 0.0); } } program { name: "icon_show"; signal: "elm,state,icon,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"sizer.content", "visible", 0.0); } else { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"sizer.content", "icononly", 0.0); } } } program { name: "icon_hide"; signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.content"; target: "sizer.content"; } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "button_image"; target: "over1"; target: "over2"; 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); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "button_image"; target: "over1"; target: "over2"; 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); } } } } group { name: "elm/button/base/hoversel_vertical_entry/default"; alias: "elm/button/base/hoversel_vertical_entry/entry"; alias: "elm/button/base/hoversel_horizontal_entry/default"; alias: "elm/button/base/hoversel_horizontal_entry/entry"; images { image: "hoversel_entry_bg.png" COMP; } parts { part { name: "button_image"; mouse_events: 1; description { state: "default" 0.0; color: 255 255 255 0; image.normal: "hoversel_entry_bg.png"; image.border: 0 0 2 2; fill.smooth: 0; } description { state: "clicked" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; visible: 0; align: 0.0 0.5; rel1.offset: 4 4; rel2.offset: 3 -5; rel2.relative: 0.0 1.0; } description { state: "visible" 0.0; inherit: "default" 0.0; fixed: 1 0; visible: 1; aspect: 1.0 1.0; aspect_preference: VERTICAL; rel2.offset: 4 -5; } description { state: "icononly" 0.0; inherit: "default" 0.0; fixed: 0 0; visible: 1; align: 0.5 0.5; aspect: 1.0 1.0; rel2.offset: -5 -5; rel2.relative: 1.0 1.0; aspect_preference: VERTICAL; } } part { name: "textvis"; type: RECT; mouse_events: 0; description { state: "default" 0.0; visible: 0; } description { state: "visible" 0.0; visible: 1; } } part { name: "elm.text"; type: TEXT; effect: SOFT_SHADOW; mouse_events: 0; scale: 1; clip_to: "textvis"; description { state: "default" 0.0; rel1.to_x: "elm.swallow.content"; rel1.relative: 1.0 0.0; rel1.offset: 0 4; rel2.offset: -5 -5; color: 224 224 224 255; color3: 0 0 0 64; text { font: "Sans,Edje-Vera"; size: 10; min: 0 0; align: 0.5 0.5; text_class: "button"; } } description { state: "visible" 0.0; inherit: "default" 0.0; text.min: 1 1; } description { state: "clicked" 0.0; inherit: "default" 0.0; text.min: 1 1; color: 0 0 0 255; color3: 0 0 0 0; } } part { name: "over2"; type: RECT; mouse_events: 1; description { state: "default" 0.0; color: 0 0 0 0; } } // used to force sizing of icon to follow label sizing nearby part { name: "sizer.content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; text { font: "Sans,Edje-Vera"; size: 10; min: 0 0; text_class: "button"; } } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.to: "elm.swallow.content"; rel2.to: "elm.swallow.content"; text { min: 1 1; text: "M"; } } description { state: "icononly" 0.0; inherit: "default" 0.0; rel1.to: "elm.swallow.content"; rel2.to: "elm.swallow.content"; text { min: 1 1; text: "M"; } } } // end sizer } programs { program { name: "button_click"; signal: "mouse,down,1"; source: "over2"; action: STATE_SET "clicked" 0.0; target: "button_image"; target: "elm.text"; } program { name: "button_unclick"; signal: "mouse,up,1"; source: "over2"; action: STATE_SET "default" 0.0; target: "button_image"; target: "elm.text"; } program { name: "button_unclick3"; signal: "mouse,up,1"; source: "over2"; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "text_show"; signal: "elm,state,text,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "icononly")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"sizer.content", "visible", 0.0); } set_state(PART:"textvis", "visible", 0.0); set_state(PART:"elm.text", "visible", 0.0); } } program { name: "text_hide"; signal: "elm,state,text,hidden"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"sizer.content", "icononly", 0.0); } set_state(PART:"textvis", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); } } program { name: "icon_show"; signal: "elm,state,icon,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"textvis", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"sizer.content", "visible", 0.0); } else { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"sizer.content", "icononly", 0.0); } } } program { name: "icon_hide"; signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.content"; target: "sizer.content"; } } } group { name: "elm/button/base/anchor"; images { image: "bt_base1.png" COMP; image: "bt_base2.png" COMP; image: "bt_hilight.png" COMP; image: "bt_shine.png" COMP; image: "bt_glow.png" COMP; image: "bt_dis_base.png" COMP; image: "bt_dis_hilight.png" COMP; } parts { part { name: "button_image"; mouse_events: 1; description { state: "default" 0.0; min: 15 15; color: 255 255 255 0; image { normal: "bt_base2.png"; border: 7 7 7 7; } image.middle: SOLID; } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } description { state: "clicked" 0.0; inherit: "default" 0.0; inherit: "visible" 0.0; image.normal: "bt_base1.png"; image.middle: SOLID; } description { state: "disabled" 0.0; inherit: "default" 0.0; inherit: "visible" 0.0; image { normal: "bt_dis_base.png"; border: 4 4 4 4; } } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; fixed: 1 0; visible: 0; align: 0.0 0.5; rel1.offset: 4 4; rel2.offset: 3 -5; rel2.relative: 0.0 1.0; } description { state: "visible" 0.0; inherit: "default" 0.0; fixed: 1 0; visible: 1; aspect: 1.0 1.0; aspect_preference: VERTICAL; rel2.offset: 4 -5; } description { state: "icononly" 0.0; inherit: "default" 0.0; fixed: 0 0; visible: 1; align: 0.5 0.5; aspect: 1.0 1.0; rel2.offset: -5 -5; rel2.relative: 1.0 1.0; aspect_preference: VERTICAL; } } part { name: "elm.text"; type: TEXT; effect: SOFT_SHADOW; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; rel1.to_x: "elm.swallow.content"; rel1.relative: 1.0 0.0; rel1.offset: 0 4; rel2.offset: -5 -5; color: 224 224 224 255; color3: 0 0 0 64; text { font: "Sans,Edje-Vera"; size: 10; min: 0 0; align: 0.5 0.5; text_class: "button"; } } 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; color: 0 0 0 128; color3: 0 0 0 0; visible: 1; text.min: 1 1; } } part { name: "over1"; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 0; rel2.relative: 1.0 0.5; image { normal: "bt_hilight.png"; border: 7 7 7 0; } } description { state: "visible" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } description { state: "disabled" 0.0; inherit: "default" 0.0; inherit: "visible" 0.0; image { normal: "bt_dis_hilight.png"; border: 4 4 4 0; } } } part { name: "over2"; mouse_events: 1; repeat_events: 1; ignore_flags: ON_HOLD; description { state: "default" 0.0; image { normal: "bt_shine.png"; border: 7 7 7 7; } } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "over3"; mouse_events: 1; repeat_events: 1; description { state: "default" 0.0; color: 255 255 255 0; image { normal: "bt_glow.png"; border: 12 12 12 12; } fill.smooth : 0; } description { state: "clicked" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } 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; } } // used to force sizing of icon to follow label sizing nearby part { name: "sizer.content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; visible: 0; text { font: "Sans,Edje-Vera"; size: 10; min: 0 0; text_class: "button"; } } description { state: "visible" 0.0; inherit: "default" 0.0; rel1.to: "elm.swallow.content"; rel2.to: "elm.swallow.content"; text { min: 1 1; text: "M"; } } description { state: "icononly" 0.0; inherit: "default" 0.0; rel1.to: "elm.swallow.content"; rel2.to: "elm.swallow.content"; text { min: 1 1; text: "M"; } } } // end sizer } programs { program { name: "button_mouse_in"; signal: "mouse,in"; source: "over2"; action: STATE_SET "visible" 0.0; target: "button_image"; target: "over1"; transition: DECELERATE 0.5; } program { name: "button_mouse_out"; signal: "mouse,out"; source: "over2"; action: STATE_SET "default" 0.0; target: "button_image"; target: "over1"; transition: DECELERATE 0.5; } program { name: "button_unclick"; signal: "mouse,up,1"; source: "over2"; action: STATE_SET "visible" 0.0; target: "button_image"; } program { name: "button_click2"; signal: "mouse,down,1"; source: "over3"; action: STATE_SET "clicked" 0.0; target: "over3"; } program { name: "button_unclick2"; signal: "mouse,up,1"; source: "over3"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "over3"; } program { name: "button_unclick3"; signal: "mouse,up,1"; source: "over2"; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "text_show"; signal: "elm,state,text,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "icononly")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"sizer.content", "visible", 0.0); } get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "disabled") || (!strcmp(st, "disabled_visible"))) set_state(PART:"elm.text", "disabled_visible", 0.0); else set_state(PART:"elm.text", "visible", 0.0); } } program { name: "text_hide"; signal: "elm,state,text,hidden"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"sizer.content", "icononly", 0.0); } get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "default") || (!strcmp(st, "visible"))) set_state(PART:"elm.text", "default", 0.0); else set_state(PART:"elm.text", "disabled", 0.0); } } program { name: "icon_show"; signal: "elm,state,icon,visible"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible")) { set_state(PART:"elm.swallow.content", "visible", 0.0); set_state(PART:"sizer.content", "visible", 0.0); } else { set_state(PART:"elm.swallow.content", "icononly", 0.0); set_state(PART:"sizer.content", "icononly", 0.0); } } } program { name: "icon_hide"; signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.content"; target: "sizer.content"; } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; script { new st[31]; new Float:vl; set_state(PART:"button_image", "disabled", 0.0); set_state(PART:"over1", "disabled", 0.0); set_state(PART:"over2", "disabled", 0.0); set_state(PART:"disabler", "disabled", 0.0); get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) set_state(PART:"elm.text", "disabled_visible", 0.0); else set_state(PART:"elm.text", "disabled", 0.0); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; script { new st[31]; new Float:vl; set_state(PART:"button_image", "visible", 0.0); set_state(PART:"over1", "visible", 0.0); set_state(PART:"over2", "visible", 0.0); set_state(PART:"disabler", "visible", 0.0); get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) set_state(PART:"elm.text", "visible", 0.0); else set_state(PART:"elm.text", "default", 0.0); } } } } group { name: "elm/button/base/colorselector/left/default"; images { image: "bt_base1.png" COMP; image: "bt_base2.png" COMP; image: "bt_hilight.png" COMP; image: "bt_shine.png" COMP; image: "bt_glow.png" COMP; image: "bt_dis_base.png" COMP; image: "bt_dis_hilight.png" COMP; image: "sp_bt_l.png" COMP; } parts { part { name: "button_image"; mouse_events: 1; description { state: "default" 0.0; min: 15 15; image { normal: "bt_base2.png"; border: 7 7 7 7; } image.middle: SOLID; } description { state: "clicked" 0.0; inherit: "default" 0.0; image.normal: "bt_base1.png"; } description { state: "disabled" 0.0; inherit: "default" 0.0; image { normal: "bt_dis_base.png"; border: 4 4 4 4; } } } part { name: "prev_image"; type: IMAGE; scale: 1; description { state: "default" 0.0; min: 16 16; max: 16 16; fixed: 1 1; align: 0.5 0.5; image.normal: "sp_bt_l.png"; } } part { name: "over1"; mouse_events: 0; description { state: "default" 0.0; rel2.relative: 1.0 0.5; image { normal: "bt_hilight.png"; border: 7 7 7 0; } } description { state: "disabled" 0.0; inherit: "default" 0.0; image { normal: "bt_dis_hilight.png"; border: 4 4 4 0; } } } part { name: "over2"; mouse_events: 1; repeat_events: 1; ignore_flags: ON_HOLD; description { state: "default" 0.0; image { normal: "bt_shine.png"; border: 7 7 7 7; } } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "over3"; mouse_events: 1; repeat_events: 1; description { state: "default" 0.0; color: 255 255 255 0; image { normal: "bt_glow.png"; border: 12 12 12 12; } fill.smooth : 0; } description { state: "clicked" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } } 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: "button_click"; signal: "mouse,down,1"; source: "over2"; action: SIGNAL_EMIT "elm,action,press" ""; after: "button_click_anim"; } program { name: "button_click_anim"; action: STATE_SET "clicked" 0.0; target: "button_image"; } program { name: "button_unclick"; signal: "mouse,up,1"; source: "over3"; action: SIGNAL_EMIT "elm,action,unpress" ""; after: "button_unclick_anim"; } program { name: "button_pressed_anim"; signal: "elm,anim,activate"; source: "elm"; action: STATE_SET "clicked" 0.0; target: "button_image"; target: "over3"; after: "button_unpressed_anim"; } program { name: "button_unpressed_anim"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "button_image"; target: "over3"; } program { name: "button_unclick_anim"; action: STATE_SET "default" 0.0; target: "button_image"; } program { name: "button_click2"; signal: "mouse,down,1"; source: "over3"; action: STATE_SET "clicked" 0.0; target: "over3"; } program { name: "button_unclick2"; signal: "mouse,up,1"; source: "over3"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "over3"; } program { name: "button_unclick3"; signal: "mouse,clicked,1"; source: "over2"; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "button_image"; target: "over1"; target: "over2"; target: "disabler"; } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "button_image"; target: "over1"; target: "over2"; target: "disabler"; } } } group { name: "elm/button/base/colorselector/right/default"; inherit: "elm/button/base/colorselector/left/default"; images { image: "sp_bt_r.png" COMP; } parts { part { name: "prev_image"; type: IMAGE; scale: 1; description { state: "default" 0.0; min: 16 16; max: 16 16; fixed: 1 1; align: 0.5 0.5; image.normal: "sp_bt_r.png"; } } } }