From f238cb5a4e4c4ff3ee0bd58fb0853e05e0db3288 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Thu, 11 Sep 2014 11:28:30 +0900 Subject: [PATCH] tools: improve tools gui. --- data/themes/default/layout_common.edc | 8 +- data/themes/default/theme_ext.edc | 312 ++++++++++++++++++++++++++ src/bin/tools.c | 2 +- 3 files changed, 317 insertions(+), 5 deletions(-) diff --git a/data/themes/default/layout_common.edc b/data/themes/default/layout_common.edc index 837b752..07b7caf 100644 --- a/data/themes/default/layout_common.edc +++ b/data/themes/default/layout_common.edc @@ -10,7 +10,7 @@ images { image: "live_rel1_dragable.png" COMP; image: "live_rel2_dragable.png" COMP; image: "live_bg_glow_in.png" COMP; - image: "bevel_in.png" COMP; + image: "bevel_out.png" COMP; } styles { @@ -2165,7 +2165,7 @@ group { name: "main_layout"; description { state: "default" 0.0; rel1.relative: 0 0; rel2.relative: 1 0; - min: 0 26; + min: 0 23; fixed: 0 1; align: 0.5 1; } @@ -2191,8 +2191,8 @@ group { name: "main_layout"; description { state: "default" 0.0; rel1 { to: "tools_base"; } rel2 { to: "tools_base"; } - image.normal: "bevel_in.png"; - image.border: 3 3 3 3; + image.normal: "bevel_out.png"; + image.border: 1 1 1 1; image.border_scale: 1; } } diff --git a/data/themes/default/theme_ext.edc b/data/themes/default/theme_ext.edc index f45437d..7b75eae 100644 --- a/data/themes/default/theme_ext.edc +++ b/data/themes/default/theme_ext.edc @@ -1117,3 +1117,315 @@ group { name: "elm/panes/vertical/enventor"; } } } + +group { name: "elm/button/base/enventor"; +#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); + } + } + } + } + parts { + spacer { "base"; + desc { "default"; + rel1.offset: 0 0; + rel2.offset: 0 0; + } + } + rect { "icon_clip"; + desc { "default"; + } + desc { "disabled"; + inherit: "default"; + color: 255 255 255 64; + } + } + swallow { "elm.swallow.content"; nomouse; + clip_to: "icon_clip"; + desc { "default"; + fixed: 1 0; + align: 0.0 0.5; + rel1.offset: 0 4; + rel1.to: "base"; + rel2.relative: 0.0 1.0; + rel2.offset: 0 -5; + rel2.to: "base"; + max: 16 16; + visible: 0; + } + desc { "visible"; + inherit: "default"; + fixed: 1 0; + aspect: 1.0 1.0; + visible: 1; + } + desc { "icononly"; + inherit: "default"; + fixed: 0 0; + align: 0.5 0.5; + rel2.relative: 1.0 1.0; + rel2.offset: -1 -5; + visible: 1; + } + } + text { "sizer.content"; nomouse; + scale: 1; + desc { "default"; + visible: 0; + text { font: FN; size: 10; + min: 0 0; + text_class: "button_text"; + } + } + desc { "visible"; + inherit: "default"; + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + desc { "icononly"; + inherit: "default"; + rel1.to: "elm.swallow.content"; + rel2.to: "elm.swallow.content"; + text { + min: 1 1; + ellipsis: -1; + text: "M"; + } + } + } + text { "elm.text"; nomouse; + effect: GLOW; + scale: 1; + desc { "default"; + rel1.relative: 1.0 0.0; + rel1.to_x: "elm.swallow.content"; + rel1.to_y: "base"; + rel2.to: "base"; + color: COL_HI; + text { font: FN; size: 10; + align: 0.5 0.5; + min: 0 0; + text_class: "button_anchor"; + } + visible: 0; + } + desc { "visible"; + inherit: "default"; + rel1.offset: 2 0; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + desc { "textonly"; + inherit: "default"; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + desc { "disabled_visible"; + inherit: "default"; + rel1.offset: 0 0; + color_class: "button_text_anchor_disabled"; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + desc { "disabled_textonly"; + inherit: "default"; + color_class: "button_text_anchor_disabled"; + text.min: 1 1; + text.ellipsis: -1; + visible: 1; + } + } + text { "text2"; nomouse; + effect: GLOW; + scale: 1; + desc { "default"; + fixed: 1 1; + rel1.to: "elm.text"; + rel2.to: "elm.text"; + color: COL_HI; + text { font: FN; size: 10; + text_source: "elm.text"; + min: 1 1; + ellipsis: -1; + text_class: "button_anchor"; + } + visible: 0; + } + desc { "clicked"; + inherit: "default"; + visible: 1; + } + } + rect { "event"; + desc { "default"; + color: 0 0 0 0; + } + desc { "disabled"; + inherit: "default"; + visible: 0; + } + } + } + programs { + 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: "text2"; + } + program { + 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 "default" 0.0; + target: "base"; + target: "text2"; + } + program { + signal: "elm,anim,activate"; source: "elm"; + action: STATE_SET "clicked" 0.0; + target: "base"; + target: "text2"; + after: "button_unpressed_anim"; + } + program { name: "button_unpressed_anim"; + action: STATE_SET "default" 0.0; + in: 0.5 0.0; + target: "base"; + target: "text2"; + } + 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 +} diff --git a/src/bin/tools.c b/src/bin/tools.c index 3e2b226..95443c5 100644 --- a/src/bin/tools.c +++ b/src/bin/tools.c @@ -96,7 +96,7 @@ tools_btn_create(Evas_Object *parent, const char *icon, const char *label, Evas_Smart_Cb func, void *data) { Evas_Object *btn = elm_button_add(parent); - elm_object_style_set(btn, "anchor"); + elm_object_style_set(btn, "enventor"); elm_object_focus_allow_set(btn, EINA_FALSE); Evas_Object *img = elm_image_add(btn);