diff options
author | Jehun Lim <jehun.lim@samsung.com> | 2015-07-16 11:39:53 +0900 |
---|---|---|
committer | Jehun Lim <jehun.lim@samsung.com> | 2015-07-17 11:18:40 +0900 |
commit | 2e5e852a64185638b3760587a439d961f7b04f75 (patch) | |
tree | 81b3662351b147063058f44b8a370009cab3f083 /res | |
parent | f627ecde125adc633eeb5dfdbd50b24a5db49470 (diff) | |
download | air_mediahub-2e5e852a64185638b3760587a439d961f7b04f75.tar.gz air_mediahub-2e5e852a64185638b3760587a439d961f7b04f75.tar.bz2 air_mediahub-2e5e852a64185638b3760587a439d961f7b04f75.zip |
base: add selected state for menu button
Change-Id: Iff0a49345479a0eae0c8ea74c18dfc3a2cb4f51b
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
Diffstat (limited to 'res')
-rw-r--r-- | res/edc/widgets/button.edc | 135 |
1 files changed, 127 insertions, 8 deletions
diff --git a/res/edc/widgets/button.edc b/res/edc/widgets/button.edc index b8d6fb1..0b66c7a 100644 --- a/res/edc/widgets/button.edc +++ b/res/edc/widgets/button.edc @@ -14,13 +14,21 @@ * limitations under the License. */ +#define STATE_NORMAL 0 +#define STATE_FOCUSED 1 +#define STATE_SELECTED 2 + #define STATE_PLAY 0 #define STATE_PAUSE 1 + #define TRANSITION_TIME 0.17 group { name: "elm/button/base/base_btn_menu"; data.item: "focus_highlight" "on"; + script { + public cur_state; + } parts { part { name: "bg"; @@ -121,23 +129,58 @@ group { } } part { + name: "padding_bottom_left"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + rel1 { + to: "bg_left"; + relative: 0.0 1.0; + } + rel2 { + to: "bg_left"; + relative: 0.0 1.0; + } + min: 28 0; + align: 0.0 0.0; + fixed: 1 1; + } + } + part { + name: "padding_bottom_right"; + type: SPACER; + scale: 1; + description { + state: "default" 0.0; + rel1 { + to: "bg_right"; + relative: 1.0 1.0; + } + rel2.to: "bg_right"; + min: 28 0; + align: 1.0 1.0; + fixed: 1 1; + } + } + part { name: "bottom_line"; type: RECT; scale: 1; description { state: "default" 0.0; rel1 { - to: "bg"; - relative: 0.5 1.0; + to: "padding_bottom_left"; + relative: 1.0 1.0; } rel2 { - to: "bg"; - relative: 0.5 1.0; + to: "padding_bottom_right"; + relative: 0.0 1.0; } - min: 142 3; + min: 0 3; align: 0.5 1.0; color: 0 0 0 0; - fixed: 1 1; + fixed: 0 1; } description { state: "focused" 0.0; @@ -152,27 +195,103 @@ group { } programs { program { + name: "load"; + signal: "load"; + source: ""; + script { + set_int(cur_state, STATE_NORMAL); + } + } + program { name: "focused"; signal: "elm,action,focus"; source: "elm"; + script { + set_int(cur_state, STATE_FOCUSED); + set_state(PART:"bottom_line", "focused", 0.0); + run_program(PROGRAM:"focus,anim"); + } + } + program { + name: "focus,anim"; action: STATE_SET "focused" 0.0; target: "bg"; target: "bg_left"; target: "bg_right"; target: "elm.text"; - target: "bottom_line"; transition: LINEAR TRANSITION_TIME; } program { name: "unfocused"; signal: "elm,action,unfocus"; source: "elm"; + script { + new state; + state = get_int(cur_state); + set_int(cur_state, STATE_NORMAL); + if (state == STATE_SELECTED) { + set_state(PART:"bottom_line", "selected", 0.0); + run_program(PROGRAM:"unfocus,sel,anim"); + } else { + set_state(PART:"bottom_line", "default", 0.0); + run_program(PROGRAM:"unfocus,foc,anim"); + } + } + } + program { + name: "unfocus,sel,anim"; + action: STATE_SET "selected" 0.0; + target: "bg"; + target: "bg_left"; + target: "bg_right"; + target: "elm.text"; + transition: LINEAR TRANSITION_TIME; + } + program { + name: "unfocus,foc,anim"; + action: STATE_SET "default" 0.0; + target: "bg"; + target: "bg_left"; + target: "bg_right"; + target: "elm.text"; + transition: LINEAR TRANSITION_TIME; + } + program { + name: "selected"; + signal: SIG_BTN_SELECTED; + source: SIG_SOURCE_SRC; + script { + set_int(cur_state, STATE_SELECTED); + set_state(PART:"bottom_line", "selected", 0.0); + run_program(PROGRAM:"selected,anim"); + } + } + program { + name: "selected,anim"; + action: STATE_SET "selected" 0.0; + target: "bg"; + target: "bg_left"; + target: "bg_right"; + target: "elm.text"; + transition: LINEAR TRANSITION_TIME; + } + program { + name: "unselected"; + signal: SIG_BTN_UNSELECTED; + source: SIG_SOURCE_SRC; + script { + set_int(cur_state, STATE_NORMAL); + set_state(PART:"bottom_line", "default", 0.0); + run_program(PROGRAM:"unselected,anim"); + } + } + program { + name: "unselected,anim"; action: STATE_SET "default" 0.0; target: "bg"; target: "bg_left"; target: "bg_right"; target: "elm.text"; - target: "bottom_line"; transition: LINEAR TRANSITION_TIME; } } |