TH - flip selector

This commit is contained in:
Carsten Haitzler 2020-01-06 14:54:44 +00:00
parent 336e788298
commit 7829dc4db8
1 changed files with 96 additions and 140 deletions

View File

@ -2,14 +2,10 @@
#define FLIP_PICKER_MAX_LEN_STR "50"
group { name: "elm/flipselector/base/default";
images.image: "big_arrow_up.png" COMP;
images.image: "big_arrow_down.png" COMP;
images.image: "flip_shad.png" COMP;
images.image: "sym_up_light_normal.png" COMP;
images.image: "sym_down_light_normal.png" COMP;
images.image: "sym_up_dark_normal.png" COMP;
images.image: "sym_down_dark_normal.png" COMP;
images.image: "shine.png" COMP;
images.image: "win_shadow.png" COMP;
images.image: "bevel_out.png" COMP;
data.item: "max_len" FLIP_PICKER_MAX_LEN_STR;
@ -86,11 +82,9 @@ group { name: "elm/flipselector/base/default";
set_tween_state(PART:"elm.bottom", pos, "shrink", 0.0, "default", 0.0);
set_tween_state(PART:"bottom_cur", pos, "shrink", 0.0, "default", 0.0);
set_tween_state(PART:"bottom_shadow", pos, "half", 0.0, "full", 0.0);
set_state(PART:"bottom_shine_cur", "visible", 0.0);
if (pos >= 1.0) {
set_state(PART:"bottom_shadow", "default", 0.0);
set_state(PART:"bottom_shine_cur", "default", 0.0);
set_int(lock, 0);
fetch_str(next, 0, tmp, FLIP_PICKER_MAX_LEN);
if (strncmp(tmp, "", FLIP_PICKER_MAX_LEN) != 0) {
@ -106,7 +100,6 @@ group { name: "elm/flipselector/base/default";
0.0);
if (pos >= 1.0)
{
set_state(PART:"top_shine_cur", "default", 0.0);
anim(0.2, "animator_bottom_down", val);
}
}
@ -122,9 +115,7 @@ group { name: "elm/flipselector/base/default";
set_tween_state(PART:"elm.top", pos, "shrink", 0.0, "default", 0.0);
set_tween_state(PART:"top_cur", pos, "shrink", 0.0, "default", 0.0);
set_tween_state(PART:"bottom_shadow", pos, "half", 0.0, "default",
0.0);
set_state(PART:"top_shine_cur", "visible", 0.0);
set_tween_state(PART:"bottom_shadow", pos, "half", 0.0, "default", 0.0);
if (pos >= 1.0) {
set_state(PART:"bottom_shadow", "default", 0.0);
@ -153,17 +144,18 @@ group { name: "elm/flipselector/base/default";
}
parts {
part { name: "base_shadow"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
WIN_SHADOW;
rel.to: "base";
WIN_SHADOW_SMALL;
}
}
part { name: "base"; type: RECT;
scale: 1;
description { state: "default" 0.0;
rel1.offset: 6 6;
rel2.offset: -7 -7;
rel1.offset: 2 2;
rel2.offset: -3 -3;
offscale;
}
}
part { name: "bottom"; type: RECT;
@ -187,38 +179,36 @@ group { name: "elm/flipselector/base/default";
visible: 0;
}
}
part { name: "bottom_prev";
type: RECT;
part { name: "bottom_prev"; type: RECT;
mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "bottom";
rel2.to: "bottom";
color: 72 72 72 255;
rel.to: "bottom";
color: 96 96 96 255;
}
}
part { name: "bottom_text_prev"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
clip_to: "bottom_clipper";
scale: 1;
description { state: "default" 0.0;
rel1.to_x: "base";
rel1.to_y: "arrow_top";
rel1.relative: 0.0 0.7;
rel1.offset: 2 0;
rel1.offset: 2 2;
rel2.to: "base";
rel2.to_y: "arrow_bottom";
rel2.relative: 1.0 0.3;
rel2.offset: -3 -1;
rel2.offset: -3 -3;
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 0.5 0.5;
}
color: FN_COL_DEFAULT;
color: 160 160 160 255;
offscale;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: FN_COL_DISABLE;
color: 112 112 112 255;
}
}
part { name: "bottom_shadow"; mouse_events: 0;
@ -243,9 +233,8 @@ group { name: "elm/flipselector/base/default";
}
part { name: "bottom_cur"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "bottom";
rel2.to: "bottom";
color: 72 72 72 255;
rel.to: "bottom";
color: 96 96 96 255;
}
description { state: "shrink" 0.0;
inherit: "default" 0.0;
@ -253,40 +242,25 @@ group { name: "elm/flipselector/base/default";
rel2.relative: 1.0 0.0;
}
}
part { name: "bottom_shine_cur"; mouse_events: 0;
description { state: "default" 0.0;
rel1 { to: "bottom_cur"; relative: 0 1; }
rel2.to: "bottom_cur";
image.normal: "shine.png";
min: 0 1;
fixed: 0 1;
align: 0.5 1;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "elm.bottom"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
clip_to: "bottom_clipper";
scale: 1;
description { state: "default" 0.0;
rel1.to_x: "base";
rel1.to_y: "arrow_top";
rel1.relative: 0.0 0.7;
rel1.offset: 2 0;
rel1.offset: 2 2;
rel2.to: "base";
rel2.to_y: "arrow_bottom";
rel2.relative: 1.0 0.3;
rel2.offset: -3 -1;
rel2.offset: -3 -3;
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 0.5 0.5;
}
color: FN_COL_DEFAULT;
color: 160 160 160 255;
offscale;
}
description { state: "shrink" 0.0;
inherit: "default" 0.0;
@ -296,126 +270,95 @@ group { name: "elm/flipselector/base/default";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: FN_COL_DISABLE;
color: 112 112 112 255;
}
}
part { name: "top_prev"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "top";
rel2.to: "top";
color: 56 56 56 255;
rel.to: "top";
color: 72 72 72 255;
}
}
part { name: "top_text_prev"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
clip_to: "top_clipper";
scale: 1;
description { state: "default" 0.0;
rel1.to_x: "base";
rel1.to_y: "arrow_top";
rel1.relative: 0.0 0.7;
rel1.offset: 2 0;
rel1.offset: 2 2;
rel2.to: "base";
rel2.to_y: "arrow_bottom";
rel2.relative: 1.0 0.3;
rel2.offset: -3 -1;
rel2.offset: -3 -3;
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 0.5 0.5;
source: "elm.top";
}
color: FN_COL_GREY_192;
color: 144 144 144 255;
offscale;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: FN_COL_GREY_16;
}
}
part { name: "top_shine_prev"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "top_prev";
rel2 { to: "top_prev"; relative: 1 0; }
image.normal: "shine.png";
min: 0 1;
fixed: 0 1;
align: 0.5 0;
color: 96 96 96 255;
}
}
part { name: "top_cur"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "top";
rel2.to: "top";
color: 56 56 56 255;
rel.to: "top";
color: 72 72 72 255;
}
description { state: "shrink" 0.0;
inherit: "default" 0.0;
fixed: 0 1;
rel1.relative: 0.0 1.0;
color: 40 40 40 255;
color: 32 32 32 255;
}
}
part { name: "elm.top"; type: TEXT; mouse_events: 0;
effect: SHADOW BOTTOM;
clip_to: "top_clipper";
scale: 1;
description { state: "default" 0.0;
rel1.to: "base";
rel1.to_x: "base";
rel1.to_y: "arrow_top";
rel1.relative: 0.0 0.7;
rel1.offset: 2 2;
rel2.to: "base";
rel2.to_x: "base";
rel2.to_y: "arrow_bottom";
rel2.relative: 1.0 0.3;
rel2.offset: -3 -3;
text { font: FN; size: 10;
min: 1 1;
ellipsis: -1;
align: 0.5 0.5;
}
color: FN_COL_GREY_192;
color: 144 144 144 255;
offscale;
}
description { state: "shrink" 0.0;
inherit: "default" 0.0;
visible: 0;
rel1.relative: 0.0 0.5;
}
color: 48 48 48 255;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: FN_COL_GREY_16;
}
}
part { name: "top_shine_cur"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "top_cur";
rel2 { to: "top_cur"; relative: 1 0; }
image.normal: "shine.png";
min: 0 1;
fixed: 0 1;
align: 0.5 0;
visible: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part { name: "bevel"; mouse_events: 0;
description { state: "default" 0.0;
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
rel1.to: "base";
rel2.to: "base";
fill.smooth: 0;
color: 96 96 96 255;
}
}
part { name: "arrow_top"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
min: 15 15;
max: 15 15;
min: 17 14;
max: 17 14;
align: 0.5 0.0;
rel1.to: "top";
rel2.to: "top";
image.normal: "sym_up_light_normal.png";
color: 192 192 192 255;
rel.to: "top";
rel1.offset: 0 2;
image.normal: "big_arrow_up.png";
color: 144 144 144 255;
offscale;
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
@ -423,18 +366,24 @@ group { name: "elm/flipselector/base/default";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
image.normal: "sym_up_dark_normal.png";
color: 96 96 96 255;
}
description { state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "arrow_bottom"; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
min: 15 15;
max: 15 15;
min: 17 14;
max: 17 14;
align: 0.5 1.0;
rel1.to: "bottom";
rel2.to: "bottom";
image.normal: "sym_down_light_normal.png";
rel.to: "bottom";
rel2.offset: -1 -3;
image.normal: "big_arrow_down.png";
color: 160 160 160 255;
offscale;
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
@ -442,19 +391,21 @@ group { name: "elm/flipselector/base/default";
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
image.normal: "sym_down_dark_normal.png";
color: 112 112 112 255;
}
description { state: "pressed" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "top_clipper"; type: RECT;
description { state: "default" 0.0;
rel1.to: "top";
rel2.to: "top";
rel.to: "top";
}
}
part { name: "bottom_clipper"; type: RECT;
description { state: "default" 0.0;
rel1.to: "bottom";
rel2.to: "bottom";
rel.to: "bottom";
}
}
part { name: "event_blocker"; type: RECT;
@ -469,8 +420,7 @@ group { name: "elm/flipselector/base/default";
}
}
programs {
program {
signal: "load"; source: "";
program { signal: "load"; source: "";
script {
append_str(cur, "");
append_str(prev, "");
@ -478,40 +428,49 @@ group { name: "elm/flipselector/base/default";
set_int(lock, 0);
}
}
program {
signal: "elm,state,button,hidden"; source: "elm";
program { signal: "elm,state,button,hidden"; source: "elm";
action: STATE_SET "hidden" 0.0;
target: "arrow_top";
target: "arrow_bottom";
target: "top";
target: "bottom";
}
program {
signal: "elm,state,button,visible"; source: "elm";
program { signal: "elm,state,button,visible"; source: "elm";
action: STATE_SET "default" 0.0;
target: "arrow_top";
target: "arrow_bottom";
target: "top";
target: "bottom";
}
program { name: "up";
signal: "mouse,down,1"; source: "top";
program { signal: "mouse,down,1"; source: "top";
action: SIGNAL_EMIT "elm,action,up,start" "elm";
}
program { name: "up,stop";
signal: "mouse,up,1"; source: "top";
program { signal: "mouse,down,1"; source: "top";
action: STATE_SET "pressed" 0.0;
target: "arrow_top";
}
program { signal: "mouse,up,1"; source: "top";
action: SIGNAL_EMIT "elm,action,up,stop" "elm";
}
program { name: "down";
signal: "mouse,down,1"; source: "bottom";
program { signal: "mouse,up,1"; source: "top";
action: STATE_SET "default" 0.0;
target: "arrow_top";
}
program { signal: "mouse,down,1"; source: "bottom";
action: SIGNAL_EMIT "elm,action,down,start" "elm";
}
program { name: "down,stop";
signal: "mouse,up,1"; source: "bottom";
program { signal: "mouse,down,1"; source: "bottom";
action: STATE_SET "pressed" 0.0;
target: "arrow_bottom";
}
program { signal: "mouse,up,1"; source: "bottom";
action: SIGNAL_EMIT "elm,action,down,stop" "elm";
}
program { name: "disable";
signal: "elm,state,disabled"; source: "elm";
program { signal: "mouse,up,1"; source: "bottom";
action: STATE_SET "default" 0.0;
target: "arrow_bottom";
}
program { signal: "elm,state,disabled"; source: "elm";
script {
new st[31];
new Float:vl;
@ -530,12 +489,9 @@ group { name: "elm/flipselector/base/default";
set_state(PART:"arrow_top", "disabled", 0.0);
get_state(PART:"top_cur", st, 30, vl);
if (strcmp(st, "shrink"))
set_state(PART:"top_shine_cur", "visible", 0.0);
}
}
program { name: "enable";
signal: "elm,state,enabled"; source: "elm";
program { signal: "elm,state,enabled"; source: "elm";
script {
new st[31];
new Float:vl;