From f1f9608fe56e6464bce0812e75eb15e88316ae40 Mon Sep 17 00:00:00 2001 From: Jiyoun Park Date: Tue, 27 Aug 2013 15:43:18 +0900 Subject: [PATCH] app1 and app2 cannot show different indicator state. now conformant deal with indicator show/hide, for this theme have to be change Change-Id: Ie94161455f5b1b34f01683969d4077b693be2009 --- themes/widgets/conformant.edc | 141 +++++++++++++++++++++++++++--------------- 1 file changed, 90 insertions(+), 51 deletions(-) diff --git a/themes/widgets/conformant.edc b/themes/widgets/conformant.edc index 0c18397..d1297b0 100644 --- a/themes/widgets/conformant.edc +++ b/themes/widgets/conformant.edc @@ -20,6 +20,7 @@ ///////////////////////////////////////////////////////////////////////////// group { name: "elm/conformant/base/default"; script { + public indicator_effect = 0; //Indicator need effect public indicator_visible = 0; //Indicator visible check public indicator_opacity = 0; //0=opaque, 1=translucent, 2=transparent public indicator_overlap = 0; //check indicator overlap/nooverlap @@ -122,10 +123,6 @@ inherit: "default" 0.0; color: CONFORMANT_INDICATOR_BG_TRANSLUCENT_COLOR_INC; } - description { state: "transparent" 0.0; - inherit: "default" 0.0; - color: CONFORMANT_INDICATOR_BG_TRANSPARENT_COLOR_INC; - } } part { name: "elm.swallow.indicator"; type: SWALLOW; @@ -169,6 +166,13 @@ rel1.relative: 0.0 1.0; } } + part { name: "elm.swallow.indicator_event"; + type: SWALLOW; + description { state: "default" 0.0; + rel1 { relative: 0.0 0.0; to: "indicator_base"; } + rel2 { relative: 1.0 1.0; to: "indicator_base"; } + } + } } programs { program { @@ -179,16 +183,18 @@ set_int(indicator_visible, 1); set_state(PART:"indicator_base", "default", 0.0); //it is possible app call show after opacity call - if (get_int(landscape) == 0) {//portrait + /////Portrait + if (get_int(landscape) == 0) { if (get_int(indicator_opacity) == 0) - set_state(PART:"indicator_bg", "opaque", 0.0); + run_program(PROGRAM:"opaque_state"); if (get_int(indicator_opacity) == 1) - set_state(PART:"indicator_bg", "translucent", 0.0); - if (get_int(indicator_opacity) == 2) - set_state(PART:"indicator_bg", "transparent", 0.0); + run_program(PROGRAM:"translucent_state"); + if (get_int(indicator_opacity) == 2) + run_program(PROGRAM:"transparent_state"); } - else - set_state(PART:"indicator_bg", "transparent", 0.0); + /////Landscape + else + run_program(PROGRAM:"transparent_state"); } } program { @@ -201,17 +207,67 @@ } } program { + name: "show_indicator_transition"; //show indicator using effect + action: STATE_SET "default" 0.0; + target: "indicator_clipper"; + transition: DECELERATE 0.5; + } + program { + name: "hide_indicator_transition"; //show indicator using effect + action: STATE_SET "hide" 0.0; + target: "indicator_clipper"; + transition: DECELERATE 0.5; + } + program { + name: "show_indicator_effect"; //show indicator using effect + signal: "indicator,show,effect"; + source: "elm"; + script { + if (get_int(indicator_visible) == 1) + run_program(PROGRAM:"show_indicator_transition"); + } + } + program { + name: "hide_indicator_effect"; //show indicator using effect + signal: "indicator,hide,effect"; + source: "elm"; + script { + if (get_int(indicator_visible) == 1) + run_program(PROGRAM:"hide_indicator_transition"); + } + } + program { + name: "opaque_state"; + script { + set_state(PART:"indicator_bg", "default", 0.0); + set_state(PART:"indicator_clipper", "default", 0.0); + set_state(PART:"indicator_overlap_base", "default", 0.0); + } + } + program { + name: "translucent_state"; + script { + set_state(PART:"indicator_bg", "translucent", 0.0); + set_state(PART:"indicator_clipper", "default", 0.0); + set_state(PART:"indicator_overlap_base", "overlap", 0.0); + } + } + program { + name: "transparent_state"; + script { + set_state(PART:"indicator_bg", "default", 0.0); + set_state(PART:"indicator_clipper", "hide", 0.0); + set_state(PART:"indicator_overlap_base", "overlap", 0.0); + } + } + program { name: "opaque_indicator"; signal: "elm,state,indicator,opaque"; source: "elm"; script { - set_int(indicator_opacity, 0); - //Only portrait can show opaque mode - if (get_int(indicator_visible) == 1) - { - if (get_int(landscape) == 0) - set_state(PART:"indicator_bg", "opaque", 0.0); - } + set_int(indicator_opacity, 0); + if ((get_int(indicator_visible) == 1) && (get_int(landscape) == 0)) + run_program(PROGRAM:"opaque_state"); } } program { @@ -220,14 +276,8 @@ source: "elm"; script { set_int(indicator_opacity, 1); - if (get_int(indicator_visible) == 1) - { - set_state(PART:"indicator_overlap_base", "overlap", 0.0); - if (get_int(landscape) == 0) - set_state(PART:"indicator_bg", "transparent", 0.0); - else - set_state(PART:"indicator_bg", "translucent", 0.0); - } + if ((get_int(indicator_visible) == 1) && (get_int(landscape) == 0)) + run_program(PROGRAM:"translucent_state"); } } program { @@ -237,16 +287,13 @@ script { set_int(indicator_opacity, 2); if (get_int(indicator_visible) == 1) - { - set_state(PART:"indicator_overlap_base", "overlap", 0.0); - set_state(PART:"indicator_bg", "transparent", 0.0); - } + run_program(PROGRAM:"transparent_state"); } } program { name: "overlap_indicator"; signal: "elm,state,indicator,overlap"; - source: ""; + source: "elm"; script { set_int(indicator_overlap, 1); set_state(PART:"indicator_overlap_base", "overlap", 0.0); @@ -255,7 +302,7 @@ program { name: "nooverlap_indicator"; signal: "elm,state,indicator,nooverlap"; - source: ""; + source: "elm"; script { //Only portrait state get nooverlap mode set_int(indicator_overlap, 0); @@ -315,12 +362,10 @@ signal: "elm,state,landscape"; source: "elm"; script { - if (get_int(indicator_visible) == 1) { - if (get_int(landscape) == 0) { - set_int(landscape, 1); - set_state(PART:"indicator_overlap_base", "overlap", 0.0); - set_state(PART:"indicator_bg", "translucent", 0.0); - } + if (get_int(landscape) == 0) { + set_int(landscape, 1); + if (get_int(indicator_visible) == 1) + run_program(PROGRAM:"transparent_state"); } } } @@ -332,18 +377,12 @@ if (get_int(indicator_visible) == 1) { if (get_int(landscape) == 1) { //content start (0, indicator height) set_int(landscape, 0); - if ((get_int(indicator_overlap) == 0) && (get_int(indicator_opacity) == 0)) { - set_state(PART:"indicator_overlap_base", "default", 0.0); - } - else { - set_state(PART:"indicator_overlap_base", "overlap", 0.0); - } - if (get_int(indicator_opacity) == 2) //transparent - set_state(PART:"indicator_bg", "transparent", 0.0); - else if (get_int(indicator_opacity) == 1) //translucent - set_state(PART:"indicator_bg", "translucent", 0.0); - else - set_state(PART:"indicator_bg", "default", 0.0); + if (get_int(indicator_opacity) == 2) + run_program(PROGRAM:"transparent_state"); + else if (get_int(indicator_opacity) == 1) + run_program(PROGRAM:"translucent_state"); + else + run_program(PROGRAM:"opaque_state"); } } } @@ -441,7 +480,7 @@ min: 0 LAYOUT_INDICATOR_HEIGHT_INC; rel2.relative: 1.0 0.0; visible: 1; - color: CONFORMANT_INDICATOR_BG_TRANSPARENT_COLOR_INC; + color: CONFORMANT_INDICATOR_BG_DEFAULT_COLOR_INC; } description { state: "hide" 0.0; inherit: "default" 0.0; -- 2.7.4