group { name: "elm/frame/base/default"; images.image: "win_shadow.png" COMP; parts { part { name: "shadow"; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel.to: "base"; WIN_SHADOW_SMALL; } description { state: "hidden" 0.0; inherit; visible: 0; } } part { name: "base"; type: RECT; scale: 1; description { state: "default" 0.0; rel1.offset: 6 6; rel2.offset: -7 -7; color: 80 80 80 255; offscale; } } part { name: "top"; type: SPACER; scale: 1; description { state: "default" 0.0; rel1.to: "base"; rel2.to_x: "base"; rel2.to_y: "elm.text"; rel2.offset: -1 3; offscale; } } part { name: "elm.text"; type: TEXT; scale: 1; description { state: "default" 0.0; rel1.offset: 4 4; rel1.to: "base"; rel2.relative: 1.0 0.0; rel2.offset: -5 4; rel2.to: "base"; align: 0.0 0.0; color: 255 255 255 255; text { font: FNBD; size: 10; align: 0.0 0.0; min: 0 1; } fixed: 0 1; offscale; } } part { name: "bg"; type: RECT; scale: 1; description { state: "default" 0.0; rel1.to_x: "base"; rel1.to_y: "top"; rel1.relative: 0.0 1.0; rel2.to: "base"; color: 64 64 64 255; } } part { name: "clip"; type: RECT; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; } } part { name: "elm.swallow.content"; type: SWALLOW; clip_to: "clip"; scale: 1; description { state: "default" 0.0; align: 0.0 1.0; rel1.to: "bg"; rel1.offset: 4 4; rel2.to: "bg"; rel2.offset: -5 -5; offscale; } description { state: "collapsed" 0.0; inherit: "default" 0.0; minmul: 1.0 0.0; rel1.offset: 4 0; rel2.offset: -5 -1; } } part { name: "event"; type: RECT; ignore_flags: ON_HOLD; description { state: "default" 0.0; color: 0 0 0 0; rel1.to_y: "elm.text"; rel2.to_y: "elm.text"; } } } programs { program { name: "collapse"; action: STATE_SET "collapsed" 0.0; target: "elm.swallow.content"; transition: ACCELERATE 0.3; after: "signal"; } program { name: "expand"; action: STATE_SET "default" 0.0; target: "elm.swallow.content"; transition: DECELERATE 0.3; after: "signal"; } program { signal: "mouse,up,1"; source: "event"; action: SIGNAL_EMIT "elm,action,click" "elm"; } program { signal: "elm,action,toggle"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "default")) run_program(PROGRAM:"collapse"); else run_program(PROGRAM:"expand"); } } program { signal: "elm,action,switch"; source: "elm"; script { new st[31]; new Float:vl; get_state(PART:"elm.swallow.content", st, 30, vl); if (!strcmp(st, "default")) set_state(PART:"elm.swallow.content", "collapsed", 0.0); else set_state(PART:"elm.swallow.content", "default", 0.0); } } program { name: "signal"; action: SIGNAL_EMIT "elm,anim,done" "elm"; } } } group { name: "elm/frame/base/pad_small"; parts { part { name: "b0"; type: SPACER; scale: 1; description { state: "default" 0.0; min: 3 3; max: 3 3; align: 0.0 0.0; } } part { name: "b1"; type: SPACER; scale: 1; description { state: "default" 0.0; min: 3 3; max: 3 3; align: 1.0 1.0; } } part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "b0"; rel1.relative: 1.0 1.0; rel2.to: "b1"; rel2.relative: 0.0 0.0; } } } } group { name: "elm/frame/base/pad_medium"; inherit: "elm/frame/base/pad_small"; parts { part { name: "b0"; description { state: "default" 0.0; min: 6 6; max: 6 6; } } part { name: "b1"; description { state: "default" 0.0; min: 6 6; max: 6 6; } } } } group { name: "elm/frame/base/pad_large"; inherit: "elm/frame/base/pad_small"; parts { part { name: "b0"; description { state: "default" 0.0; min: 12 12; max: 12 12; } } part { name: "b1"; description { state: "default" 0.0; min: 12 12; max: 12 12; } } } } group { name: "elm/frame/base/pad_huge"; inherit: "elm/frame/base/pad_small"; parts { part { name: "b0"; description { state: "default" 0.0; min: 24 24; max: 24 24; } } part { name: "b1"; description { state: "default" 0.0; min: 24 24; max: 24 24; } } } } group { name: "elm/frame/base/outdent_top"; images.image: "separator_horiz.png" COMP; parts { part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; rel1.to_y: "base"; rel1.relative: 0.0 1.0; rel1.offset: 4 4; rel2.offset: -5 -5; } } part { name: "base"; type: RECT; description { state: "default" 0.0; fixed: 0 1; rel1.offset: 4 2; rel2.offset: -5 2; rel2.relative: 1.0 0.0; min: 0 1; } } } } group { name: "elm/frame/base/outdent_bottom"; images.image: "separator_horiz.png" COMP; parts { part { name: "elm.swallow.content"; type: SWALLOW; description { state: "default" 0.0; rel1.offset: 4 4; rel2.to_y: "base"; rel2.relative: 1.0 0.0; rel2.offset: -5 -5; } } part { name: "base"; type: RECT; description { state: "default" 0.0; fixed: 0 1; rel1.offset: 4 -3; rel1.relative: 0.0 1.0; rel2.offset: -5 -3; min: 0 1; } } } }