From 4f788c2b6253b08d7f546878ecd1b9779188d719 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Wed, 10 Jun 2015 09:21:27 +0200 Subject: [griffin.hmi] create a new style for button lists Signed-off-by: Olliver Schinagl --- data/themes/default/edc/elm/button.edc | 354 ++++++++++++++++++++++++++++++++- 1 file changed, 351 insertions(+), 3 deletions(-) diff --git a/data/themes/default/edc/elm/button.edc b/data/themes/default/edc/elm/button.edc index 8de9641..2f9dcf8 100644 --- a/data/themes/default/edc/elm/button.edc +++ b/data/themes/default/edc/elm/button.edc @@ -252,13 +252,361 @@ group { name: "elm/button/base/default"; } } programs { - program { name: "button_unfocus"; + program { + signal: "elm,action,unfocus"; source: "elm"; + action: STATE_SET "unfocus" 0.0; + target: "base"; + target: "elm.text"; + } + program { + signal: "elm,action,focus"; source: "elm"; + action: STATE_SET "focus" 0.0; + target: "base"; + target: "elm.text"; + } + program { + signal: "mouse,down,1"; source: "event"; + action: SIGNAL_EMIT "elm,action,press" "elm"; + after: "button_click_anim"; + } + program { name: "button_click_anim"; + action: STATE_SET "clicked" 0.0; + target: "base"; + target: "elm.text"; + } + program { name: "button_unclick"; + signal: "mouse,up,1"; source: "event"; + action: SIGNAL_EMIT "elm,action,unpress" "elm"; + after: "button_unclick_anim"; + } + program { name: "button_unclick_anim"; + action: STATE_SET "unclicked" 0.0; + target: "base"; + target: "elm.text"; + } + program { name: "button_activate"; + signal: "elm,anim,activate"; source: "elm"; + action: STATE_SET "clicked" 0.0; + target: "base"; + after: "button_unpressed_anim"; + } + program { name: "button_unpressed_anim"; + action: STATE_SET "default" 0.0; + in: 0.5 0.0; + target: "base"; + } + program { + signal: "mouse,clicked,1"; source: "event"; + action: SIGNAL_EMIT "elm,action,click" "elm"; + } + program { name: "button_text_visible"; + signal: "elm,state,text,visible"; source: "elm"; + script { + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_text_hidden"; + signal: "elm,state,text,hidden"; source: "elm"; + script { + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_icon_visible"; + signal: "elm,state,icon,visible"; source: "elm"; + script { + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_icon_hidden"; + signal: "elm,state,icon,hidden"; source: "elm"; + action: STATE_SET "default" 0.0; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_state_disabled"; + signal: "elm,state,disabled"; source: "elm"; + script { + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + program { name: "button_state_enabled"; + signal: "elm,state,enabled"; source: "elm"; + script { + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); + } + } + } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE +} + +group { name: "elm/button/base/list"; + images.image: "button_normal.png" COMP; + images.image: "button_outline.png" COMP; +#define ICON 1 +#define LABEL 2 +#define MASK 3 +#define DISABLE 4 + script { + public btmode; + public eval_mode(m) { + new m1 = m & MASK; + new d = m & DISABLE; + if (m1 == (ICON | LABEL)) { + if (!d) { + set_state(PART:"elm.swallow.content", "visible", 0.0); + set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"elm.text", "visible", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"elm.swallow.content", "visible", 0.0); + set_state(PART:"sizer.content", "visible", 0.0); + set_state(PART:"elm.text", "disabled_visible", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (ICON)) { + if (!d) { + set_state(PART:"elm.swallow.content", "icononly", 0.0); + set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"elm.text", "default", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"elm.swallow.content", "icononly", 0.0); + set_state(PART:"sizer.content", "icononly", 0.0); + set_state(PART:"elm.text", "default", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else if (m1 == (LABEL)) { + if (!d) { + set_state(PART:"elm.swallow.content", "default", 0.0); + set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"elm.text", "textonly", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"elm.swallow.content", "default", 0.0); + set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"elm.text", "disabled_textonly", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } else { + if (!d) { + set_state(PART:"elm.swallow.content", "default", 0.0); + set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"elm.text", "icononly", 0.0); + set_state(PART:"icon_clip", "default", 0.0); + set_state(PART:"event", "default", 0.0); + } else { + set_state(PART:"elm.swallow.content", "default", 0.0); + set_state(PART:"sizer.content", "default", 0.0); + set_state(PART:"elm.text", "icononly", 0.0); + set_state(PART:"icon_clip", "disabled", 0.0); + set_state(PART:"event", "disabled", 0.0); + } + } + } + } + styles { + style { name: "button_list_style_default"; + base: "font="FN" font_size=8 text_class=tb_plain color=#ffffffff align=auto"; + FN_TAG_BR; + } + style { name: "button_list_style_focused"; + base: "font="FN" font_size=8 text_class=tb_plain color=#000000ff align=auto"; + FN_TAG_BR; + } + style { name: "button_list_style_disabled"; + base: "font="FN" font_size=8 text_class=tb_plain color=#000000ff align=auto"; + FN_TAG_BR; + } + } + parts { + part { name: "base"; type: RECT; mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: 0 0; + rel2.offset: -1 -1; + color_class: "button_list"; + } + description { state: "focus" 0.0; + inherit: "default" 0.0; + color_class: "button_list_focus"; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + color_class: "button_list_focus"; + } + } + part { name: "icon_clip"; type: RECT; + description { state: "default" 0.0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + color: 0 0 0 255; + } + } + part { name: "elm.swallow.content"; type: SWALLOW; mouse_events: 0; + clip_to: "icon_clip"; + description { state: "default" 0.0; + fixed: 1 0; + align: 0.0 0.5; + rel1.to: "base"; + rel2.relative: 0.0 1.0; + rel2.to: "base"; + visible: 0; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + fixed: 1 0; + aspect: 1.0 1.0; + visible: 1; + } + description { state: "icononly" 0.0; + inherit: "default" 0.0; + fixed: 0 0; + align: 0.5 0.5; + rel2.relative: 1.0 1.0; + visible: 1; + } + } + part { name: "sizer.content"; type: TEXT; mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + visible: 0; + text { font: FN; size: 7; + min: 0 0; + text_class: "button_text"; + } + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + description { state: "icononly" 0.0; + inherit: "default" 0.0; + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + part { name: "elm.text"; type: TEXTBLOCK; mouse_events: 0; + description { state: "default" 0.0; + rel1.offset: 0 0; + rel1.relative: 1.0 0.0; + rel1.to_x: "elm.swallow.content"; + rel1.to_y: "base"; + rel2.offset: 0 0; + rel2.to: "base"; + text { + style: "button_list_style_default"; + min: 0 1; + } + visible: 0; + } + description { state: "unfocus" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { state: "focus" 0.0; + inherit: "default" 0.0; + text { + style: "button_list_style_focused"; + min: 0 1; + } + visible: 1; + } + description { state: "clicked" 0.0; + inherit: "default" 0.0; + text { + style: "button_list_style_focused"; + min: 0 1; + } + visible: 1; + } + description { state: "unclicked" 0.0; + inherit: "default" 0.0; + visible: 1; + } + description { state: "visible" 0.0; + inherit: "default" 0.0; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + description { state: "textonly" 0.0; + inherit: "default" 0.0; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + description { state: "disabled_visible" 0.0; + inherit: "default" 0.0; + text.min: 1 1; + text.ellipsis: -1; + text { + style: "button_list_style_disabled"; + min: 0 1; + } + visible: 1; + } + description { state: "disabled_textonly" 0.0; + inherit: "default" 0.0; + text.min: 1 1; + text.ellipsis: -1; + text { + style: "button_list_style_disabled"; + min: 0 1; + } + visible: 1; + } + } + part { name: "event"; type: RECT; + description { state: "default" 0.0; + color: 0 0 0 0; + } + description { state: "disabled" 0.0; + inherit: "default" 0.0; + visible: 0; + } + } + } + programs { + program { signal: "elm,action,unfocus"; source: "elm"; action: STATE_SET "unfocus" 0.0; target: "base"; target: "elm.text"; } - program { name: "button_focus"; + program { signal: "elm,action,focus"; source: "elm"; action: STATE_SET "focus" 0.0; target: "base"; @@ -284,7 +632,7 @@ group { name: "elm/button/base/default"; target: "base"; target: "elm.text"; } - program { name: "buttonactivate"; + program { name: "button_activate"; signal: "elm,anim,activate"; source: "elm"; action: STATE_SET "clicked" 0.0; target: "base"; -- cgit v0.12