raster pushed a commit to branch master. http://git.enlightenment.org/themes/dark.git/commit/?id=b49ff9f9eb8fa21b0a4d353aeabe47c323ce2eda
commit b49ff9f9eb8fa21b0a4d353aeabe47c323ce2eda Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> Date: Mon Oct 14 16:28:33 2013 +0900 naviframe done now for dark. --- edje/dark.edc | 1 - edje/edc/elm/button.edc | 2 +- edje/edc/elm/naviframe.edc | 1386 +++++++++++++++----------------------------- edje/img/shadow_vert.png | Bin 0 -> 118 bytes mock-18.xcf.gz | Bin 613251 -> 613251 bytes 5 files changed, 473 insertions(+), 916 deletions(-) diff --git a/edje/dark.edc b/edje/dark.edc index 480acb2..2513de6 100644 --- a/edje/dark.edc +++ b/edje/dark.edc @@ -58,7 +58,6 @@ collections { #include "edc/elm/layout.edc" // XXX: support multi progress (progressbar) #include "edc/elm/progress.edc" -// XXX: needs design work (naviframe) #include "edc/elm/naviframe.edc" #include "edc/elm/panel.edc" #include "edc/elm/popup.edc" diff --git a/edje/edc/elm/button.edc b/edje/edc/elm/button.edc index 71d91a4..6ec4056 100644 --- a/edje/edc/elm/button.edc +++ b/edje/edc/elm/button.edc @@ -117,7 +117,7 @@ group { name: "elm/button/base/default"; part { name: "sizer.content"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; - fixed: 1 1; +// fixed: 1 1; visible: 0; text { font: FN; size: 10; min: 0 0; diff --git a/edje/edc/elm/naviframe.edc b/edje/edc/elm/naviframe.edc index 0ce957e..a9633d4 100644 --- a/edje/edc/elm/naviframe.edc +++ b/edje/edc/elm/naviframe.edc @@ -1,1078 +1,636 @@ -#if 0 group { name: "elm/naviframe/item/basic/default"; + images.image: "vgrad_med_dark.png" COMP; + images.image: "bevel_out.png" COMP; + images.image: "shine.png" COMP; + images.image: "bevel_dark_out.png" COMP; + images.image: "shadow_vert.png" COMP; parts { - part { name: "elm.swallow.content"; type: SWALLOW; - description { state: "default" 0.0; - } - } - part { name: "access.title"; type: RECT; repeat_events: 1; - description { state: "default" 0.0; - fixed: 1 1; - color: 0 0 0 0; - } - } - part { name: "elm.swallow.prev_btn"; type: SWALLOW; - description { state: "default" 0.0; - } - description { state: "hidden" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } - part { name: "elm.swallow.next_btn"; type: SWALLOW; + // this set of limits and bottoms is evil - but it's a nasty construct + // allowing EITHER the title and subtitle texts OR the prev/next button + // swallows to control the lower bounds of the naviframe title, depending + // on which is taller +#define BOTTOMMAX() \ + part { name: "limit0"; type: SPACER; \ + description { state: "default" 0.0; \ + rel1.to_y: "title3"; \ + rel1.relative: 0.0 1.0; \ + rel2.to_y: "elm.swallow.next_btn"; \ + rel2.offset: -1 0; \ + align: 0.5 1.0; \ + fixed: 0 1; \ + limit: HEIGHT; \ + } \ + } \ + part { name: "limit1"; type: SPACER; \ + description { state: "default" 0.0; \ + rel1.to_y: "elm.swallow.next_btn"; \ + rel1.relative: 0.0 1.0; \ + rel2.to_y: "title3"; \ + rel2.offset: -1 0; \ + align: 0.5 1.0; \ + fixed: 0 1; \ + limit: HEIGHT; \ + } \ + } \ + part { name: "bottom0"; type: SPACER; \ + description { state: "default" 0.0; \ + rel1.to_y: "limit1"; \ + rel1.relative: 0.0 1.0; \ + rel2.to_y: "limit0"; \ + rel2.offset: -1 0; \ + align: 0.5 1.0; \ + fixed: 0 1; \ + limit: HEIGHT; \ + } \ + description { state: "other" 0.0; \ + inherit: "default" 0.0; \ + rel1.to_y: "limit0"; \ + rel2.to_y: "limit1"; \ + } \ + } \ + program { name: "pbot0"; \ + signal: "limit,height,zero"; source: "bottom0"; \ + script { \ + new st[31], Float:vl; \ + get_state(PART:"bottom0", st, 30, vl); \ + if (st[0] == 'd') set_state(PART:"bottom0", "other", 1.0); \ + else set_state(PART:"bottom0", "default", 1.0); \ + } \ + } \ + part { name: "limit2"; type: SPACER; \ + description { state: "default" 0.0; \ + rel1.to_y: "title3"; \ + rel1.relative: 0.0 1.0; \ + rel2.to_y: "elm.swallow.prev_btn"; \ + rel2.offset: -1 0; \ + align: 0.5 1.0; \ + fixed: 0 1; \ + limit: HEIGHT; \ + } \ + } \ + part { name: "limit3"; type: SPACER; \ + description { state: "default" 0.0; \ + rel1.to_y: "elm.swallow.prev_btn"; \ + rel1.relative: 0.0 1.0; \ + rel2.to_y: "title3"; \ + rel2.offset: -1 0; \ + align: 0.5 1.0; \ + fixed: 0 1; \ + limit: HEIGHT; \ + } \ + } \ + part { name: "bottom1"; type: SPACER; \ + description { state: "default" 0.0; \ + rel1.to_y: "limit3"; \ + rel1.relative: 0.0 1.0; \ + rel2.to_y: "limit2"; \ + rel2.offset: -1 0; \ + align: 0.5 1.0; \ + fixed: 0 1; \ + limit: HEIGHT; \ + } \ + description { state: "other" 0.0; \ + inherit: "default" 0.0; \ + rel1.to_y: "limit2"; \ + rel2.to_y: "limit3"; \ + } \ + } \ + program { name: "pbot1"; \ + signal: "limit,height,zero"; source: "bottom1"; \ + script { \ + new st[31], Float:vl; \ + get_state(PART:"bottom1", st, 30, vl); \ + if (st[0] == 'd') set_state(PART:"bottom1", "other", 1.0); \ + else set_state(PART:"bottom1", "default", 1.0); \ + } \ + } \ + part { name: "bottom"; type: SPACER; \ + description { state: "default" 0.0; \ + rel1.to_y: "bottom1"; \ + rel1.offset: 0 -1; \ + rel1.relative: 0.0 1.0; \ + rel2.to_y: "bottom0"; \ + align: 0.5 1.0; \ + fixed: 0 1; \ + limit: HEIGHT; \ + } \ + description { state: "other" 0.0; \ + inherit: "default" 0.0; \ + rel1.to_y: "bottom0"; \ + rel2.to_y: "bottom1"; \ + } \ + } \ + program { name: "pbot"; \ + signal: "limit,height,zero"; source: "bottom"; \ + script { \ + new st[31], Float:vl; \ + get_state(PART:"bottom", st, 30, vl); \ + if (st[0] == 'd') set_state(PART:"bottom", "other", 1.0); \ + else set_state(PART:"bottom", "default", 1.0); \ + } \ + } + BOTTOMMAX() + + part { name: "title1"; type: TEXT; + scale: 1; description { state: "default" 0.0; - } - description { state: "hidden" 0.0; - inherit: "default" 0.0; + rel1.relative: 0.0 0.0; + rel1.offset: 0 2; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + align: 0.5 0.0; + color: 255 255 255 255; + color3: 0 0 0 18; + text { font: FN; size: 8; + text: "X"; + text_class: "title_bar_sub"; + align: 0.5 0.0; + min: 0 1; + } + fixed: 0 1; visible: 0; } } - part { name: "elm.swallow.icon"; type: SWALLOW; - description { state: "default" 0.0; - } - } - part { name: "elm.text.title"; type: TEXT; + part { name: "title2"; type: TEXT; scale: 1; + effect: SOFT_SHADOW BOTTOM; description { state: "default" 0.0; + color_class: "border_title_active"; + rel1.to_y: "title1"; + rel1.relative: 0.0 1.0; + rel1.offset: 0 -1; + rel2.to_y: "title1"; + rel2.offset: -1 -1; + align: 0.5 0.0; + color: 255 255 255 255; + color3: 0 0 0 18; + text { font: FNBD; size: 10; + text: "X"; + text_class: "title_bar"; + align: 0.5 0.0; + min: 0 1; + } + fixed: 0 1; + visible: 0; } } - part { name: "elm.text.subtitle"; type: TEXT; + part { name: "title3"; type: TEXT; scale: 1; description { state: "default" 0.0; - } - } - } - programs { - program { - signal: "elm,state,visible"; source: "elm"; - } - program { - signal: "elm,state,title,show"; source: "elm"; - } - program { - signal: "elm,state,title,hide"; source: "elm"; - } - program { - signal: "elm,state,title_label,show"; source: "elm"; - } - program { - signal: "elm,state,title_label,hide"; source: "elm"; - } - program { - signal: "elm,state,prev_btn,show"; source: "elm"; - } - program { - signal: "elm,state,prev_btn,hide"; source: "elm"; - } - program { - signal: "elm,state,next_btn,show"; source: "elm"; - } - program { - signal: "elm,state,next_btn,hide"; source: "elm"; - } - -// action: SIGNAL_EMIT "elm,action,title,clicked" "elm"; - - /* current page is being pushed: [previous]<----[current] */ - program { - signal: "elm,state,cur,pushed"; source: "elm"; - after: "pushed2"; - } - program { name: "pushed2"; - action: SIGNAL_EMIT "elm,action,pushed,finished" "elm"; - } - - /* current page is being popped: [current]---->[next] */ - program { - signal: "elm,state,cur,popped"; source: "elm"; - after: "popped2"; - } - program { name: "popped2"; - action: SIGNAL_EMIT "elm,action,popped,finished" "elm"; - } - - /* new page is being pushed: [current]<----[next] */ - program { - signal: "elm,state,new,pushed"; source: "elm"; - after: "pushed3"; - } - program { name: "pushed3"; - action: SIGNAL_EMIT "elm,action,show,finished" "elm"; - } - - /* previous page is being pushed: [previous]---->[current] */ - program { - signal: "elm,state,prev,popped"; source: "elm"; - after: "popped3"; - } - program { name: "popped3"; - action: SIGNAL_EMIT "elm,action,show,finished" "elm"; - } - } -} - -group { name: "elm/naviframe/item/overlap/default"; - alias: "elm/naviframe/item/overlap/pager"; -// same as elm/naviframe/item/basic/default content -} -#endif - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#if 0 -group { name: "elm/naviframe/item/basic/default"; - alias: "elm/naviframe/item/basic/pager"; /**< this was remained for the backward compatibility */ - - images { - image: "naviframe-base.jpg" COMP; - } - - script { - public notitle = 0; - public noprev = 0; - public nonext = 0; - - public set_notitle(val) { - if (get_int(notitle) == val) return; - - set_int(notitle, val); - if (val) - set_state(PART:"elm.swallow.icon", "no-title", 0.0); - else - set_state(PART:"elm.swallow.icon", "default", 0.0); - } - - public apply_area() { - new np = get_int(noprev); - new nn = get_int(nonext); - - if ((!np) && (!nn)) - set_state(PART:"elements_area", "default", 0.0); - else if ((np) && (nn)) - set_state(PART:"elements_area", "full", 0.0); - else if (np) - set_state(PART:"elements_area", "no-prev", 0.0); - else if (nn) - set_state(PART:"elements_area", "no-next", 0.0); - } - - public set_noprev(val) { - if (get_int(noprev) == val) return; - - set_int(noprev, val); - if (val) - set_state(PART:"elm.swallow.prev_btn", "hidden", 0.0); - else - set_state(PART:"elm.swallow.prev_btn", "default", 0.0); - apply_area(); - } - - public set_nonext(val) { - if (get_int(nonext) == val) return; - - set_int(nonext, val); - if (val) - set_state(PART:"elm.swallow.next_btn", "hidden", 0.0); - else - set_state(PART:"elm.swallow.next_btn", "default", 0.0); - apply_area(); - } - } - - parts { - part { name: "title_clip"; - type: RECT; - description { state: "default" 0.0; - min: 1 55; - align: 0.0 0.0; + rel1.to_y: "title2"; + rel1.relative: 0.0 1.0; + rel1.offset: 0 -3; + rel2.to_y: "title2"; + rel2.offset: -1 -3; + align: 0.5 0.0; + color: 255 255 255 255; + color3: 0 0 0 18; + text { font: FN; size: 8; + text: "X"; + text_class: "title_bar_sub"; + align: 0.5 0.0; + min: 0 1; + } fixed: 0 1; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 0.0; } - } - description { state: "hide" 0.0; - inherit: "default" 0.0; - align: 0.0 1.0; visible: 0; } } - part { name: "content_clip"; - type: RECT; - mouse_events: 0; + + + part { name: "clip"; type: RECT; description { state: "default" 0.0; - rel1 { - to_y: "title_clip"; - relative: 0.0 1.0; - } } } - part { name: "elm.swallow.content"; - type: SWALLOW; - scale: 1; - clip_to: "content_clip"; + part { name: "base"; type: SPACER; description { state: "default" 0.0; - align: 0.0 0.0; - rel1.to: "content_clip"; - rel2.to: "content_clip"; } - description { state: "previous" 0.0; + description { state: "prev" 0.0; inherit: "default" 0.0; rel1.relative: -1.0 0.0; - rel2.relative: 0.0 1.0; + rel2.relative: 0.0 1.0; } description { state: "next" 0.0; inherit: "default" 0.0; - rel1.relative: 1.0 0.0; - rel2.relative: 2.0 1.0; + rel1.relative: 1.0 0.0; + rel2.relative: 2.0 1.0; } } - part { name: "elements_clip"; - type: RECT; - clip_to: "title_clip"; + part { name: "elm.swallow.content"; type: SWALLOW; + clip_to: "clip"; description { state: "default" 0.0; - rel1.to: "title_clip"; - rel2.to: "title_clip"; + rel1.to: "top"; + rel1.relative: 0.0 1.0; + rel2.to: "base"; } - description { state: "previous" 0.0; + description { state: "title-hidden" 0.0; inherit: "default" 0.0; - color: 255 255 255 0; - visible: 0; - rel1.relative: -1.0 0.0; - rel2.relative: 0.0 1.0; + rel1.to: "base"; + rel1.relative: 0.0 0.0; } - description { state: "next" 0.0; + } + part { name: "shadow"; mouse_events: 0; + description { state: "default" 0.0; + image.normal: "shadow_vert.png"; + rel1.to: "top"; + rel1.relative: 0.0 1.0; + rel2.to: "top"; + rel2.offset: -1 0; + fill.smooth: 0; + min: 0 20; + align: 0.5 0.0; + fixed: 1 1; + } + description { state: "title-hidden" 0.0; inherit: "default" 0.0; color: 255 255 255 0; visible: 0; - rel1.relative: 1.0 0.0; - rel2.relative: 2.0 1.0; } } - part { name: "title_base"; - type: IMAGE; - clip_to: "title_clip"; + part { name: "tophide0"; type: SPACER; description { state: "default" 0.0; - rel1.to: "elements_clip"; - rel2.to: "elements_clip"; - image { - normal: "naviframe-base.jpg"; - border: 0 0 0 2; - middle: SOLID; - } + rel1.to: "base"; + rel2.to_x: "base"; + rel2.to_y: "bottom"; } } - part { name: "access.title"; - type: RECT; - repeat_events: 1; + part { name: "tophide1"; type: SPACER; description { state: "default" 0.0; - fixed: 1 1; - rel1.to: "title_base"; - rel2.to: "title_base"; - color: 0 0 0 0; + rel1.to: "tophide0"; + rel1.relative: 0.0 -1.0; + rel2.to: "tophide0"; } } - part { name: "elements_area"; - type: RECT; - mouse_events: 0; - clip_to: "title_clip"; + part { name: "top"; + clip_to: "clip"; description { state: "default" 0.0; - color: 0 0 0 0; - fixed: 1 1; - rel1 { - to: "title_clip"; - relative: 0.0 0.0; - offset: 100 0; - } - rel2 { - to: "title_clip"; - relative: 1.0 1.0; - offset: -101 -1; - } - } - description { state: "full" 0.0; - inherit: "default" 0.0; - rel1.offset: 0 0; - rel2.offset: -1 -1; - } - description { state: "no-prev" 0.0; - inherit: "default" 0.0; - } - description { state: "no-next" 0.0; + color_class: "border_top"; + image.normal: "vgrad_med_dark.png"; + rel1.to: "base"; + rel2.to_x: "base"; + rel2.to_y: "bottom"; + fill.smooth: 0; + TILED_HORIZ(120) + } + description { state: "title-hidden" 0.0; inherit: "default" 0.0; + rel1.to: "tophide1"; + rel2.to: "base"; + rel2.relative: 1.0 0.0; } } - part { name: "elm.swallow.prev_btn"; - type: SWALLOW; - scale: 1; - clip_to: "elements_clip"; + part { name: "access.title"; type: RECT; repeat_events: 1; + clip_to: "clip"; description { state: "default" 0.0; - min: 40 40; - max: 100 40; - align: 0.0 0.5; fixed: 1 1; - rel1 { - to: "elements_clip"; - offset: 5 5; - } - rel2 { - to: "elements_clip"; - relative: 0.0 1.0; - offset: 5 -5; - } - } - description { state: "hidden" 0.0; - inherit: "default" 0.0; - visible: 0; + color: 0 0 0 0; + rel1.to: "top"; + rel2.to: "top"; } } - part { name: "elm.swallow.next_btn"; - type: SWALLOW; - scale: 1; - clip_to: "elements_clip"; + part { name: "bevel"; mouse_events: 0; + clip_to: "clip"; description { state: "default" 0.0; - min: 40 40; - max: 100 40; - align: 1.0 0.5; - fixed: 1 1; - rel1 { - to: "elements_clip"; - relative: 1.0 0.0; - offset: -5 5; - } - rel2 { - to: "elements_clip"; - offset: -5 -5; - } - } - description { state: "hidden" 0.0; - inherit: "default" 0.0; - visible: 0; + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; + image.middle: 0; + rel1.to: "top"; + rel2.to: "top"; + fill.smooth: 0; } } - part { name: "elm.swallow.icon"; - type: SWALLOW; + part { name: "elm.text.title"; type: TEXT; mouse_events: 0; scale: 1; + effect: SOFT_SHADOW BOTTOM; clip_to: "elements_clip"; description { state: "default" 0.0; - min: 40 40; - max: 40 40; - fixed: 1 1; - align: 1.0 0.5; - rel1.to: "elm.text.title"; - rel1.relative: 0 0; - rel2.to: "elm.text.title"; - rel2.relative: 0 1; - } - description { state: "no-title" 0.0; - inherit: "default"; + color_class: "border_title_active_sub"; + rel1.to_x: "base"; + rel1.to_y: "top"; + rel1.relative: 0.0 0.5; + rel2.offset: 0 -1; + rel2.to_x: "base"; + rel2.to_y: "top"; + rel2.relative: 1.0 0.5; align: 0.5 0.5; - max: 99999 40; - rel1 { - to: "elements_area"; - relative: 0.0 0.0; - } - rel2 { - to: "elements_area"; - relative: 1.0 1.0; - } - } - } - part { name: "elm.text.title"; - type: TEXT; - scale: 1; - repeat_events: 1; - clip_to: "elements_clip"; - description { state: "default" 0.0; - text { font: "Sans:style=Bold"; - size: 12; - size_range: 9 14; - fit: 1 1; - min: 0 0; - max: 1 0; + color: 255 255 255 255; + color3: 0 0 0 18; + text { font: FNBD; size: 10; + text_class: "title_bar"; align: 0.5 0.5; - ellipsis: 0.0; - } - color: 0 0 0 255; - align: 0.5 0.5; - rel1.to: "elements_area"; - rel2.to: "elements_area"; - } - } - part { name: "elm.text.subtitle"; - type: TEXT; - scale: 1; - repeat_events: 1; - clip_to: "elements_clip"; - description { state: "default" 0.0; - text { font: "Sans,Edje-Vera"; - size: 10; - min: 0 0; - max: 1 0; - align: 0.5 1; - } - rel1 { - to_y: "elm.text.title"; - to_x: "elements_area"; - relative: 0.0 1.0; - offset: 0 -3; + min: 0 1; } - rel2 { - to: "elements_area"; - offset: -1 -4; - } - color: 50 50 50 255; - align: 0.5 0.0; - } - } - } - programs { - program { name: "visible"; - signal: "elm,state,visible"; - source: "elm"; - action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - } - program { name: "title_show"; - signal: "elm,state,title,show"; - source: "elm"; - action: STATE_SET "default" 0.0; - target: "title_clip"; - } - program { name: "title_hide"; - signal: "elm,state,title,hide"; - source: "elm"; - action: STATE_SET "hide" 0.0; - target: "title_clip"; - } - program { name: "title_clicked"; - signal: "mouse,clicked,1"; - source: "title_base"; - action: SIGNAL_EMIT "elm,action,title,clicked" ""; - } - - program { - signal: "elm,state,title_label,show"; - source: "elm"; - script { - set_notitle(0); - } - } - program { - signal: "elm,state,title_label,hide"; - source: "elm"; - script { - set_notitle(1); - } - } - - program { - signal: "elm,state,prev_btn,show"; - source: "elm"; - script { - set_noprev(0); - } - } - program { - signal: "elm,state,prev_btn,hide"; - source: "elm"; - script { - set_noprev(1); - } - } - program { - signal: "elm,state,next_btn,show"; - source: "elm"; - script { - set_nonext(0); - } - } - program { - signal: "elm,state,next_btn,hide"; - source: "elm"; - script { - set_nonext(1); - } - } - - /* current page is being pushed: [previous]<----[current] */ - program { name: "cur_pushed_phase1"; - signal: "elm,state,cur,pushed"; - source: "elm"; - action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - after: "cur_pushed_phase2"; - } - program { name: "cur_pushed_phase2"; - action: STATE_SET "previous" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - transition: DECELERATE 0.5; - after: "cur_pushed_phase3"; - } - program { name: "cur_pushed_phase3"; - action: SIGNAL_EMIT "elm,action,pushed,finished" ""; - } - - /* current page is being popped: [current]---->[next] */ - program { name: "cur_popped_phase1"; - signal: "elm,state,cur,popped"; - source: "elm"; - action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - after: "cur_popped_phase2"; - } - program { name: "cur_popped_phase2"; - action: STATE_SET "next" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - transition: DECELERATE 0.5; - after: "cur_popped_phase3"; - } - program { name: "cur_popped_phase3"; - action: SIGNAL_EMIT "elm,action,popped,finished" ""; - } - - /* new page is being pushed: [current]<----[next] */ - program { name: "new_pushed_phase1"; - signal: "elm,state,new,pushed"; - source: "elm"; - action: STATE_SET "next" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - after: "new_pushed_phase2"; - } - program { name: "new_pushed_phase2"; - action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - transition: DECELERATE 0.5; - after: "new_pushed_phase3"; - } - program { name: "new_pushed_phase3"; - action: SIGNAL_EMIT "elm,action,show,finished" ""; - } - - /* previous page is being pushed: [previous]---->[current] */ - program { name: "prev_popped_phase1"; - signal: "elm,state,prev,popped"; - source: "elm"; - action: STATE_SET "previous" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - after: "prev_popped_phase2"; - } - program { name: "prev_popped_phase2"; - action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; - transition: DECELERATE 0.5; - after: "prev_popped_phase3"; - } - program { name: "prev_popped_phase3"; - action: SIGNAL_EMIT "elm,action,show,finished" ""; - } - } -} - - -/* same as elm/naviframe/base/default except: - * - title_base is translucent - * - contents follows below title - */ -group { name: "elm/naviframe/item/overlap/default"; - alias: "elm/naviframe/item/overlap/pager"; /**< this was remained for the backward compatibility */ - - images { - image: "naviframe-base.jpg" COMP; - } - - script { - public notitle = 0; - public noprev = 0; - public nonext = 0; - - public set_notitle(val) { - if (get_int(notitle) == val) return; - - set_int(notitle, val); - if (val) - set_state(PART:"elm.swallow.icon", "no-title", 0.0); - else - set_state(PART:"elm.swallow.icon", "default", 0.0); - } - - public apply_area() { - new np = get_int(noprev); - new nn = get_int(nonext); - - if ((!np) && (!nn)) - set_state(PART:"elements_area", "default", 0.0); - else if ((np) && (nn)) - set_state(PART:"elements_area", "full", 0.0); - else if (np) - set_state(PART:"elements_area", "no-prev", 0.0); - else if (nn) - set_state(PART:"elements_area", "no-next", 0.0); - } - - public set_noprev(val) { - if (get_int(noprev) == val) return; - - set_int(noprev, val); - if (val) - set_state(PART:"elm.swallow.prev_btn", "hidden", 0.0); - else - set_state(PART:"elm.swallow.prev_btn", "default", 0.0); - apply_area(); - } - - public set_nonext(val) { - if (get_int(nonext) == val) return; - - set_int(nonext, val); - if (val) - set_state(PART:"elm.swallow.next_btn", "hidden", 0.0); - else - set_state(PART:"elm.swallow.next_btn", "default", 0.0); - apply_area(); - } - } - - parts { - part { name: "title_clip"; - type: RECT; - description { state: "default" 0.0; - min: 1 55; - align: 0.0 0.0; fixed: 0 1; -color: 255 0 0 125; - rel1 { relative: 0.0 0.0; } - rel2 { relative: 1.0 0.0; } } - description { state: "hide" 0.0; + description { state: "hidden" 0.0; inherit: "default" 0.0; - align: 0.0 1.0; - } - } - part { name: "content_clip"; - type: RECT; - mouse_events: 0; - description { state: "default" 0.0; + visible: 0; } } - part { name: "elm.swallow.content"; - type: SWALLOW; + part { name: "elm.text.subtitle"; type: TEXT; mouse_events: 0; scale: 1; - clip_to: "content_clip"; + effect: SHADOW BOTTOM; + clip_to: "elements_clip"; description { state: "default" 0.0; - align: 0.0 0.0; - rel1.to: "content_clip"; - rel2.to: "content_clip"; - } - description { state: "previous" 0.0; - inherit: "default" 0.0; - rel1.relative: -1.0 0.0; - rel2.relative: 0.0 1.0; + rel1.to_x: "base"; + rel1.to_y: "elm.text.title"; + rel1.relative: 0.0 1.0; + rel1.offset: 0 -3; + rel2.to_x: "base"; + rel2.to_y: "elm.text.title"; + rel2.offset: -1 -3; + align: 0.5 0.0; + color: 255 255 255 255; + color3: 0 0 0 128; + text { font: FN; size: 8; + text_class: "title_bar_sub"; + align: 0.5 0.0; + min: 0 1; + } + fixed: 0 1; } - description { state: "next" 0.0; + description { state: "hidden" 0.0; inherit: "default" 0.0; - rel1.relative: 1.0 0.0; - rel2.relative: 2.0 1.0; + visible: 0; } } - part { name: "elements_clip"; - type: RECT; + part { name: "buttons_clip"; type: RECT; + clip_to: "elements_clip"; description { state: "default" 0.0; - rel1.to: "title_clip"; - rel2.to: "title_clip"; - } - description { state: "previous" 0.0; - inherit: "default" 0.0; - color: 255 255 255 0; - visible: 0; - rel1.relative: -1.0 0.0; - rel2.relative: 0.0 1.0; + rel1.to: "base"; + rel2.to: "base"; } - description { state: "next" 0.0; + description { state: "title-hidden" 0.0; inherit: "default" 0.0; - color: 255 255 255 0; visible: 0; - rel1.relative: 1.0 0.0; - rel2.relative: 2.0 1.0; - } - } - part { name: "title_base"; - type: IMAGE; - description { state: "default" 0.0; - rel1.to: "elements_clip"; - rel2.to: "elements_clip"; - color: 255 255 255 128; - image { - normal: "naviframe-base.jpg"; - border: 0 0 0 2; - middle: SOLID; - } - } - } - part { name: "access.title"; - type: RECT; - repeat_events: 1; - description { state: "default" 0.0; - fixed: 1 1; - rel1.to: "title_base"; - rel2.to: "title_base"; - color: 0 0 0 0; } } - part { name: "elements_area"; - type: RECT; - mouse_events: 0; - clip_to: "title_clip"; + part { name: "elm.swallow.next_btn"; type: SWALLOW; + scale: 1; + clip_to: "buttons_clip"; description { state: "default" 0.0; - color: 0 0 0 0; + rel1.to_x: "base"; +// rel1.to_y: "top"; + rel1.relative: 1.0 0.0; + rel1.offset: -3 2; + rel2.to_x: "base"; + rel2.to_y: "title3"; + rel2.offset: -3 -1; + align: 1.0 0.5; + min: 26 26; + max: 1 1; fixed: 1 1; - rel1 { - to: "title_clip"; - relative: 0.0 0.0; - offset: 100 0; - } - rel2 { - to: "title_clip"; - relative: 1.0 1.0; - offset: -101 -1; - } } - description { state: "full" 0.0; - inherit: "default" 0.0; - rel1.offset: 0 0; - rel2.offset: -1 -1; - } - description { state: "no-prev" 0.0; - inherit: "default" 0.0; - } - description { state: "no-next" 0.0; + description { state: "hidden" 0.0; inherit: "default" 0.0; + visible: 0; } } - part { name: "elm.swallow.prev_btn"; - type: SWALLOW; + part { name: "elm.swallow.prev_btn"; type: SWALLOW; scale: 1; - clip_to: "elements_clip"; + clip_to: "buttons_clip"; description { state: "default" 0.0; - min: 40 40; - max: 100 40; + rel1.to_x: "base"; +// rel1.to_y: "top"; + rel1.offset: 2 2; + rel2.relative: 0.0 1.0; + rel2.offset: 2 -1; + rel2.to_x: "base"; + rel2.to_y: "title3"; align: 0.0 0.5; + min: 26 26; + max: 1 1; fixed: 1 1; - rel1 { - to: "elements_clip"; - offset: 5 5; - } - rel2 { - to: "elements_clip"; - relative: 0.0 1.0; - offset: 5 -5; - } } description { state: "hidden" 0.0; inherit: "default" 0.0; visible: 0; } } - part { name: "elm.swallow.next_btn"; - type: SWALLOW; - scale: 1; + part { name: "elm.swallow.icon"; type: SWALLOW; clip_to: "elements_clip"; description { state: "default" 0.0; - min: 40 40; - max: 100 40; - align: 1.0 0.5; - fixed: 1 1; - rel1 { - to: "elements_clip"; - relative: 1.0 0.0; - offset: -5 5; - } - rel2 { - to: "elements_clip"; - offset: -5 -5; - } + rel1.to_x: "elm.swallow.prev_btn"; + rel1.to_y: "top"; + rel1.relative: 1.0 0.0; + rel1.offset: 2 2; + rel2.to_x: "elm.swallow.prev_btn"; + rel2.to_y: "top"; + rel2.offset: 2 -3; + aspect: 1.0 1.0; aspect_preference: VERTICAL; + align: 0.0 0.5; } description { state: "hidden" 0.0; inherit: "default" 0.0; - visible: 0; + rel1.to_x: "top"; + rel1.relative: 0.0 0.0; + rel2.to_x: "top"; + rel2.offset: -3 -3; + align: 0.5 0.5; } } - part { name: "elm.swallow.icon"; - type: SWALLOW; - scale: 1; + part { name: "shine"; mouse_events: 0; clip_to: "elements_clip"; description { state: "default" 0.0; - min: 40 40; - max: 40 40; - fixed: 1 1; - align: 1.0 0.5; - rel1.to: "elm.text.title"; - rel1.relative: 0 0; - rel2.to: "elm.text.title"; - rel2.relative: 0 1; - } - description { state: "no-title" 0.0; - inherit: "default"; - align: 0.5 0.5; - max: 99999 40; - rel1 { - to: "elements_area"; - relative: 0.0 0.0; - } - rel2 { - to: "elements_area"; - relative: 1.0 1.0; - } + image.normal: "shine.png"; + rel1.offset: 0 -2; + rel1.to: "top"; + rel2.relative: 1.0 0.0; + rel2.offset: -1 2; + rel2.to: "top"; + FIXED_SIZE(69, 5) } } - part { name: "elm.text.title"; - type: TEXT; - scale: 1; - repeat_events: 1; - clip_to: "elements_clip"; + part { name: "elements_clip"; type: RECT; + clip_to: "clip"; description { state: "default" 0.0; - text { font: "Sans:style=Bold"; - size: 12; - size_range: 9 14; - fit: 1 1; - min: 0 0; - max: 1 0; - align: 0.5 0.5; - ellipsis: 0.0; - } - color: 0 0 0 255; - align: 0.5 0.5; - rel1.to: "elements_area"; - rel2.to: "elements_area"; + rel1.to: "base"; + rel2.to: "base"; } - } - part { name: "elm.text.subtitle"; - type: TEXT; - scale: 1; - repeat_events: 1; - clip_to: "title_clip"; - description { state: "default" 0.0; - text { font: "Sans,Edje-Vera"; - size: 10; - min: 0 0; - max: 1 0; - align: 0.5 1; - } - rel1 { - to_y: "elm.text.title"; - to_x: "elements_area"; - relative: 0.0 1.0; - offset: 0 -3; - } - rel2 { - to: "elements_area"; - offset: -1 -4; - } - color: 50 50 50 255; - align: 0.5 0.0; + description { state: "hidden" 0.0; + inherit: "default" 0.0; + color: 255 255 255 0; + visible: 0; + } + description { state: "next" 0.0; + inherit: "hidden" 0.0; + } + description { state: "prev" 0.0; + inherit: "hidden" 0.0; } } } programs { - program { name: "visible"; - signal: "elm,state,visible"; - source: "elm"; + program { + signal: "elm,state,title,show"; source: "elm"; action: STATE_SET "default" 0.0; + transition: DECELERATE 0.5; + target: "top"; + target: "shadow"; target: "elm.swallow.content"; - target: "elements_clip"; + after: "titleshow2"; } - program { name: "title_show"; - signal: "elm,state,title,show"; - source: "elm"; + program { name: "titleshow2"; action: STATE_SET "default" 0.0; - transition: DECELERATE 0.5; - target: "title_clip"; + target: "buttons_clip"; } - program { name: "title_hide"; - signal: "elm,state,title,hide"; - source: "elm"; - action: STATE_SET "hide" 0.0; - target: "title_clip"; - transition: DECELERATE 0.5; + program { + signal: "elm,state,title,hide"; source: "elm"; + action: STATE_SET "title-hidden" 0.0; + target: "buttons_clip"; + after: "titlehide2"; + } + program { name: "titlehide2"; + action: STATE_SET "title-hidden" 0.0; + transition: ACCELERATE 0.5; + target: "top"; + target: "shadow"; + target: "elm.swallow.content"; } - program { name: "title_clicked"; - signal: "mouse,clicked,1"; - source: "title_base"; - action: SIGNAL_EMIT "elm,action,title,clicked" ""; + program { + signal: "elm,state,prev_btn,show"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.prev_btn"; } - program { - signal: "elm,state,title_label,show"; - source: "elm"; - script { - set_notitle(0); - } + signal: "elm,state,prev_btn,hide"; source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "elm.swallow.prev_btn"; } program { - signal: "elm,state,title_label,hide"; - source: "elm"; - script { - set_notitle(1); - } + signal: "elm,state,next_btn,show"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.next_btn"; } - program { - signal: "elm,state,prev_btn,show"; - source: "elm"; - script { - set_noprev(0); - } + signal: "elm,state,next_btn,hide"; source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "elm.swallow.next_btn"; } program { - signal: "elm,state,prev_btn,hide"; - source: "elm"; - script { - set_noprev(1); - } + signal: "mouse,clicked,1"; source: "top"; + action: SIGNAL_EMIT "elm,action,title,clicked" "elm"; } program { - signal: "elm,state,next_btn,show"; - source: "elm"; - script { - set_nonext(0); - } + signal: "elm,state,title_label,show"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "elm.swallow.icon"; + target: "elm.text.title"; + target: "elm.text.subtitle"; } program { - signal: "elm,state,next_btn,hide"; - source: "elm"; - script { - set_nonext(1); - } + signal: "elm,state,title_label,hide"; source: "elm"; + action: STATE_SET "hidden" 0.0; + target: "elm.swallow.icon"; + target: "elm.text.title"; + target: "elm.text.subtitle"; } - - /* current page is being pushed: [previous]<----[current] */ - program { name: "cur_pushed_phase1"; - signal: "elm,state,cur,pushed"; - source: "elm"; + program { + signal: "elm,state,visible"; source: "elm"; action: STATE_SET "default" 0.0; target: "elm.swallow.content"; target: "elements_clip"; - after: "cur_pushed_phase2"; } - program { name: "cur_pushed_phase2"; - action: STATE_SET "previous" 0.0; - target: "elm.swallow.content"; + + /* current page is being pushed: [previous]<----[current] */ + program { + signal: "elm,state,cur,pushed"; source: "elm"; + action: STATE_SET "default" 0.0; + target: "base"; target: "elements_clip"; - transition: DECELERATE 0.5; - after: "cur_pushed_phase3"; + after: "pushed2"; + } + program { name: "pushed2"; + action: STATE_SET "prev" 0.0; + transition: ACCELERATE 0.5; + target: "base"; + target: "elements_clip"; + after: "pushed3"; } - program { name: "cur_pushed_phase3"; - action: SIGNAL_EMIT "elm,action,pushed,finished" ""; + program { name: "pushed3"; + action: SIGNAL_EMIT "elm,action,pushed,finished" "elm"; } /* current page is being popped: [current]---->[next] */ - program { name: "cur_popped_phase1"; - signal: "elm,state,cur,popped"; - source: "elm"; + program { + signal: "elm,state,cur,popped"; source: "elm"; action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; + target: "base"; target: "elements_clip"; - after: "cur_popped_phase2"; + after: "popped2"; } - program { name: "cur_popped_phase2"; + program { name: "popped2"; action: STATE_SET "next" 0.0; - target: "elm.swallow.content"; + transition: ACCELERATE 0.5; + target: "base"; target: "elements_clip"; - transition: DECELERATE 0.5; - after: "cur_popped_phase3"; + after: "popped3"; } - program { name: "cur_popped_phase3"; - action: SIGNAL_EMIT "elm,action,popped,finished" ""; + program { name: "popped3"; + action: SIGNAL_EMIT "elm,action,popped,finished" "elm"; } /* new page is being pushed: [current]<----[next] */ - program { name: "new_pushed_phase1"; - signal: "elm,state,new,pushed"; - source: "elm"; + program { + signal: "elm,state,new,pushed"; source: "elm"; action: STATE_SET "next" 0.0; - target: "elm.swallow.content"; + target: "base"; target: "elements_clip"; - after: "new_pushed_phase2"; + after: "pushedb2"; } - program { name: "new_pushed_phase2"; + program { name: "pushedb2"; action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; transition: DECELERATE 0.5; - after: "new_pushed_phase3"; + target: "base"; + target: "elements_clip"; + after: "pushedb3"; } - program { name: "new_pushed_phase3"; - action: SIGNAL_EMIT "elm,action,show,finished" ""; + program { name: "pushedb3"; + action: SIGNAL_EMIT "elm,action,show,finished" "elm"; } /* previous page is being pushed: [previous]---->[current] */ - program { name: "prev_popped_phase1"; - signal: "elm,state,prev,popped"; - source: "elm"; - action: STATE_SET "previous" 0.0; - target: "elm.swallow.content"; + program { + signal: "elm,state,prev,popped"; source: "elm"; + action: STATE_SET "prev" 0.0; + target: "base"; target: "elements_clip"; - after: "prev_popped_phase2"; + after: "poppedb2"; } - program { name: "prev_popped_phase2"; + program { name: "poppedb2"; action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; - target: "elements_clip"; transition: DECELERATE 0.5; - after: "prev_popped_phase3"; + target: "base"; + target: "elements_clip"; + after: "poppedb3"; } - program { name: "prev_popped_phase3"; - action: SIGNAL_EMIT "elm,action,show,finished" ""; + program { name: "poppedb3"; + action: SIGNAL_EMIT "elm,action,show,finished" "elm"; + } + } +} + +group { name: "elm/naviframe/item/overlap/default"; + inherit: "elm/naviframe/item/basic/default"; + alias: "elm/naviframe/item/overlap/pager"; + parts { + // this is a hack around an edje_cc inherit bug - group doesnt seem + // to inherit properly with limits etc. + BOTTOMMAX() + + part { name: "elm.swallow.content"; + description { state: "default" 0.0; + rel1.to: "base"; + rel1.relative: 0.0 0.0; + } + } + part { name: "top"; + description { state: "default" 0.0; + color: 255 255 255 224; + } + description { state: "title-hidden" 0.0; + color: 255 255 255 224; + } } } } -#endif +#undef BOTTOMMAX diff --git a/edje/img/shadow_vert.png b/edje/img/shadow_vert.png new file mode 100644 index 0000000..4af2fbe Binary files /dev/null and b/edje/img/shadow_vert.png differ diff --git a/mock-18.xcf.gz b/mock-18.xcf.gz index 18b23e6..524e00f 100644 Binary files a/mock-18.xcf.gz and b/mock-18.xcf.gz differ --