group { name: "elm/actionslider/base/default"; parts { part { name: "bg"; type: RECT; mouse_events: 0; scale: 1; description { state: "default" 0.0; min: 120 20; color_class: "/bg/normal/actionslider/base"; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/bg/disabled/actionslider/base"; } } part { name: "icon_dragable_area"; type: SPACER; description { state: "default" 0.0; rel.to: "bg"; } } part { name: "elm.text.left"; type: TEXT; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/actionslider/left"; rel1.offset: 4 4; rel2.offset: -5 -5; text { font: FN; size: 10; align: 0.0 0.5; min: 1 1; ellipsis: -1; text_class: "button"; } offscale; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/fg/disabled/actionslider/left"; } } part { name: "elm.text.center"; type: TEXT; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/actionslider/center"; rel1.offset: 4 4; rel2.offset: -5 -5; text { font: FN; size: 10; align: 0.5 0.5; min: 1 1; ellipsis: -1; text_class: "button"; } offscale; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/fg/disabled/actionslider/center"; } } part { name: "elm.text.right"; type: TEXT; scale: 1; description { state: "default" 0.0; color_class: "/fg/normal/actionslider/right"; rel1.offset: 4 4; rel2.offset: -5 -5; text { font: FN; size: 10; align: 1.0 0.5; min: 1 1; ellipsis: -1; text_class: "button"; } offscale; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/fg/disabled/actionslider/right"; } } part { name: "elm.drag_button_base"; type: SWALLOW; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; min: 40 20; align: 0.5 0.5; rel1.to: "icon_dragable_area"; rel2 { relative: 0.0 1.0; to: "icon_dragable_area"; } } dragable { confine: "icon_dragable_area"; x: 1 1 0; y: 0 0 0; } } part { name: "elm.drag_button"; type: RECT; scale: 1; description { state: "default" 0.0; min: 40 20; color: 0 0 0 0; // no cc rel1.to_x: "elm.drag_button_base"; rel1.to_y: "icon_dragable_area"; rel2.to_x: "elm.drag_button_base"; rel2.to_y: "icon_dragable_area"; } dragable { events: "elm.drag_button_base"; } } part { name: "drag_button"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel.to: "elm.drag_button"; color_class: "/bg/normal/actionslider/button"; } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/bg/disabled/actionslider/button"; } description { state: "clicked" 0.0; inherit: "default" 0.0; color_class: "/bg/pressed/actionslider/button"; } } part { name: "elm.text.indicator"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel.to: "drag_button"; rel1.offset: 4 4; rel2.offset: -5 -5; color_class: "/fg/normal/actionslider/button"; text { font: FN; size: 10; align: 0.5 0.5; min: 0 1; text_class: "check_off_text"; } } description { state: "disabled" 0.0; inherit: "default" 0.0; color_class: "/fg/disabled/actionslider/button"; } description { state: "clicked" 0.0; inherit: "default" 0.0; color_class: "/fg/pressed/actionslider/button"; } } part { name: "disabler"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; // no cc visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } } programs { program { signal: "mouse,up,1"; source: "elm.drag_button"; action: SIGNAL_EMIT "elm,action,up,drag_button" "elm"; after: "button_unclick_anim"; } program { name: "button_unclick_anim"; action: STATE_SET "default" 0.0; target: "drag_button"; target: "elm.text.indicator"; } program { signal: "mouse,down,1*"; source: "elm.drag_button"; action: SIGNAL_EMIT "elm,action,down,drag_button" "elm"; after: "button_click_anim"; } program { name: "button_click_anim"; action: STATE_SET "clicked" 0.0; target: "drag_button"; target: "elm.text.indicator"; } program { signal: "mouse,move"; source: "elm.drag_button_base"; action: SIGNAL_EMIT "elm,action,move,drag_button" "elm"; } program { signal: "mouse,down,1*"; source: "elm.text.right"; action: SIGNAL_EMIT "elm,action,down,right" "elm"; } program { signal: "mouse,down,1*"; source: "elm.text.left"; action: SIGNAL_EMIT "elm,action,down,left" "elm"; } program { signal: "mouse,down,1*"; source: "elm.text.center"; action: SIGNAL_EMIT "elm,action,down,center" "elm"; } program { signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "bg"; target: "drag_button"; target: "disabler"; target: "elm.text.left"; target: "elm.text.center"; target: "elm.text.right"; target: "elm.text.indicator"; } program { signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "bg"; target: "drag_button"; target: "disabler"; target: "elm.text.left"; target: "elm.text.center"; target: "elm.text.right"; target: "elm.text.indicator"; } } } group { name: "elm/actionslider/base/bar"; inherit: "elm/actionslider/base/default"; parts { part { name: "bar"; type: RECT; mouse_events: 0; insert_before: "elm.drag_button_base"; description { state: "default" 0.0; color_class: "/bg/normal/actionslider/bar"; rel1.to: "bg"; rel2 { relative: 0.0 1.0; to_x: "elm.drag_button_base"; to_y: "bg"; } } } } }