images { image: "e17_button_sm.png" COMP; image: "e17_button_sm2.png" COMP; image: "e17_button_sm_disabled.png" COMP; image: "e17_titlebar_glint1.png" COMP; image: "e17_titlebar_glint2.png" COMP; image: "e17_titlebar_glint3.png" COMP; image: "focus.png" COMP; } group { name: "widgets/button"; parts { part { name: "button_image"; type: IMAGE; mouse_events: 1; description { state: "default" 0.0; min: 56 16; image { normal: "e17_button_sm.png"; border: 8 8 8 8; } } description { state: "clicked" 0.0; inherit: "default" 0.0; image { normal: "e17_button_sm2.png"; } } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "button_image2"; type: IMAGE; mouse_events: 1; description { state: "default" 0.0; visible: 0; rel1 { to: "button_image"; } rel2 { to: "button_image"; } image { normal: "e17_button_sm_disabled.png"; border: 8 8 8 8; } } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } part { name: "icon_swallow"; type: SWALLOW; description { state: "default" 0.0; align: 0.0 0.5; color: 0 0 0 0; rel1 { relative: 0.0 0.0; offset: 4 8; to: "button_image"; } rel2 { relative: 0.0 1.0; offset: 3 -9; to: "button_image"; } } description { state: "visible" 0.0; inherit: "default" 0.0; aspect: 1.0 1.0; aspect_preference: VERTICAL; align: 0.0 0.5; color: 0 0 0 0; rel1 { relative: 0.0 0.0; offset: 8 8; to: "button_image"; } rel2 { relative: 0.0 1.0; offset: 7 -9; to: "button_image"; } } } part { name: "label"; type: TEXT; effect: SHADOW; mouse_events: 0; description { state: "default" 0.0; rel1 { relative: 1.0 0.0; offset: 4 8; to_x: "icon_swallow"; to_y: "button_image"; } rel2 { relative: 1.0 1.0; offset: -8 -8; to: "button_image"; } color: 0 0 0 255; color3: 255 255 255 128; text { text: "OK"; font: "Edje-Vera"; size: 10; min: 1 1; align: 0.5 0.5; text_class: "button"; } } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 0 0 0 128; color3: 255 255 255 64; } } part { name: "glint_clip"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 255; rel1 { relative: 0.0 0.0; offset: 3 3; } rel2 { relative: 1.0 1.0; offset: -4 -4; } } } part { name: "glint1"; mouse_events: 0; description { state: "default" 0.0; visible: 0; color: 255 255 255 0; align: 0.0 0.0; max: 34 13; rel1 { relative: 0.0 0.0; offset: 2 2; } rel2 { relative: 1.0 1.0; offset: -3 -3; } image { normal: "e17_titlebar_glint1.png"; border: 5 0 5 0; } fill { smooth: 0; } } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "glint2"; mouse_events: 0; clip_to: "glint_clip"; description { state: "default" 0.0; visible: 0; color: 255 255 255 0; align: 1.0 0.5; max: 0 0; rel1 { relative: 0.0 0.0; offset: 3 3; } rel2 { relative: 0.0 1.0; offset: 3 -4; } image { normal: "e17_titlebar_glint2.png"; border: 0 0 5 5; } fill { smooth: 0; } } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; max: 169 9999; min: 169 8; align: 0.5 0.5; } description { state: "active2" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 128; max: 169 9999; min: 169 8; align: 0.5 0.5; rel1 { relative: 1.0 0.0; offset: -4 3; } rel2 { relative: 1.0 1.0; offset: -4 -4; } } description { state: "active3" 0.0; inherit: "default" 0.0; visible: 0; color: 255 255 255 0; max: 169 9999; min: 169 8; align: 0.0 0.5; rel1 { relative: 1.0 0.0; offset: -4 3; } rel2 { relative: 1.0 1.0; offset: -4 -4; } } } part { name: "glint3"; mouse_events: 0; description { state: "default" 0.0; visible: 0; color: 255 255 255 0; align: 1.0 1.0; max: 34 13; rel1 { relative: 0.0 0.0; offset: 2 2; } rel2 { relative: 1.0 1.0; offset: -3 -3; } image { normal: "e17_titlebar_glint3.png"; border: 0 5 0 5; } fill { smooth: 0; } } description { state: "active" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } part { name: "focus"; mouse_events: 0; description { state: "default" 0.0; visible: 0; color: 255 255 255 0; image { normal: "focus.png"; border: 7 7 7 7; middle: 0; } fill { smooth: 0; } } description { state: "focused" 0.0; inherit: "default" 0.0; visible: 1; color: 255 255 255 255; } } } programs { program { name: "button_click"; signal: "mouse,down,1"; source: "button_image"; action: STATE_SET "clicked" 0.0; target: "button_image"; } program { name: "button_unclick"; signal: "mouse,up,1"; source: "button_image"; action: STATE_SET "default" 0.0; target: "button_image"; } program { name: "button_unclick2"; signal: "mouse,clicked,1"; source: "button_image"; action: SIGNAL_EMIT "click" ""; } program { name: "icon_visible"; signal: "icon_visible"; source: ""; action: STATE_SET "visible" 0.0; target: "icon_swallow"; } program { name: "button_in"; signal: "mouse,in"; source: "button_image"; action: SIGNAL_EMIT "enter" ""; } program { name: "button_enter"; signal: "enter"; source: ""; script { run_program(PROGRAM:"go_active"); } } program { name: "go_active"; action: STATE_SET "active" 0.0; target: "glint1"; target: "glint2"; transition: LINEAR 0.05; after: "go_active2"; after: "go_active2b"; } program { name: "go_active2"; action: STATE_SET "active2" 0.0; target: "glint2"; transition: LINEAR 0.2; after: "go_active3"; after: "go_active3b"; } program { name: "go_active2b"; action: STATE_SET "active" 0.0; target: "glint3"; transition: LINEAR 0.2; } program { name: "go_active3"; action: STATE_SET "active3" 0.0; target: "glint2"; transition: LINEAR 0.05; } program { name: "go_active3b"; action: STATE_SET "default" 0.0; target: "glint3"; transition: LINEAR 0.1; after: "go_active4"; } program { name: "go_active4"; action: STATE_SET "default" 0.0; target: "glint1"; target: "glint2"; target: "glint3"; } program { name: "focus_in"; signal: "focus_in"; source: ""; action: STATE_SET "focused" 0.0; transition: DECELERATE 0.2; target: "focus"; } program { name: "focus_out"; signal: "focus_out"; source: ""; action: STATE_SET "default" 0.0; transition: ACCELERATE 0.5; target: "focus"; } program { name: "disable"; signal: "disabled"; source: ""; action: STATE_SET "disabled" 0.0; target: "button_image"; target: "button_image2"; target: "label"; } program { name: "enable"; signal: "enabled"; source: ""; action: STATE_SET "default" 0.0; target: "button_image"; target: "button_image2"; target: "label"; } } }