group { name: "elm/scroller/base/default"; alias: "elm/list/base/default"; alias: "elm/genlist/base/default"; alias: "elm/gengrid/base/default"; alias: "elm/scroller/base/map_bubble"; alias: "elm/genscroller/base/default"; data { item: "focus_highlight" "on"; } script { public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer; public timer0(val) { new v; v = get_int(sbvis_v); if (v) { v = get_int(sbalways_v); if (!v) { emit("do-hide-vbar", ""); set_int(sbvis_v, 0); } } v = get_int(sbvis_h); if (v) { v = get_int(sbalways_h); if (!v) { emit("do-hide-hbar", ""); set_int(sbvis_h, 0); } } set_int(sbvis_timer, 0); return 0; } } images { image: "shelf_inset.png" COMP; image: "bt_sm_base2.png" COMP; image: "bt_sm_shine.png" COMP; image: "bt_sm_hilight.png" COMP; image: "sl_bt2_2.png" COMP; } parts { part { name: "bg"; type: RECT; description { state: "default" 0.0; rel1.offset: 2 2; rel2.offset: -3 -3; color: 255 255 255 0; } } part { name: "clipper"; type: RECT; mouse_events: 0; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; rel1.offset: 2 2; rel2.offset: -3 -3; } } part { name: "elm.swallow.content"; clip_to: "clipper"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; rel1.offset: 2 2; rel2.offset: -3 -3; } } part { name: "conf_over"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; image { normal: "shelf_inset.png"; border: 7 7 7 7; middle: 0; } fill.smooth : 0; } description { state: "enabled" 0.0; inherit: "default" 0.0; color: 200 155 0 255; } } part { name: "focus_highlight"; mouse_events: 0; description { state: "default" 0.0; rel1.offset: -1 -1; rel2.offset: 0 0; image { normal: "sl_bt2_2.png"; border: 7 7 7 7; middle: 0; } fill.smooth : 0; color: 200 155 0 0; } description { state: "enabled" 0.0; inherit: "default" 0.0; color: 200 155 0 255; } } part { name: "sb_vbar_clip_master"; type: RECT; mouse_events: 0; description { state: "default" 0.0; } description { state: "hidden" 0.0; visible: 0; color: 255 255 255 0; } } part { name: "sb_vbar_clip"; clip_to: "sb_vbar_clip_master"; type: RECT; mouse_events: 0; description { state: "default" 0.0; } description { state: "hidden" 0.0; visible: 0; color: 255 255 255 0; } } part { name: "sb_vbar"; type: RECT; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; min: 10 17; align: 1.0 0.0; rel1 { relative: 1.0 0.0; offset: 0 2; to_y: "elm.swallow.content"; to_x: "elm.swallow.content"; } rel2 { relative: 1.0 0.0; offset: -1 -1; to_y: "sb_hbar"; to_x: "elm.swallow.content"; } } } part { name: "elm.dragable.vbar"; clip_to: "sb_vbar_clip"; mouse_events: 0; dragable { x: 0 0 0; y: 1 1 0; confine: "sb_vbar"; } description { state: "default" 0.0; fixed: 1 1; min: 10 17; max: 10 99999; rel1 { relative: 0.5 0.5; offset: 0 0; to: "sb_vbar"; } rel2 { relative: 0.5 0.5; offset: 0 0; to: "sb_vbar"; } image { normal: "bt_sm_base2.png"; border: 6 6 6 6; middle: SOLID; } } } part { name: "sb_vbar_over1"; clip_to: "sb_vbar_clip"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "elm.dragable.vbar"; rel2.relative: 1.0 0.5; rel2.to: "elm.dragable.vbar"; image { normal: "bt_sm_hilight.png"; border: 6 6 6 0; } } } part { name: "sb_vbar_over2"; clip_to: "sb_vbar_clip"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "elm.dragable.vbar"; rel2.to: "elm.dragable.vbar"; image { normal: "bt_sm_shine.png"; border: 6 6 6 0; } } } part { name: "sb_hbar_clip_master"; type: RECT; mouse_events: 0; description { state: "default" 0.0; } description { state: "hidden" 0.0; visible: 0; color: 255 255 255 0; } } part { name: "sb_hbar_clip"; clip_to: "sb_hbar_clip_master"; type: RECT; mouse_events: 0; description { state: "default" 0.0; } description { state: "hidden" 0.0; visible: 0; color: 255 255 255 0; } } part { name: "sb_hbar"; type: RECT; mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; visible: 0; min: 17 10; align: 0.0 1.0; rel1 { relative: 0.0 1.0; offset: 2 0; to_x: "elm.swallow.content"; to_y: "elm.swallow.content"; } rel2 { relative: 0.0 1.0; offset: -1 -1; to_x: "sb_vbar"; to_y: "elm.swallow.content"; } } } part { name: "elm.dragable.hbar"; clip_to: "sb_hbar_clip"; mouse_events: 0; dragable { x: 1 1 0; y: 0 0 0; confine: "sb_hbar"; } description { state: "default" 0.0; fixed: 1 1; min: 17 10; max: 99999 10; rel1 { relative: 0.5 0.5; offset: 0 0; to: "sb_hbar"; } rel2 { relative: 0.5 0.5; offset: 0 0; to: "sb_hbar"; } image { normal: "bt_sm_base2.png"; border: 4 4 4 4; middle: SOLID; } } } part { name: "sb_hbar_over1"; clip_to: "sb_hbar_clip"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "elm.dragable.hbar"; rel2.relative: 1.0 0.5; rel2.to: "elm.dragable.hbar"; image { normal: "bt_sm_hilight.png"; border: 4 4 4 0; } } } part { name: "sb_hbar_over2"; clip_to: "sb_hbar_clip"; mouse_events: 0; description { state: "default" 0.0; rel1.to: "elm.dragable.hbar"; rel2.to: "elm.dragable.hbar"; image { normal: "bt_sm_shine.png"; border: 4 4 4 0; } } } part { name: "disabler"; type: RECT; description { state: "default" 0.0; rel1.to: "clipper"; rel2.to: "clipper"; color: 0 0 0 0; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; color: 128 128 128 128; } } } programs { program { name: "load"; signal: "load"; source: ""; script { set_state(PART:"sb_hbar_clip", "hidden", 0.0); set_state(PART:"sb_vbar_clip", "hidden", 0.0); set_int(sbvis_h, 0); set_int(sbvis_v, 0); set_int(sbalways_v, 0); set_int(sbalways_h, 0); set_int(sbvis_timer, 0); } } program { name: "vbar_show"; signal: "elm,action,show,vbar"; source: "elm"; action: STATE_SET "default" 0.0; target: "sb_vbar_clip_master"; } program { name: "vbar_hide"; signal: "elm,action,hide,vbar"; source: "elm"; action: STATE_SET "hidden" 0.0; target: "sb_vbar_clip_master"; } program { name: "vbar_show_always"; signal: "elm,action,show_always,vbar"; source: "elm"; script { new v; v = get_int(sbvis_v); v |= get_int(sbalways_v); if (!v) { set_int(sbalways_v, 1); emit("do-show-vbar", ""); set_int(sbvis_v, 1); } } } program { name: "vbar_show_notalways"; signal: "elm,action,show_notalways,vbar"; source: "elm"; script { new v; v = get_int(sbalways_v); if (v) { set_int(sbalways_v, 0); v = get_int(sbvis_v); if (!v) { emit("do-hide-vbar", ""); set_int(sbvis_v, 0); } } } } program { name: "sb_vbar_show"; signal: "do-show-vbar"; source: ""; action: STATE_SET "default" 0.0; transition: LINEAR 0.5; target: "sb_vbar_clip"; } program { name: "sb_vbar_hide"; signal: "do-hide-vbar"; source: ""; action: STATE_SET "hidden" 0.0; transition: LINEAR 0.5; target: "sb_vbar_clip"; } program { name: "hbar_show"; signal: "elm,action,show,hbar"; source: "elm"; action: STATE_SET "default" 0.0; target: "sb_hbar_clip_master"; } program { name: "hbar_hide"; signal: "elm,action,hide,hbar"; source: "elm"; action: STATE_SET "hidden" 0.0; target: "sb_hbar_clip_master"; } program { name: "hbar_show_always"; signal: "elm,action,show_always,hbar"; source: "elm"; script { new v; v = get_int(sbvis_h); v |= get_int(sbalways_h); if (!v) { set_int(sbalways_h, 1); emit("do-show-hbar", ""); set_int(sbvis_h, 1); } } } program { name: "hbar_show_notalways"; signal: "elm,action,show_notalways,hbar"; source: "elm"; script { new v; v = get_int(sbalways_h); if (v) { set_int(sbalways_h, 0); v = get_int(sbvis_h); if (!v) { emit("do-hide-hbar", ""); set_int(sbvis_h, 0); } } } } program { name: "sb_hbar_show"; signal: "do-show-hbar"; source: ""; action: STATE_SET "default" 0.0; transition: LINEAR 0.5; target: "sb_hbar_clip"; } program { name: "sb_hbar_hide"; signal: "do-hide-hbar"; source: ""; action: STATE_SET "hidden" 0.0; transition: LINEAR 0.5; target: "sb_hbar_clip"; } program { name: "scroll"; signal: "elm,action,scroll"; source: "elm"; script { new v; v = get_int(sbvis_v); v |= get_int(sbalways_v); if (!v) { emit("do-show-vbar", ""); set_int(sbvis_v, 1); } v = get_int(sbvis_h); v |= get_int(sbalways_h); if (!v) { emit("do-show-hbar", ""); set_int(sbvis_h, 1); } v = get_int(sbvis_timer); if (v > 0) cancel_timer(v); v = timer(1.0, "timer0", 0); set_int(sbvis_timer, v); } } program { name: "highlight_show"; signal: "elm,action,focus_highlight,show"; source: "elm"; action: STATE_SET "enabled" 0.0; transition: ACCELERATE 0.3; target: "focus_highlight"; target: "conf_over"; } program { name: "highlight_hide"; signal: "elm,action,focus_highlight,hide"; source: "elm"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.3; target: "focus_highlight"; target: "conf_over"; } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "disabler"; } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "disabler"; } } } ///////////////////////////////////////////////////////////////////////////////