/* panes widget style information [SIGNAL] efl,panes,fixed: Used for elm_panes_fixed_set() efl,panes,unfixed: Used for elm_panes_fixed_set() [SIGNAL EMIT] efl,action,press: Used for "press" smart callback. efl,action,unpress: Used for "unpress" smart callback. */ #define PANEMIN 8 #define PANEMIN2 24 #define PANEWID 24 group { name: "efl/panes/vertical"; data.item: "version" "123"; images.image: "pane_handle_v.png" COMP; parts { //TODO: remove left/right alias: "first" "efl.left"; alias: "second" "efl.right"; alias: "left" "efl.left"; alias: "right" "efl.right"; part { name: "whole"; type: SPACER; description { state: "default" 0.0; } } part { name: "right_constraint"; type: SPACER; dragable { confine: "whole"; x: 1 1 1; y: 0 0 0; } description { state: "default" 0.0; max: 0 0; } } part { name: "left_constraint"; type: SPACER; dragable { confine: "whole"; x: 1 1 1; y: 0 0 0; } description { state: "default" 0.0; max: 0 0; } } part { name: "sub_whole"; type: SPACER; description { state: "default" 0.0; rel1.relative: 1.0 0.0; rel1.to_x: "left_constraint"; rel2.relative: 0.0 1.0; rel2.to_x: "right_constraint"; } } part { name: "whole_left"; type: RECT; description { state: "default" 0.0; rel2.to_x: "efl.bar"; rel2.relative: 0.0 1.0; } } part { name: "whole_right"; type: RECT; description { state: "default" 0.0; rel1.to_x: "efl.bar"; rel1.relative: 1.0 0.0; } } part { name: "efl.left"; type: SWALLOW; clip_to: "whole_left"; description { state: "default" 0.0; rel2.to_x: "efl.bar"; rel2.relative: 0.0 1.0; } } part { name: "efl.right"; type: SWALLOW; clip_to: "whole_right"; description { state: "default" 0.0; rel1.to_x: "efl.bar"; rel1.relative: 1.0 0.0; } } part { name: "efl.bar"; type: SPACER; dragable { confine: "sub_whole"; x: 1 1 1; y: 0 0 0; } description { state: "default" 0.0; max: 8 99999; min: 8 24; fixed: 1 1; rel1.relative: 0.0 0.5; rel2.relative: 1.0 0.5; } } part { name: "dots"; mouse_events: 0; description { state: "default" 0.0; FIXED_SIZE(8, 24) image.normal: "pane_handle_v.png"; fill.smooth: 0; rel.to: "efl.bar"; color: 160 160 160 255; } } part { name: "efl.event"; type: SWALLOW; description { state: "default" 0.0; visible: 0; min: PANEMIN PANEMIN2; fixed: 1 1; rel.to: "efl.bar"; } } part { name: "bar"; type: RECT; dragable.events: "efl.bar"; description { state: "default" 0.0; min: PANEMIN PANEWID; max: 99999 99999; fixed: 1 1; rel1.to_x: "efl.event"; rel2.to_x: "efl.event"; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } } programs { EFL_UI_CLICKABLE_PART_BIND("bar") program { // for efl_panes_fixed_set() signal: "efl,panes,fixed"; source: "efl"; action: STATE_SET "disabled" 0.0; target: "bar"; } program { // for efl_panes_fixed_set() signal: "efl,panes,unfixed"; source: "efl"; action: STATE_SET "default" 0.0; target: "bar"; } } } group { name: "efl/panes/horizontal"; data.item: "version" "123"; images.image: "pane_handle_h.png" COMP; parts { //TODO: remove left/right alias: "first" "efl.left"; alias: "second" "efl.right"; alias: "left" "efl.left"; alias: "right" "efl.right"; part { name: "whole"; type: SPACER; description { state: "default" 0.0; } } part { name: "right_constraint"; type: SPACER; dragable { confine: "whole"; x: 0 0 0; y: 1 1 1; } description { state: "default" 0.0; max: 0 0; } } part { name: "left_constraint"; type: SPACER; dragable { confine: "whole"; x: 0 0 0; y: 1 1 1; } description { state: "default" 0.0; max: 0 0; } } part { name: "sub_whole"; type: SPACER; description { state: "default" 0.0; rel1.relative: 0.0 1.0; rel1.to_y: "left_constraint"; rel2.relative: 1.0 0.0; rel2.to_y: "right_constraint"; } } part { name: "whole_left"; type: RECT; description { state: "default" 0.0; rel2.to_y: "efl.bar"; rel2.relative: 1.0 0.0; } } part { name: "whole_right"; type: RECT; description { state: "default" 0.0; rel1.to_y: "efl.bar"; rel1.relative: 0.0 1.0; } } part { name: "efl.left"; type: SWALLOW; clip_to: "whole_left"; description { state: "default" 0.0; rel2.to_y: "efl.bar"; rel2.relative: 1.0 0.0; } } part { name: "efl.right"; type: SWALLOW; clip_to: "whole_right"; description { state: "default" 0.0; rel1.to_y: "efl.bar"; rel1.relative: 0.0 1.0; } } part { name: "efl.bar"; type: SPACER; dragable { confine: "sub_whole"; x: 0 0 0; y: 1 1 1; } description { state: "default" 0.0; max: 99999 8; min: 24 8; fixed: 1 1; rel1.relative: 0.5 0.0; rel2.relative: 0.5 1.0; } } part { name: "dots"; mouse_events: 0; description { state: "default" 0.0; FIXED_SIZE(24, 8) image.normal: "pane_handle_h.png"; fill.smooth: 0; rel.to: "efl.bar"; color: 160 160 160 255; } } part { name: "efl.event"; type: SWALLOW; description { state: "default" 0.0; visible: 0; min: PANEMIN2 PANEMIN; fixed: 1 1; rel.to: "efl.bar"; } } part { name: "bar"; type: RECT; dragable.events: "efl.bar"; description { state: "default" 0.0; min: PANEWID PANEMIN; max: 99999 99999; fixed: 1 1; rel1.to_y: "efl.event"; rel2.to_y: "efl.event"; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } } programs { EFL_UI_CLICKABLE_PART_BIND("bar") program { // for efl_panes_fixed_set() signal: "efl,panes,fixed"; source: "efl"; action: STATE_SET "disabled" 0.0; target: "bar"; } program { // for efl_panes_fixed_set() signal: "efl,panes,unfixed"; source: "efl"; action: STATE_SET "default" 0.0; target: "bar"; } } } //////////////////////////////////////////////////////////////////////////// group { name: "efl/panes/vertical:flush"; data.item: "version" "123"; images.image: "shadow_circle_vert.png" COMP; parts { part { name: "whole"; type: SPACER; description { state: "default" 0.0; } } part { name: "right_constraint"; type: SPACER; dragable { confine: "whole"; x: 1 1 1; y: 0 0 0; } description { state: "default" 0.0; max: 0 0; } } part { name: "left_constraint"; type: SPACER; dragable { confine: "whole"; x: 1 1 1; y: 0 0 0; } description { state: "default" 0.0; max: 0 0; } } part { name: "sub_whole"; type: SPACER; description { state: "default" 0.0; rel1.relative: 1.0 0.0; rel1.to_x: "left_constraint"; rel2.relative: 0.0 1.0; rel2.to_x: "right_constraint"; } } part { name: "whole_left"; type: RECT; description { state: "default" 0.0; rel2.to_x: "efl.bar"; rel2.relative: 1.0 1.0; } } part { name: "whole_right"; type: RECT; description { state: "default" 0.0; rel1.to_x: "efl.bar"; rel1.relative: 0.0 0.0; } } part { name: "efl.left"; type: SWALLOW; clip_to: "whole_left"; description { state: "default" 0.0; rel2.to_x: "efl.bar"; rel2.relative: 1.0 1.0; fixed: 1 0; } } part { name: "efl.right"; type: SWALLOW; clip_to: "whole_right"; description { state: "default" 0.0; rel1.to_x: "efl.bar"; rel1.relative: 0.0 0.0; fixed: 1 0; } } part { name: "efl.bar"; type: SPACER; dragable { confine: "sub_whole"; x: 1 1 1; y: 0 0 0; } description { state: "default" 0.0; max: 0 99999; min: 0 14; fixed: 1 1; rel1.relative: 0.0 0.5; rel2.relative: 1.0 0.5; } } part { name: "efl.event"; type: SWALLOW; description { state: "default" 0.0; visible: 0; min: PANEMIN PANEMIN2; fixed: 1 1; rel.to: "efl.bar"; } } part { name: "bar"; type: RECT; dragable.events: "efl.bar"; description { state: "default" 0.0; min: PANEMIN PANEWID; max: 99999 99999; fixed: 1 1; rel1.to_x: "efl.event"; rel1.relative: 0.0 0.25; rel2.to_x: "efl.event"; rel2.relative: 1.0 0.75; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "glow1a"; mouse_events: 0; clip_to: "whole_right"; scale: 1; description { state: "default" 0.0; image.normal: "shadow_circle_vert.png"; rel1.to_x: "efl.bar"; rel2.to_x: "efl.bar"; color: 255 255 255 0; offscale; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; color: 255 255 255 128; rel1.offset: -16 0; rel2.offset: 15 -1; visible: 1; } } part { name: "glow2a"; mouse_events: 0; clip_to: "whole_left"; scale: 1; description { state: "default" 0.0; image.normal: "shadow_circle_vert.png"; rel1.to_x: "efl.bar"; rel2.to_x: "efl.bar"; color: 255 255 255 0; offscale; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; color: 255 255 255 128; rel1.offset: -16 0; rel2.offset: 15 -1; visible: 1; } } part { name: "glowbar1a"; type: RECT; mouse_events: 0; clip_to: "whole_left"; scale: 1; description { state: "default" 0.0; rel1.to_x: "efl.bar"; rel2.to_x: "efl.bar"; color: 51 153 255 255; offscale; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; rel1.offset: -5 0; rel2.offset: 4 -1; visible: 1; } } part { name: "glowbar2a"; type: RECT; mouse_events: 0; clip_to: "whole_right"; scale: 1; description { state: "default" 0.0; rel1.to_x: "efl.bar"; rel2.to_x: "efl.bar"; color: 51 153 255 255; offscale; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; rel1.offset: -5 0; rel2.offset: 4 -1; visible: 1; } } part { name: "bar1"; type: RECT; repeat_events: 1; description { state: "default" 0.0; fixed: 1 1; rel.to: "bar"; rel2.relative: 0.5 1.0; color: 0 0 0 0; } } part { name: "bar2"; type: RECT; repeat_events: 1; description { state: "default" 0.0; fixed: 1 1; rel.to: "bar"; rel1.relative: 0.5 0.0; color: 0 0 0 0; } } } programs { program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback action: SIGNAL_EMIT "efl,action,press" "efl"; } program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback action: SIGNAL_EMIT "efl,action,unpress" "efl"; } program { // for efl_panes_fixed_set() signal: "efl,panes,fixed"; source: "efl"; action: STATE_SET "disabled" 0.0; target: "bar"; } program { // for efl_panes_fixed_set() signal: "efl,panes,unfixed"; source: "efl"; action: STATE_SET "default" 0.0; target: "bar"; } program { signal: "mouse,in"; source: "bar1"; action: STATE_SET "active" 0.0; transition: DECELERATE 0.2; target: "glow1a"; target: "glowbar1a"; } program { signal: "mouse,out"; source: "bar1"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "glow1a"; target: "glowbar1a"; } program { signal: "mouse,in"; source: "bar2"; action: STATE_SET "active" 0.0; transition: DECELERATE 0.2; target: "glow2a"; target: "glowbar2a"; } program { signal: "mouse,out"; source: "bar2"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "glow2a"; target: "glowbar2a"; } } } group { name: "efl/panes/horizontal:flush"; data.item: "version" "123"; images.image: "shadow_circle_horiz.png" COMP; parts { part { name: "whole"; type: SPACER; description { state: "default" 0.0; } } part { name: "right_constraint"; type: SPACER; dragable { confine: "whole"; x: 0 0 0; y: 1 1 1; } description { state: "default" 0.0; max: 0 0; } } part { name: "left_constraint"; type: SPACER; dragable { confine: "whole"; x: 0 0 0; y: 1 1 1; } description { state: "default" 0.0; max: 0 0; } } part { name: "sub_whole"; type: SPACER; description { state: "default" 0.0; rel1.relative: 0.0 1.0; rel1.to_y: "left_constraint"; rel2.relative: 1.0 0.0; rel2.to_y: "right_constraint"; } } part { name: "whole_left"; type: RECT; description { state: "default" 0.0; rel2.to_y: "efl.bar"; rel2.relative: 1.0 1.0; } } part { name: "whole_right"; type: RECT; description { state: "default" 0.0; rel1.to_y: "efl.bar"; rel1.relative: 0.0 0.0; } } part { name: "efl.left"; type: SWALLOW; clip_to: "whole_left"; description { state: "default" 0.0; rel2.to_y: "efl.bar"; rel2.relative: 1.0 1.0; fixed: 0 1; } } part { name: "efl.right"; type: SWALLOW; clip_to: "whole_right"; description { state: "default" 0.0; rel1.to_y: "efl.bar"; rel1.relative: 0.0 0.0; fixed: 0 1; } } part { name: "efl.bar"; type: SPACER; dragable { confine: "sub_whole"; x: 0 0 0; y: 1 1 1; } description { state: "default" 0.0; max: 99999 0; min: 14 0; fixed: 1 1; rel1.relative: 0.5 0.0; rel2.relative: 0.5 1.0; } } part { name: "efl.event"; type: SWALLOW; description { state: "default" 0.0; visible: 0; min: PANEMIN2 PANEMIN; fixed: 1 1; rel.to: "efl.bar"; } } part { name: "bar"; type: RECT; dragable.events: "efl.bar"; description { state: "default" 0.0; min: PANEWID PANEMIN; max: 99999 99999; fixed: 1 1; rel1.to_y: "efl.event"; rel1.relative: 0.25 0.0; rel2.to_y: "efl.event"; rel2.relative: 0.75 1.0; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } part { name: "glow1a"; mouse_events: 0; clip_to: "whole_right"; scale: 1; description { state: "default" 0.0; image.normal: "shadow_circle_horiz.png"; rel1.to_y: "efl.bar"; rel2.to_y: "efl.bar"; color: 255 255 255 0; offscale; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; color: 255 255 255 128; rel1.offset: 0 -16; rel2.offset: -1 15; visible: 1; } } part { name: "glow2a"; mouse_events: 0; clip_to: "whole_left"; scale: 1; description { state: "default" 0.0; image.normal: "shadow_circle_horiz.png"; rel1.to_y: "efl.bar"; rel2.to_y: "efl.bar"; color: 255 255 255 0; offscale; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; color: 255 255 255 128; rel1.offset: 0 -16; rel2.offset: -1 15; visible: 1; } } part { name: "glowbar1a"; type: RECT; mouse_events: 0; clip_to: "whole_left"; scale: 1; description { state: "default" 0.0; rel1.to_y: "efl.bar"; rel2.to_y: "efl.bar"; color: 51 153 255 255; offscale; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; rel1.offset: 0 -5; rel2.offset: -1 4; visible: 1; } } part { name: "glowbar2a"; type: RECT; mouse_events: 0; clip_to: "whole_right"; scale: 1; description { state: "default" 0.0; rel1.to_y: "efl.bar"; rel2.to_y: "efl.bar"; color: 51 153 255 255; offscale; visible: 0; } description { state: "active" 0.0; inherit: "default" 0.0; rel1.offset: 0 -5; rel2.offset: -1 4; visible: 1; } } part { name: "bar1"; type: RECT; repeat_events: 1; description { state: "default" 0.0; fixed: 1 1; rel.to: "bar"; rel2.relative: 1.0 0.5; color: 0 0 0 0; } } part { name: "bar2"; type: RECT; repeat_events: 1; description { state: "default" 0.0; fixed: 1 1; rel.to: "bar"; rel1.relative: 0.0 0.5; color: 0 0 0 0; } } } programs { program {signal: "mouse,down,1"; source: "bar"; // for "press" smart callback action: SIGNAL_EMIT "efl,action,press" "efl"; } program { signal: "mouse,up,1"; source: "bar"; // for "unpress" smart callback action: SIGNAL_EMIT "efl,action,unpress" "efl"; } program { // for efl_panes_fixed_set() signal: "efl,panes,fixed"; source: "efl"; action: STATE_SET "disabled" 0.0; target: "bar"; } program { // for efl_panes_fixed_set() signal: "efl,panes,unfixed"; source: "efl"; action: STATE_SET "default" 0.0; target: "bar"; } program { signal: "mouse,in"; source: "bar1"; action: STATE_SET "active" 0.0; transition: DECELERATE 0.2; target: "glow1a"; target: "glowbar1a"; } program { signal: "mouse,out"; source: "bar1"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "glow1a"; target: "glowbar1a"; } program { signal: "mouse,in"; source: "bar2"; action: STATE_SET "active" 0.0; transition: DECELERATE 0.2; target: "glow2a"; target: "glowbar2a"; } program { signal: "mouse,out"; source: "bar2"; action: STATE_SET "default" 0.0; transition: DECELERATE 0.5; target: "glow2a"; target: "glowbar2a"; } } } group { name: "efl/panes/vertical:left-fold"; data.item: "version" "123"; inherit: "efl/panes/vertical"; script { public open; public drag_x; public drag_y; } parts { image { "dots"; scale; desc { "default"; image.normal: "i-arrow-l"; FIXED_SIZE(15, 15) fill.smooth: 1; } desc { "closed"; inherit: "default" 0.0; image.normal: "i-arrow-r"; } } rect { "event"; repeat; desc { "default"; rel.to: "dots"; color: 0 0 0 0; } } } programs { program { signal: "load"; source: ""; script { set_int(open, 1); } } program { signal: "mouse,clicked,1"; source: "event"; script { if (get_int(open) == 1) { new Float: dx; new Float: dy; set_int(open, 0); get_drag(PART:"efl.bar", dx, dy); set_float(drag_x, dx); set_drag(PART:"efl.bar", 0.0, 0.5); set_state(PART:"dots", "closed", 0.0); } else if (get_int(open) == 0) { set_int(open, 1); set_drag(PART:"efl.bar", get_float(drag_x), 0.5); set_state(PART:"dots", "default", 0.0); } } } } } group { name: "efl/panes/vertical:right-fold"; data.item: "version" "123"; inherit: "efl/panes/vertical"; script { public open; public drag_x; public drag_y; } parts { image { "dots"; desc { "default"; image.normal: "i-arrow-r"; FIXED_SIZE(15, 15) fill.smooth: 1; } desc { "closed"; inherit: "default" 0.0; image.normal: "i-arrow-l"; } } rect { "event"; repeat; desc { "default"; rel.to: "dots"; color: 0 0 0 0; } } } programs { program { signal: "load"; source: ""; script { set_int(open, 1); } } program { signal: "mouse,clicked,1"; source: "event"; script { if (get_int(open) == 1) { new Float: dx; new Float: dy; set_int(open, 0); get_drag(PART:"efl.bar", dx, dy); set_float(drag_x, dx); set_drag(PART:"efl.bar", 1.0, 0.5); set_state(PART:"dots", "closed", 0.0); } else if (get_int(open) == 0) { set_int(open, 1); set_drag(PART:"efl.bar", get_float(drag_x), 0.5); set_state(PART:"dots", "default", 0.0); } } } } } group { name: "efl/panes/horizontal:up-fold"; data.item: "version" "123"; inherit: "efl/panes/horizontal"; script { public open; public drag_x; public drag_y; } parts { image { "dots"; desc { "default"; image.normal: "i-arrow-u"; FIXED_SIZE(15, 15) fill.smooth: 1; } desc { "closed"; inherit: "default" 0.0; image.normal: "i-arrow-d"; } } rect { "event"; repeat; desc { "default"; rel.to: "dots"; color: 0 0 0 0; } } } programs { program { signal: "load"; source: ""; script { set_int(open, 1); } } program { signal: "mouse,clicked,1"; source: "event"; script { if (get_int(open) == 1) { new Float: dx; new Float: dy; set_int(open, 0); get_drag(PART:"efl.bar", dx, dy); set_float(drag_y, dy); set_drag(PART:"efl.bar", 0.5, 0.0); set_state(PART:"dots", "closed", 0.0); } else if (get_int(open) == 0) { set_int(open, 1); set_drag(PART:"efl.bar", 0.5, get_float(drag_y)); set_state(PART:"dots", "default", 0.0); } } } } } group { name: "efl/panes/horizontal:down-fold"; data.item: "version" "123"; inherit: "efl/panes/horizontal"; script { public open; public drag_x; public drag_y; } parts { image { "dots"; desc { "default"; image.normal: "i-arrow-d"; FIXED_SIZE(15, 15) fill.smooth: 1; } desc { "closed"; inherit: "default" 0.0; image.normal: "i-arrow-u"; } } rect { "event"; repeat; desc { "default"; rel.to: "dots"; color: 0 0 0 0; } } } programs { program { signal: "load"; source: ""; script { set_int(open, 1); } } program { signal: "mouse,clicked,1"; source: "event"; script { if (get_int(open) == 1) { new Float: dx; new Float: dy; set_int(open, 0); get_drag(PART:"efl.bar", dx, dy); set_float(drag_y, dy); set_drag(PART:"efl.bar", 0.5, 1.0); set_state(PART:"dots", "closed", 0.0); } else if (get_int(open) == 0) { set_int(open, 1); set_drag(PART:"efl.bar", 0.5, get_float(drag_y)); set_state(PART:"dots", "default", 0.0); } } } } } #undef PANEMIN #undef PANEMIN2 #undef PANEWID