Add title show/hide method. 51/65251/4
authorWoochan Lee <wc0917.lee@samsung.com>
Fri, 8 Apr 2016 05:39:06 +0000 (14:39 +0900)
committerWoochan Lee <wc0917.lee@samsung.com>
Wed, 20 Apr 2016 07:03:56 +0000 (16:03 +0900)
Change-Id: I637947178e532f4b258174fc51ad530a8471c3e3

data/edc/ui-viewmgr.edc
src/include/efl/mobile/ui_view.h
src/lib/efl/mobile/ui_view.cpp

index 9bb41ed..98af0fa 100644 (file)
@@ -835,6 +835,19 @@ collections {
             action: STATE_SET "hidden" 0.0;
             target: "clipper";
          }
+         program { "title_show_title_default";
+            action: STATE_SET "default" 0.0;
+            target: "title_bg";
+            target: "title_clipper";
+            transition: DECELERATE TRANSITION_TIME;
+         }
+         program { "title_show_anim";
+            signal: "elm,state,title,show,anim";
+            source: "viewmgr";
+            script {
+               run_program(PROGRAM:"title_show_title_default");
+            }
+         }
          program { "title_show";
             signal: "elm,state,title,show";
             source: "viewmgr";
@@ -859,7 +872,7 @@ collections {
                   set_state(PART:"title_right_btn", "visible", 0.0);
                   set_state(PART:"title_left_btn_bg", "visible", 0.0);
                   set_state(PART:"title_left_padding", "hidden", 0.0);
-                  if (get_int(prev_btn_visible) == 1){
+                  if (get_int(prev_btn_visible){
                      set_state(PART:"title_text_left_padding", "default", 0.0);
                      set_state(PART:"title_text_right_padding", "default", 0.0);
                   }
@@ -871,6 +884,20 @@ collections {
                }
             }
          }
+         program { "title_hide_title_hidden";
+            action: STATE_SET "hidden" 0.0;
+            target: "title_bg";
+            target: "title_clipper";
+            target: "elm.swallow.prev_btn";
+            transition: DECELERATE TRANSITION_TIME;
+         }
+         program { "title_hide_anim";
+            signal: "elm,state,title,hide,anim";
+            source: "viewmgr";
+            script {
+               run_program(PROGRAM:"title_hide_title_hidden");
+            }
+         }
          program { "title_hide";
             signal: "elm,state,title,hide";
             source: "viewmgr";
@@ -884,7 +911,7 @@ collections {
                set_state(PART:"title_right_padding", "default", 0.0);
                set_state(PART:"title_right_btn", "default", 0.0);
                set_state(PART:"elm.swallow.prev_btn", "hidden", 0.0);
-               if (get_int(prev_btn_visible) == 1){
+               if (get_int(prev_btn_visible)){
                   set_state(PART:"title_text_left_padding", "prev_btn_visible", 0.0);
                   set_state(PART:"title_text_right_padding", "prev_btn_visible", 0.0);
                }
index ccc3b2c..5f0c7aa 100644 (file)
@@ -79,6 +79,7 @@ public:
        bool set_title_right_btn(Elm_Button *title_right_btn);
        bool set_title(const char *text);
        bool set_toolbar(Elm_Toolbar *toolbar);
+       bool set_title_visible(bool visible, bool anim);
        Evas_Object *unset_content();
        Elm_Button *unset_title_left_btn();
        Elm_Button *unset_title_right_btn();
index c04ae84..1fb61ae 100644 (file)
@@ -477,3 +477,27 @@ Evas_Object *ui_view::get_base()
        }
        return this->layout;
 }
+
+bool ui_view::set_title_visible(bool visible, bool anim)
+{
+       //FIXME: save visible, anim value. they can be used in layout created time.
+       Elm_Layout *layout = this->get_base();
+       if (!layout)
+       {
+               LOGE("Layout is invalid! ui_view(%p)", this);
+               return false;
+       }
+
+       if (visible)
+       {
+               if (anim) elm_object_signal_emit(layout, "elm,state,title,show,anim", "viewmgr");
+               else elm_object_signal_emit(layout, "elm,state,title,show", "viewmgr");
+       }
+       else
+       {
+               if (anim) elm_object_signal_emit(layout, "elm,state,title,hide,anim", "viewmgr");
+               else elm_object_signal_emit(layout, "elm,state,title,hide", "viewmgr");
+       }
+
+       return true;
+}