group { name: "e/widgets/radio"; parts { part { name: "base"; mouse_events: 0; scale: 1; description { state: "default" 0.0; color_class: "/bg/normal/radio/base"; min: 15 15; max: 15 15; rel1.offset: 3 3; rel2.offset: 3 -4; rel2.relative: 0.0 1.0; image.normal: "i-radio"; align: 0.0 0.5; offscale; fixed: 1 1; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/bg/disabled/radio/base"; } } part { name: "clip"; type: RECT; description { state: "default" 0.0; } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 255 255 255 153; // no cc } } part { name: "indicator"; mouse_events: 0; clip_to: "clip"; description { state: "default" 0.0; rel.to: "base"; image.normal: "i-radio"; color_class: "/fg/normal/radio/radio"; visible: 0; } description { state: "selected" 0.0; inherit: "default" 0.0; color_class: "/fg/normal/radio/radio"; visible: 1; } description { state: "pressed" 0.0; inherit: "default" 0.0; color_class: "/fg/selected/radio/radio"; visible: 1; } } part { name: "e.text.label"; type: TEXT; scale: 1; description { state: "default" 0.0; rel1.offset: 4 4; rel1.to_x: "base"; rel1.relative: 1.0 0.0; rel2.offset: -5 -5; color_class: "/fg/normal/radio/text"; text { font: FN; size: 10; min: 1 1; ellipsis: -1; align: 0.0 0.5; text_class: "radio_button"; } offscale; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/fg/disabled/radio/text"; } description { state: "pressed" 0.0; inherit: "default" 0.0; color_class: "/fg/pressed/radio/text"; } } part { name: "event"; type: RECT; ignore_flags: ON_HOLD; description { state: "default" 0.0; color: 0 0 0 0; // no cc } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } } programs { program { signal: "e,state,on"; source: "e"; action: STATE_SET "selected" 0.0; target: "indicator"; } program { signal: "e,state,off"; source: "e"; action: STATE_SET "default" 0.0; target: "indicator"; } program { signal: "mouse,down,1"; source: "event"; action: STATE_SET "pressed" 0.0; // target: "indicator"; target: "e.text.label"; } program { signal: "mouse,up,1"; source: "event"; action: STATE_SET "default" 0.0; // target: "indicator"; target: "e.text.label"; } program { signal: "mouse,clicked,1"; source: "event"; action: SIGNAL_EMIT "e,action,toggle" ""; } program { signal: "e,state,disabled"; source: "e"; action: STATE_SET "disabled" 0.0; target: "base"; target: "clip"; target: "e.text.label"; target: "event"; } program { signal: "e,state,enabled"; source: "e"; action: STATE_SET "default" 0.0; target: "base"; target: "clip"; target: "e.text.label"; target: "event"; } } } group { name: "e/widgets/radio_icon"; inherit: "e/widgets/radio"; parts { part { name: "e.swallow.icon"; type: SWALLOW; scale: 1; insert_before: "event"; clip_to: "clip"; description { state: "default" 0.0; rel1.offset: 4 4; rel1.relative: 1.0 0.0; rel1.to_x: "base"; rel2.offset: 4 -5; rel2.relative: 1.0 1.0; rel1.to_x: "base"; align: 0.0 0.5; aspect: 1.0 1.0; aspect_preference: VERTICAL; offscale; } } part { name: "e.text.label"; description { state: "default" 0.0; rel1.to_x: "e.swallow.icon"; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/fg/disabled/radio/text"; } } } }