Elmementary menu styling fixed

Summary:
When custom style is applyed to menu the same style will be applyed to
its internal hover object.
Moved hover styles used by menu from hover.edc to menu.edc

Reviewers: cedric, seoz, raster

Reviewed By: raster

CC: reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D514
This commit is contained in:
Andrii Kroitor 2014-02-08 13:08:02 +09:00 committed by Carsten Haitzler (Rasterman)
parent 9d4a9dae02
commit 7aa326c4a7
3 changed files with 471 additions and 456 deletions

View File

@ -423,455 +423,6 @@ group { name: "elm/hover/base/popout";
}
}
//In the hover used by the menu only the bottom part is used.
group { name: "elm/hover/base/menu";
images {
image: "vgrad_med_lighter.png" COMP;
image: "bevel_out.png" COMP;
image: "shine.png" COMP;
image: "win_shadow.png" COMP;
}
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 0.0;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.to: "elm.swallow.offset";
rel1.relative: 1.0 1.0;
rel2.to: "elm.swallow.offset";
rel2.relative: 1.0 1.0;
}
}
part { name: "base"; type: RECT; repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
part { name: "elm.swallow.slot.left"; type: SWALLOW;
description { state: "default" 0.0;
}
}
part { name: "elm.swallow.slot.right"; type: SWALLOW;
description { state: "default" 0.0;
}
}
part { name: "elm.swallow.slot.top"; type: SWALLOW;
description { state: "default" 0.0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bottomclip"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "shadow";
clip_to: "bottomclip";
description { state: "default" 0.0;
image.normal: "win_shadow.png";
image.border: 14 14 14 14;
image.middle: 0;
rel1.to: "bottom";
rel1.offset: -7 -3;
rel2.to: "bottom";
rel2.offset: 6 11;
fill.smooth: 0;
}
}
part { name: "top";
clip_to: "bottomclip";
description { state: "default" 0.0;
image.normal: "vgrad_med_lighter.png";
rel1.to: "bottom";
rel2.to_x: "bottom";
rel2.to_y: "shine";
rel2.offset: -1 0;
min: 0 23;
align: 0.0 0.0;
fill.smooth: 0;
TILED_HORIZ(120)
fixed: 0 1;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bg"; type: RECT; mouse_events: 0;
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to_x: "bottom";
rel1.to_y: "top";
rel1.relative: 0.0 1.0;
rel2.to: "bottom";
color: 64 64 64 255;
}
}
part { name: "bottom";
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to: "elm.swallow.slot.bottom";
rel1.offset: 0 -5;
rel2.to: "elm.swallow.slot.bottom";
rel2.offset: -1 4;
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
clip_to: "bottomclip";
description { state: "default" 0.0;
align: 0.5 0.0;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 1.0;
rel2.offset: -1 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bevel"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "bottom";
rel2.to: "bottom";
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "shine"; mouse_events: 1;
repeat_events:1;
description { state: "default" 0.0;
rel1.to: "bottom";
rel1.offset: 0 -2;
rel2.to: "bottom";
rel2.relative: 1.0 0.0;
rel2.offset: -1 2;
image.normal: "shine.png";
FIXED_SIZE(69, 5)
}
}
part { name: "elm.swallow.slot.middle"; type: SWALLOW;
repeat_events:1;
description { state: "default" 0.0;
rel1.to: "elm.swallow.size";
rel2.to: "elm.swallow.size";
}
}
}
programs {
program { name: "end";
signal: "mouse,up,1"; source: "base";
action: SIGNAL_EMIT "elm,action,dismiss" "elm";
}
program { name: "bottomshow";
signal: "elm,action,slot,bottom,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.5;
target: "bottomclip";
target: "bottom";
target: "elm.swallow.slot.bottom";
}
program { name: "bottomhide";
signal: "elm,action,slot,bottom,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.5;
target: "bottomclip";
target: "bottom";
target: "elm.swallow.slot.bottom";
}
}
}
//In the hover used by the submenu only the bottom part is used
//and no part should interact except the bottom area
group { name: "elm/hover/base/submenu";
inherit: "elm/hover/base/menu";
images {
image: "vgrad_med.png" COMP;
}
parts {
part { name: "elm.swallow.offset";
repeat_events: 1;
}
//here we don't catch events like the hover does
part { name: "base"; type: RECT; repeat_events: 1;
description { state: "visible" 0.0;
color: 0 0 0 0;
visible: 0;
}
}
}
}
group { name: "elm/hover/base/main_menu";
images.image: "vgrad_med_lighter.png" COMP;
images.image: "bevel_dark_out.png" COMP;
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
description { state: "default" 0.0;
visible: 0;
fixed: 1 1;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
rel2.relative: 0.0 0.0;
rel1.offset: 0 0;
fixed: 1 1;
}
}
part { name: "bottomclip"; type: RECT;
description { state: "default" 0.0;
rel1.offset: -1 -2;
}
}
part { name: "base";
description { state: "default" 0.0;
image.normal: "vgrad_med_lighter.png";
rel1.to_y: "bottom";
rel2.to_y: "bottom";
fill.smooth: 0;
TILED_HORIZ(120)
}
}
part { name: "bevel"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
image.normal: "bevel_dark_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "bottom"; type: RECT;
clip_to: "bottomclip";
description { state: "default" 0.0;
visible: 0;
rel1.to: "elm.swallow.slot.bottom";
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.bottom";
rel2.offset: -1 -1;
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
clip_to: "bottomclip";
description { state: "default" 0.0;
align: 0.5 0.0;
rel1.to: "elm.swallow.size";
rel1.relative: 0.0 1.0;
rel2.to: "elm.swallow.size";
fixed: 1 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
}
programs {
program { name: "bottomshow";
signal: "elm,action,slot,bottom,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "elm.swallow.slot.bottom";
}
}
}
group { name: "elm/hover/base/main_menu_submenu";
images.image: "vgrad_med_lighter.png" COMP;
images.image: "bevel_out.png" COMP;
images.image: "shine.png" COMP;
images.image: "win_shadow.png" COMP;
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
repeat_events:1;
description { state: "default" 0.0;
align: 0.0 0.0;
rel2.relative: 0.0 0.0;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.to: "elm.swallow.offset";
rel1.relative: 1.0 1.0;
rel2.to: "elm.swallow.offset";
}
}
part { name: "base"; type: RECT; repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
part { name: "bottomclip"; type: RECT;
description { state: "default" 0.0;
rel1.to_y: "pop";
rel1.relative: 0.0 1.0;
rel1.offset: -1 -2;
}
}
part { name: "shadow";
clip_to: "bottomclip";
description { state: "default" 0.0;
image.normal: "win_shadow.png";
image.border: 14 14 14 14;
image.middle: 0;
rel1.to: "bottom";
rel1.offset: -7 -3;
rel2.to: "bottom";
rel2.offset: 6 11;
fill.smooth: 0;
}
}
part { name: "top";
clip_to: "bottomclip";
description { state: "default" 0.0;
image.normal: "vgrad_med_lighter.png";
rel1.to: "bottom";
rel2.to_x: "bottom";
rel2.to_y: "shine";
rel2.offset: -1 0;
min: 0 23;
align: 0.0 0.0;
fill.smooth: 0;
TILED_HORIZ(120)
fixed: 0 1;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bg"; type: RECT; mouse_events: 0;
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to_x: "bottom";
rel1.to_y: "top";
rel1.relative: 0.0 1.0;
rel2.to: "bottom";
color: 64 64 64 255;
}
}
part { name: "bottom";
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to: "elm.swallow.slot.bottom";
rel1.offset: 0 -6;
rel2.to: "elm.swallow.slot.bottom";
rel2.offset: -1 4;
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
clip_to: "bottomclip";
description { state: "default" 0.0;
align: 0.5 1.0;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 1.0;
rel2.offset: -1 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.offset: 0 6;
rel2.offset: -1 6;
align: 0.5 0.0;
}
}
part { name: "pop"; type: RECT; mouse_events: 1;
repeat_events:1;
description { state: "default" 0.0;
rel1.to: "elm.swallow.slot.middle";
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel2.offset: -1 0;
visible: 0;
}
}
part { name: "shine"; mouse_events: 0;
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to: "bottom";
rel1.offset: 0 -2;
rel2.to: "bottom";
rel2.relative: 1.0 0.0;
rel2.offset: -1 2;
image.normal: "shine.png";
FIXED_SIZE(69, 5)
}
}
part { name: "elm.swallow.slot.middle"; type: SWALLOW;
repeat_events:1;
description { state: "default" 0.0;
rel1.to: "elm.swallow.size";
rel2.to: "elm.swallow.size";
}
}
}
programs {
program { name: "end";
signal: "mouse,up,1"; source: "base";
action: SIGNAL_EMIT "elm,action,dismiss" "elm";
}
program { name: "show";
signal: "elm,action,show"; source: "elm";
action: STATE_SET "visible" 0.0;
target: "base";
}
program { name: "hide";
signal: "elm,action,hide"; source: "elm";
action: STATE_SET "default" 0.0;
target: "base";
}
program { name: "bottomshow";
signal: "elm,action,slot,bottom,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "bottom";
target: "elm.swallow.slot.bottom";
}
program { name: "bottomhide";
signal: "elm,action,slot,bottom,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.5;
target: "bottom";
target: "elm.swallow.slot.bottom";
}
}
}
group { name: "elm/hover/base/hoversel_vertical/default";
alias: "elm/hover/base/hoversel_vertical/entry";
images.image: "button_normal.png" COMP;

View File

@ -688,3 +688,453 @@ group { name: "elm/menu/main_menu_submenu/default";
}
}
}
/*
//In the hover used by the menu only the bottom part is used.
group { name: "elm/hover/base/menu/default";
images {
image: "vgrad_med_lighter.png" COMP;
image: "bevel_out.png" COMP;
image: "shine.png" COMP;
image: "win_shadow.png" COMP;
}
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.relative: 0.0 0.0;
rel2.relative: 0.0 0.0;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.to: "elm.swallow.offset";
rel1.relative: 1.0 1.0;
rel2.to: "elm.swallow.offset";
rel2.relative: 1.0 1.0;
}
}
part { name: "base"; type: RECT; repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
part { name: "elm.swallow.slot.left"; type: SWALLOW;
description { state: "default" 0.0;
}
}
part { name: "elm.swallow.slot.right"; type: SWALLOW;
description { state: "default" 0.0;
}
}
part { name: "elm.swallow.slot.top"; type: SWALLOW;
description { state: "default" 0.0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bottomclip"; type: RECT;
description { state: "default" 0.0;
color: 255 255 255 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "shadow";
clip_to: "bottomclip";
description { state: "default" 0.0;
image.normal: "win_shadow.png";
image.border: 14 14 14 14;
image.middle: 0;
rel1.to: "bottom";
rel1.offset: -7 -3;
rel2.to: "bottom";
rel2.offset: 6 11;
fill.smooth: 0;
}
}
part { name: "top";
clip_to: "bottomclip";
description { state: "default" 0.0;
image.normal: "vgrad_med_lighter.png";
rel1.to: "bottom";
rel2.to_x: "bottom";
rel2.to_y: "shine";
rel2.offset: -1 0;
min: 0 23;
align: 0.0 0.0;
fill.smooth: 0;
TILED_HORIZ(120)
fixed: 0 1;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bg"; type: RECT; mouse_events: 0;
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to_x: "bottom";
rel1.to_y: "top";
rel1.relative: 0.0 1.0;
rel2.to: "bottom";
color: 64 64 64 255;
}
}
part { name: "bottom";
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to: "elm.swallow.slot.bottom";
rel1.offset: 0 -5;
rel2.to: "elm.swallow.slot.bottom";
rel2.offset: -1 4;
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
clip_to: "bottomclip";
description { state: "default" 0.0;
align: 0.5 0.0;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 1.0;
rel2.offset: -1 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bevel"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "bottom";
rel2.to: "bottom";
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "shine"; mouse_events: 1;
repeat_events:1;
description { state: "default" 0.0;
rel1.to: "bottom";
rel1.offset: 0 -2;
rel2.to: "bottom";
rel2.relative: 1.0 0.0;
rel2.offset: -1 2;
image.normal: "shine.png";
FIXED_SIZE(69, 5)
}
}
part { name: "elm.swallow.slot.middle"; type: SWALLOW;
repeat_events:1;
description { state: "default" 0.0;
rel1.to: "elm.swallow.size";
rel2.to: "elm.swallow.size";
}
}
}
programs {
program { name: "end";
signal: "mouse,up,1"; source: "base";
action: SIGNAL_EMIT "elm,action,dismiss" "elm";
}
program { name: "bottomshow";
signal: "elm,action,slot,bottom,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.5;
target: "bottomclip";
target: "bottom";
target: "elm.swallow.slot.bottom";
}
program { name: "bottomhide";
signal: "elm,action,slot,bottom,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.5;
target: "bottomclip";
target: "bottom";
target: "elm.swallow.slot.bottom";
}
}
}
//In the hover used by the submenu only the bottom part is used
//and no part should interact except the bottom area
group { name: "elm/hover/base/submenu/default";
inherit: "elm/hover/base/menu/default";
images {
image: "vgrad_med.png" COMP;
}
parts {
part { name: "elm.swallow.offset";
repeat_events: 1;
}
//here we don't catch events like the hover does
part { name: "base"; type: RECT; repeat_events: 1;
description { state: "visible" 0.0;
color: 0 0 0 0;
visible: 0;
}
}
}
}
group { name: "elm/hover/base/main_menu/default";
images.image: "vgrad_med_lighter.png" COMP;
images.image: "bevel_dark_out.png" COMP;
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
description { state: "default" 0.0;
visible: 0;
fixed: 1 1;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
rel2.relative: 0.0 0.0;
rel1.offset: 0 0;
fixed: 1 1;
}
}
part { name: "bottomclip"; type: RECT;
description { state: "default" 0.0;
rel1.offset: -1 -2;
}
}
part { name: "base";
description { state: "default" 0.0;
image.normal: "vgrad_med_lighter.png";
rel1.to_y: "bottom";
rel2.to_y: "bottom";
fill.smooth: 0;
TILED_HORIZ(120)
}
}
part { name: "bevel"; mouse_events: 0;
description { state: "default" 0.0;
rel1.to: "base";
rel2.to: "base";
image.normal: "bevel_dark_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
}
part { name: "bottom"; type: RECT;
clip_to: "bottomclip";
description { state: "default" 0.0;
visible: 0;
rel1.to: "elm.swallow.slot.bottom";
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.bottom";
rel2.offset: -1 -1;
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
clip_to: "bottomclip";
description { state: "default" 0.0;
align: 0.5 0.0;
rel1.to: "elm.swallow.size";
rel1.relative: 0.0 1.0;
rel2.to: "elm.swallow.size";
fixed: 1 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
}
programs {
program { name: "bottomshow";
signal: "elm,action,slot,bottom,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "elm.swallow.slot.bottom";
}
}
}
group { name: "elm/hover/base/main_menu_submenu/default";
images.image: "vgrad_med_lighter.png" COMP;
images.image: "bevel_out.png" COMP;
images.image: "shine.png" COMP;
images.image: "win_shadow.png" COMP;
parts {
part { name: "elm.swallow.offset"; type: SWALLOW;
repeat_events:1;
description { state: "default" 0.0;
align: 0.0 0.0;
rel2.relative: 0.0 0.0;
}
}
part { name: "elm.swallow.size"; type: SWALLOW;
description { state: "default" 0.0;
align: 0.0 0.0;
rel1.to: "elm.swallow.offset";
rel1.relative: 1.0 1.0;
rel2.to: "elm.swallow.offset";
}
}
part { name: "base"; type: RECT; repeat_events: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
}
}
part { name: "bottomclip"; type: RECT;
description { state: "default" 0.0;
rel1.to_y: "pop";
rel1.relative: 0.0 1.0;
rel1.offset: -1 -2;
}
}
part { name: "shadow";
clip_to: "bottomclip";
description { state: "default" 0.0;
image.normal: "win_shadow.png";
image.border: 14 14 14 14;
image.middle: 0;
rel1.to: "bottom";
rel1.offset: -7 -3;
rel2.to: "bottom";
rel2.offset: 6 11;
fill.smooth: 0;
}
}
part { name: "top";
clip_to: "bottomclip";
description { state: "default" 0.0;
image.normal: "vgrad_med_lighter.png";
rel1.to: "bottom";
rel2.to_x: "bottom";
rel2.to_y: "shine";
rel2.offset: -1 0;
min: 0 23;
align: 0.0 0.0;
fill.smooth: 0;
TILED_HORIZ(120)
fixed: 0 1;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "bg"; type: RECT; mouse_events: 0;
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to_x: "bottom";
rel1.to_y: "top";
rel1.relative: 0.0 1.0;
rel2.to: "bottom";
color: 64 64 64 255;
}
}
part { name: "bottom";
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to: "elm.swallow.slot.bottom";
rel1.offset: 0 -6;
rel2.to: "elm.swallow.slot.bottom";
rel2.offset: -1 4;
image.normal: "bevel_out.png";
image.border: 1 1 1 1;
image.middle: 0;
fill.smooth: 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
}
}
part { name: "elm.swallow.slot.bottom"; type: SWALLOW;
clip_to: "bottomclip";
description { state: "default" 0.0;
align: 0.5 1.0;
rel1.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel2.relative: 1.0 1.0;
rel2.offset: -1 0;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
rel1.offset: 0 6;
rel2.offset: -1 6;
align: 0.5 0.0;
}
}
part { name: "pop"; type: RECT; mouse_events: 1;
repeat_events:1;
description { state: "default" 0.0;
rel1.to: "elm.swallow.slot.middle";
rel1.offset: 0 0;
rel2.to: "elm.swallow.slot.middle";
rel1.relative: 0.0 1.0;
rel2.offset: -1 0;
visible: 0;
}
}
part { name: "shine"; mouse_events: 0;
clip_to: "bottomclip";
description { state: "default" 0.0;
rel1.to: "bottom";
rel1.offset: 0 -2;
rel2.to: "bottom";
rel2.relative: 1.0 0.0;
rel2.offset: -1 2;
image.normal: "shine.png";
FIXED_SIZE(69, 5)
}
}
part { name: "elm.swallow.slot.middle"; type: SWALLOW;
repeat_events:1;
description { state: "default" 0.0;
rel1.to: "elm.swallow.size";
rel2.to: "elm.swallow.size";
}
}
}
programs {
program { name: "end";
signal: "mouse,up,1"; source: "base";
action: SIGNAL_EMIT "elm,action,dismiss" "elm";
}
program { name: "show";
signal: "elm,action,show"; source: "elm";
action: STATE_SET "visible" 0.0;
target: "base";
}
program { name: "hide";
signal: "elm,action,hide"; source: "elm";
action: STATE_SET "default" 0.0;
target: "base";
}
program { name: "bottomshow";
signal: "elm,action,slot,bottom,show"; source: "elm";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "bottom";
target: "elm.swallow.slot.bottom";
}
program { name: "bottomhide";
signal: "elm,action,slot,bottom,hide"; source: "elm";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.5;
target: "bottom";
target: "elm.swallow.slot.bottom";
}
}
}
*/

View File

@ -202,10 +202,17 @@ _elm_menu_smart_theme(Eo *obj, void *_pd, va_list *list)
Eina_List *l, *_l, *_ll, *ll = NULL;
Elm_Menu_Item *item;
const char *s;
char style[1024];
eo_do_super(obj, MY_CLASS, elm_wdg_theme_apply(&int_ret));
if (!int_ret) return;
if (sd->menu_bar)
snprintf(style, sizeof(style), "main_menu/%s", elm_widget_style_get(obj));
else
snprintf(style, sizeof(style), "menu/%s", elm_widget_style_get(obj));
elm_object_style_set(sd->hv, style);
ll = eina_list_append(ll, sd->items);
EINA_LIST_FOREACH(ll, _ll, l)
{
@ -226,6 +233,8 @@ _elm_menu_smart_theme(Eo *obj, void *_pd, va_list *list)
if (!elm_layout_theme_set(VIEW(item), "menu", s,
elm_widget_style_get(obj)))
CRI("Failed to set layout!");
snprintf(style, sizeof(style), "menu/%s", elm_widget_style_get(WIDGET(item)));
elm_object_style_set(item->submenu.hv, style);
elm_object_item_text_set((Elm_Object_Item *)item,
item->label);
@ -532,6 +541,7 @@ _item_submenu_obj_create(Elm_Menu_Item *item)
{
ELM_MENU_DATA_GET(WIDGET(item), sd);
Evas_Object *hv, *bx;
char style[1024];
item->submenu.location = elm_icon_add(sd->bx);
item->submenu.hv = hv = elm_hover_add(sd->bx);
@ -541,12 +551,16 @@ _item_submenu_obj_create(Elm_Menu_Item *item)
if (sd->menu_bar && !item->parent)
{
elm_object_style_set(hv, "main_menu_submenu");
snprintf(style, sizeof(style), "main_menu_submenu/%s", elm_widget_style_get(WIDGET(item)));
elm_object_style_set(hv, style);
evas_object_smart_callback_add(hv, "dismissed",
_hover_dismissed_cb, WIDGET(item));
}
else
elm_object_style_set(hv, "submenu");
{
snprintf(style, sizeof(style), "submenu/%s", elm_widget_style_get(WIDGET(item)));
elm_object_style_set(hv, style);
}
item->submenu.bx = bx = elm_box_add(sd->bx);
elm_widget_mirrored_set(bx, EINA_FALSE);
@ -602,7 +616,7 @@ _elm_menu_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
priv->hv = elm_hover_add(obj);
elm_widget_mirrored_set(priv->hv, EINA_FALSE);
elm_object_style_set(priv->hv, "menu");
elm_object_style_set(priv->hv, "menu/default");
evas_object_smart_callback_add(priv->hv, "dismissed",
_hover_dismissed_cb, obj);
@ -665,9 +679,9 @@ _elm_menu_menu_bar_set(Eo *obj, Eina_Bool menu_bar)
sd->menu_bar = menu_bar;
if (menu_bar)
elm_object_style_set(sd->hv, "main_menu");
elm_object_style_set(sd->hv, "main_menu/default");
else
elm_object_style_set(sd->hv, "menu");
elm_object_style_set(sd->hv, "menu/default");
EINA_LIST_FOREACH(sd->items, l, item)
{
@ -677,14 +691,14 @@ _elm_menu_menu_bar_set(Eo *obj, Eina_Bool menu_bar)
{
evas_object_smart_callback_add(item->submenu.hv, "clicked",
_hover_dismissed_cb, WIDGET(item));
elm_object_style_set(item->submenu.hv, "main_menu_submenu");
elm_object_style_set(item->submenu.hv, "main_menu_submenu/default");
}
else
{
evas_object_smart_callback_del_full(item->submenu.hv, "clicked",
_hover_dismissed_cb,
WIDGET(item));
elm_object_style_set(item->submenu.hv, "submenu");
elm_object_style_set(item->submenu.hv, "submenu/default");
}
}