From: Enlightenment S. <no-...@en...> - 2013-02-24 03:00:51
|
Log: make dark button work "right" for elm. Author: raster Date: 2013-02-23 19:00:30 -0800 (Sat, 23 Feb 2013) New Revision: 84327 Trac: http://trac.enlightenment.org/e/changeset/84327 Modified: trunk/THEMES/dark/edje/edc/elm/button.edc Modified: trunk/THEMES/dark/edje/edc/elm/button.edc =================================================================== --- trunk/THEMES/dark/edje/edc/elm/button.edc 2013-02-23 23:35:43 UTC (rev 84326) +++ trunk/THEMES/dark/edje/edc/elm/button.edc 2013-02-24 03:00:30 UTC (rev 84327) @@ -1,6 +1,66 @@ - group { name: "elm/button/base/default"; +group { name: "elm/button/base/default"; images.image: "button_normal.png" COMP; images.image: "button_clicked.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 { + set_state(PART:"elm.swallow.content", "default", 0.0); + set_state(PART:"sizer.content", "default", 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); + } + } + } parts { part { name: "base"; description { state: "default" 0.0; @@ -28,27 +88,32 @@ 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.offset: 6 5; rel1.to: "base"; rel2.relative: 0.0 1.0; rel2.offset: 6 -8; rel2.to: "base"; + visible: 0; } description { state: "visible" 0.0; inherit: "default" 0.0; - aspect: 1.0 1.0; aspect_preference: VERTICAL; + fixed: 1 0; + aspect: 1.0 1.0; + visible: 1; } description { state: "icononly" 0.0; inherit: "default" 0.0; - min: 17 17; - aspect: 1.0 1.0; aspect_preference: BOTH; + fixed: 0 0; align: 0.5 0.5; rel2.relative: 1.0 1.0; rel2.offset: -7 -8; + visible: 1; } } part { name: "sizer.content"; type: TEXT; mouse_events: 0; + effect: SHADOW BOTTOM; scale: 1; description { state: "default" 0.0; visible: 0; @@ -76,20 +141,12 @@ } } } - part { name: "label_clip"; type: RECT; - description { state: "default" 0.0; - } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - visible: 0; - } - } part { name: "elm.text"; type: TEXT; mouse_events: 0; effect: SHADOW BOTTOM; scale: 1; - clip_to: "label_clip"; description { state: "default" 0.0; - rel1.offset: 6 5; + rel1.offset: 0 5; + rel1.relative: 1.0 0.0; rel1.to_x: "elm.swallow.content"; rel1.to_y: "base"; rel2.offset: -7 -7; @@ -104,6 +161,17 @@ } visible: 0; } + description { state: "visible" 0.0; + inherit: "default" 0.0; + rel1.offset: 2 5; + text.min: 1 1; + visible: 1; + } + description { state: "textonly" 0.0; + inherit: "default" 0.0; + text.min: 1 1; + visible: 1; + } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 21 21 21 255; @@ -112,41 +180,19 @@ } description { state: "disabled_visible" 0.0; inherit: "default" 0.0; + rel1.offset: 2 5; color: 21 21 21 255; color3: 255 255 255 25; color_class: "button_text_disabled"; text.min: 1 1; visible: 1; } - description { state: "visible" 0.0; + description { state: "disabled_textonly" 0.0; inherit: "default" 0.0; - rel1.relative: 1.0 0.0; - rel1.offset: 2 5; - text.min: 1 1; - visible: 1; - } - } - part { name: "label2"; type: TEXT; mouse_events: 0; - effect: SHADOW BOTTOM; - scale: 1; - description { state: "default" 0.0; - rel1.to: "elm.text"; - rel2.to: "elm.text"; color: 21 21 21 255; color3: 255 255 255 25; color_class: "button_text_disabled"; - text { font: "Sans"; size: 10; - text_source: "elm.text"; - align: 0.5 0.5; - text_class: "button"; - } - visible: 0; - } - description { state: "disabled" 0.0; - inherit: "default" 0.0; - } - description { state: "disabled_visible" 0.0; - inherit: "default" 0.0; + text.min: 1 1; visible: 1; } } @@ -162,24 +208,8 @@ } } programs { -/* program { signal: "mouse,down,1"; source: "event"; - action: STATE_SET "clicked" 0.0; - target: "base"; - } - program { - signal: "mouse,up,1"; source: "event"; - action: STATE_SET "default" 0.0; - target: "base"; - } - program { - signal: "mouse,clicked,1*"; source: "event"; - action: SIGNAL_EMIT "elm,action,click" ""; - } - */ - program { - signal: "mouse,down,1"; source: "event"; action: SIGNAL_EMIT "elm,action,press" ""; after: "button_click_anim"; } @@ -214,144 +244,55 @@ program { signal: "elm,state,text,visible"; source: "elm"; script { - new st[31]; - new Float:vl; - get_state(PART:"elm.swallow.content", st, 30, vl); - if (!strcmp(st, "icononly")) { - set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); - } - get_state(PART:"elm.text", st, 30, vl); - if (!strcmp(st, "disabled") || (!strcmp(st, "disabled_visible"))) { - set_state(PART:"label2", "disabled_visible", 0.0); - set_state(PART:"elm.text", "disabled_visible", 0.0); - } else { - set_state(PART:"label2", "visible", 0.0); - set_state(PART:"elm.text", "visible", 0.0); - } + new m = get_int(btmode); + m |= LABEL; set_int(btmode, m); + eval_mode(m); } } program { signal: "elm,state,text,hidden"; source: "elm"; script { - new st[31]; - new Float:vl; - get_state(PART:"elm.swallow.content", st, 30, vl); - if (!strcmp(st, "visible")) { - 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:"label2", "default", 0.0); + new m = get_int(btmode); + m &= ~LABEL; set_int(btmode, m); + eval_mode(m); } } program { signal: "elm,state,icon,visible"; source: "elm"; script { - new st[31]; - new Float:vl; - get_state(PART:"elm.text", st, 30, vl); - if (!strcmp(st, "visible")) { - set_state(PART:"elm.swallow.content", "visible", 0.0); - set_state(PART:"sizer.content", "visible", 0.0); - } - else { - set_state(PART:"elm.swallow.content", "icononly", 0.0); - set_state(PART:"sizer.content", "icononly", 0.0); - } + new m = get_int(btmode); + m |= ICON; set_int(btmode, m); + eval_mode(m); } } program { signal: "elm,state,icon,hidden"; source: "elm"; action: STATE_SET "default" 0.0; - target: "elm.swallow.content"; - target: "sizer.content"; + script { + new m = get_int(btmode); + m &= ~ICON; set_int(btmode, m); + eval_mode(m); + } } program { signal: "elm,state,disabled"; source: "elm"; script { - new st[31]; - new Float:vl; - set_state(PART:"event", "disabled", 0.0); - set_state(PART:"icon_clip", "disabled", 0.0); - set_state(PART:"label_clip", "disabled", 0.0); - get_state(PART:"elm.text", st, 30, vl); - if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) { - set_state(PART:"elm.text", "disabled_visible", 0.0); - set_state(PART:"label2", "disabled_visible", 0.0); - } else { - set_state(PART:"elm.text", "disabled", 0.0); - set_state(PART:"label2", "disabled", 0.0); - } + new m = get_int(btmode); + m |= DISABLE; set_int(btmode, m); + eval_mode(m); } } program { signal: "elm,state,enabled"; source: "elm"; script { - new st[31]; - new Float:vl; - set_state(PART:"event", "visible", 0.0); - set_state(PART:"icon_clip", "visible", 0.0); - set_state(PART:"label_clip", "visible", 0.0); - get_state(PART:"elm.text", st, 30, vl); - if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) { - set_state(PART:"elm.text", "visible", 0.0); - set_state(PART:"label2", "visible", 0.0); - } else { - set_state(PART:"elm.text", "default", 0.0); - set_state(PART:"label2", "default", 0.0); - } + new m = get_int(btmode); + m &= ~DISABLE; set_int(btmode, m); + eval_mode(m); } } -/* - program { - signal: "mouse,down,1"; source: "event"; - action: STATE_SET "clicked" 0.0; - target: "base"; - } - program { - signal: "mouse,up,1"; source: "event"; - action: STATE_SET "default" 0.0; - target: "base"; - } - program { - signal: "mouse,clicked,1*"; source: "event"; - action: SIGNAL_EMIT "elm,action,click" ""; - } - program { - signal: "e,state,text"; source: "e"; - action: STATE_SET "default" 0.0; - target: "e.swallow.icon"; - target: "e.text.label"; - } - program { - signal: "e,state,icon"; source: "e"; - action: STATE_SET "icon" 0.0; - target: "e.swallow.icon"; - target: "e.text.label"; - } - program { - signal: "e,state,combo"; source: "e"; - action: STATE_SET "combo" 0.0; - target: "e.swallow.icon"; - target: "e.text.label"; - } - program { - signal: "e,state,disabled"; source: "e"; - action: STATE_SET "disabled" 0.0; - target: "event"; - target: "icon_clip"; - target: "label_clip"; - target: "label2"; - } - program { - signal: "e,state,enabled"; source: "e"; - action: STATE_SET "default" 0.0; - target: "event"; - target: "icon_clip"; - target: "label_clip"; - target: "label2"; - } - */ } +#undef ICON +#undef LABEL +#undef MASK +#undef DISABLE } |