Fix build break and add ui_app_event_callback. 58/73458/7
authorWoochan Lee <wc0917.lee@samsung.com>
Wed, 8 Jun 2016 07:28:39 +0000 (16:28 +0900)
committerWoochan Lee <wc0917.lee@samsung.com>
Wed, 8 Jun 2016 09:52:00 +0000 (18:52 +0900)
Change-Id: Ib2a75098dbdc8afdb719886a0820bd216d2f08c6

src/examples/efl/c/main.cpp
src/include/efl/mobile/c/ui_app.h
src/include/efl/mobile/c/ui_menu.h
src/include/efl/mobile/c/ui_popup.h
src/include/efl/mobile/c/ui_view.h
src/include/efl/mobile/c/ui_viewmgr.h
src/lib/efl/mobile/c/ui_app.cpp
src/lib/efl/mobile/c/ui_menu.cpp
src/lib/efl/mobile/c/ui_popup.cpp
src/lib/efl/mobile/c/ui_view.cpp
src/lib/efl/mobile/c/ui_viewmgr.cpp

index ed6b5ff620a6c73b393759082327fa2c7f693242..c155c8dc31e467c63957806a3f66a8cde123b83b 100644 (file)
@@ -309,7 +309,7 @@ view16_title_hide_anim_btn_clicked_cb(void *data, Evas_Object *obj, void *event_
        ui_standard_view_title_visible_set(view, false, true);
 }
 
-static void
+static bool
 view16_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -320,6 +320,8 @@ view16_load_cb(ui_view *view, void *data)
                        view16_title_show_anim_btn_clicked_cb, view16_title_hide_anim_btn_clicked_cb, view);
 
        ui_standard_view_content_set(view, content, "Page16", NULL, NULL, NULL);
+
+       return true;
 }
 
 static void
@@ -350,7 +352,7 @@ view15_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page16();
 }
 
-static void
+static bool
 view15_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -365,6 +367,8 @@ view15_load_cb(ui_view *view, void *data)
        evas_object_smart_callback_add(right_btn, "clicked", view15_btn_clicked_cb, NULL);
 
        ui_standard_view_title_right_btn_set(view, right_btn);
+
+       return true;
 }
 
 static void
@@ -401,7 +405,7 @@ view14_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page15();
 }
 
-static void
+static bool
 view14_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -410,6 +414,8 @@ view14_load_cb(ui_view *view, void *data)
                        view14_prev_btn_clicked_cb, view14_next_btn_clicked_cb);
 
        ui_standard_view_content_set(view, content, "Page14", NULL, NULL, NULL);
+
+       return true;
 }
 
 static void
@@ -447,7 +453,7 @@ view13_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page14();
 }
 
-static void
+static bool
 view13_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -456,6 +462,8 @@ view13_load_cb(ui_view *view, void *data)
                        view13_prev_btn_clicked_cb, view13_next_btn_clicked_cb);
 
        ui_standard_view_content_set(view, content, "Page13", NULL, NULL, NULL);
+
+       return true;
 }
 
 static void
@@ -537,7 +545,7 @@ view12_btn_clicked(void *data, Evas_Object *obj, void *event_info)
        ui_popup_activate(popup);
 }
 
-static void
+static bool
 view12_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -553,6 +561,8 @@ view12_load_cb(ui_view *view, void *data)
        evas_object_smart_callback_add(right_btn, "clicked", view12_btn_clicked, view);
 
        ui_standard_view_title_right_btn_set(view, right_btn);
+
+       return true;
 }
 
 static void
@@ -588,7 +598,7 @@ view11_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page12();
 }
 
-static void
+static bool
 view11_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -597,6 +607,8 @@ view11_load_cb(ui_view *view, void *data)
                        view11_prev_btn_clicked_cb, view11_next_btn_clicked_cb);
 
        ui_standard_view_content_set(view, content, "Page11", NULL, NULL, NULL);
+
+       return true;
 }
 
 static void ctxpopup_item_select_cb(void *data, Evas_Object *obj, void *event_info)
@@ -606,7 +618,7 @@ static void ctxpopup_item_select_cb(void *data, Evas_Object *obj, void *event_in
        LOGE("Item (%s) is selected", elm_object_item_text_get(it));
 }
 
-static void
+static bool
 view11_menu_cb(ui_menu *menu, void *data)
 {
        Elm_Ctxpopup *ctxpopup = elm_ctxpopup_add(menu->get_base());
@@ -621,6 +633,8 @@ view11_menu_cb(ui_menu *menu, void *data)
        elm_ctxpopup_item_append(ctxpopup, "Dialer", NULL, ctxpopup_item_select_cb, NULL);
 
        ui_menu_content_set(menu, ctxpopup);
+
+       return true;
 }
 
 
@@ -667,7 +681,7 @@ view10_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page11();
 }
 
-static void
+static bool
 view10_rotate_cb(ui_view *view, int degree, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -688,12 +702,16 @@ view10_rotate_cb(ui_view *view, int degree, void *data)
                ui_standard_view_content_set(view, content, "Page10", NULL, NULL, NULL);
                ui_view_indicator_set(view, UI_VIEW_INDICATOR_OPTIMAL);
        }
+
+       return true;
 }
 
-static void
+static bool
 view10_load_cb(ui_view *view, void *data)
 {
        view10_rotate_cb(view, ui_view_degree_get(view), data);
+
+       return true;
 }
 
 static void
@@ -738,7 +756,7 @@ view9_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page10();
 }
 
-static void
+static bool
 view9_portrait_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -748,9 +766,11 @@ view9_portrait_cb(ui_view *view, void *data)
 
        ui_standard_view_content_set(view, content, "Page9", NULL, NULL, NULL);
        ui_view_indicator_set(view, UI_VIEW_INDICATOR_DEFAULT);
+
+       return true;
 }
 
-static void
+static bool
 view9_landscape_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -760,15 +780,19 @@ view9_landscape_cb(ui_view *view, void *data)
 
        ui_standard_view_content_set(view, content, "Page9", NULL, NULL, NULL);
        ui_view_indicator_set(view, UI_VIEW_INDICATOR_OPTIMAL);
+
+       return true;
 }
 
-static void
+static bool
 view9_load_cb(ui_view *view, void *data)
 {
        if (ui_view_degree_get(view) == 90 || ui_view_degree_get(view) == 270)
                view9_landscape_cb(view, data);
        else
                view9_portrait_cb(view, data);
+
+       return true;
 }
 
 static void
@@ -825,7 +849,7 @@ create_page8()
        Evas_Object *content = create_content(base_layout, "ViewMgr Demo<br>Content Preload",
                        view8_prev_btn_clicked_cb, view8_next_btn_clicked_cb);
 
-       ui_view_removable_content(view, false);
+       ui_view_removable_content_set(view, false);
        ui_standard_view_content_set(view, content, "Page8", NULL, NULL, NULL);
 
        UI_VIEWMGR_VIEW_PUSH(view);
@@ -847,7 +871,7 @@ view7_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page8();
 }
 
-static void
+static bool
 view7_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -858,6 +882,8 @@ view7_load_cb(ui_view *view, void *data)
        ui_standard_view_content_set(view, content, "Page7", NULL, NULL, NULL);
        Elm_Toolbar *toolbar = create_toolbar(base_layout, "navigationbar");
        ui_standard_view_toolbar_set(view, toolbar);
+
+       return true;
 }
 
 static void
@@ -894,7 +920,7 @@ view6_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page7();
 }
 
-static void
+static bool
 view6_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -905,6 +931,8 @@ view6_load_cb(ui_view *view, void *data)
        ui_standard_view_content_set(view, content, "Page6", NULL, NULL, NULL);
        Elm_Toolbar *toolbar = create_toolbar(base_layout, "toolbar_with_title");
        ui_standard_view_toolbar_set(view, toolbar);
+
+       return true;
 }
 
 static void
@@ -940,10 +968,9 @@ view5_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page6();
 }
 
-static void
+static bool
 view5_load_cb(ui_view *view, void *data)
 {
-       LOGE("view5 load!");
        Evas_Object *base_layout = ui_view_base_get(view);
 
        Evas_Object *content = create_content(base_layout, "ViewMgr Demo<br>Full View",
@@ -951,6 +978,8 @@ view5_load_cb(ui_view *view, void *data)
 
        ui_view_content_set(view, content);
        ui_view_indicator_set(view, UI_VIEW_INDICATOR_HIDE);
+
+       return true;
 }
 
 static void
@@ -987,7 +1016,7 @@ view4_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page5();
 }
 
-static void
+static bool
 view4_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -997,6 +1026,8 @@ view4_load_cb(ui_view *view, void *data)
 
        ui_standard_view_content_set(view, content, "Page4 We put a long title here intentionally", NULL, NULL, NULL);
        ui_standard_view_title_badge_set(view, "999+");
+
+       return true;
 }
 
 static void
@@ -1032,7 +1063,7 @@ view3_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page4();
 }
 
-static void
+static bool
 view3_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -1041,6 +1072,8 @@ view3_load_cb(ui_view *view, void *data)
                        view3_prev_btn_clicked_cb, view3_next_btn_clicked_cb);
 
        ui_standard_view_content_set(view, content, "Page3", "Subtitle", NULL, NULL);
+
+       return true;
 }
 
 static void
@@ -1078,7 +1111,7 @@ view2_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page3();
 }
 
-static void
+static bool
 view2_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -1095,6 +1128,8 @@ view2_load_cb(ui_view *view, void *data)
        elm_object_text_set(right_title_btn, "Done");
 
        ui_standard_view_content_set(view, content, "Page2", NULL, left_title_btn, right_title_btn);
+
+       return true;
 }
 
 static void
@@ -1131,7 +1166,7 @@ view1_next_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info)
        create_page2();
 }
 
-static void
+static bool
 view1_load_cb(ui_view *view, void *data)
 {
        Evas_Object *base_layout = ui_view_base_get(view);
@@ -1140,6 +1175,8 @@ view1_load_cb(ui_view *view, void *data)
                        view1_prev_btn_clicked_cb, view1_next_btn_clicked_cb);
 
        ui_standard_view_content_set(view, content, "Page1", NULL, NULL, NULL);
+
+       return true;
 }
 
 static void
@@ -1175,16 +1212,16 @@ main(int argc, char *argv[])
        appdata_s ad = {0,};
        int ret = 0;
 
-       ui_app_lifecycle_callback_s event_callback = {0,};
+       ui_app_lifecycle_callback_s lifecycle_callback = {0,};
 
        ret = ui_app_init(PACKAGE, LOCALE_DIR);
        if (!ret) {
                dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_init() is failed. err = %d", ret);
        }
 
-       event_callback.create = app_create;
+       lifecycle_callback.create = app_create;
 
-       ret = ui_app_run(argc, argv, &event_callback, &ad);
+       ret = ui_app_run(argc, argv, &lifecycle_callback, NULL, &ad);
        if (ret != APP_ERROR_NONE) {
                dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_run() is failed. err = %d", ret);
        }
index ecb698b5fcc6c7d82f50c139d8d513169a35c239..9394d38ee099f4fb5cc7eae433d2b01f588d316a 100644 (file)
@@ -7,9 +7,25 @@ namespace efl_viewmanager
 #ifdef __cplusplus
 extern "C" {
 #endif
+       typedef void (*ui_app_event_low_battery_cb) (app_event_info_h event_info, void *data);
+       typedef void (*ui_app_event_low_memory_cb) (app_event_info_h event_info, void *data);
+       typedef void (*ui_app_event_orient_changed_cb) (app_event_info_h event_info, void *data);
+       typedef void (*ui_app_event_lang_changed_cb) (app_event_info_h event_info, void *data);
+       typedef void (*ui_app_event_region_changed_cb) (app_event_info_h event_info, void *data);
+
+       typedef struct
+       {
+               ui_app_event_low_battery_cb low_battery;
+               ui_app_event_low_memory_cb low_memory;
+               ui_app_event_orient_changed_cb orient_changed;
+               ui_app_event_lang_changed_cb lang_changed;
+               ui_app_event_region_changed_cb region_changed;
+       } ui_app_event_callback_s;
+
        bool ui_app_init(const char *pkg, const char *locale_dir);
 
-       int ui_app_run(int argc, char **argv, ui_app_lifecycle_callback_s *event_callback, void *data);
+       int ui_app_run(int argc, char **argv, ui_app_lifecycle_callback_s *lifecycle_callback,
+                          ui_app_event_callback_s *event_callback, void *data);
 
        ui_viewmgr *ui_app_viewmgr_get();
 
index ece2dca100172bbcc4b95c091712a0e70301f83c..6ca55b5d0c8213bbf0a095c62ff2b4799ea4e6a7 100644 (file)
@@ -8,7 +8,7 @@ namespace efl_viewmananger
 extern "C" {
 #endif
        bool ui_menu_content_set(ui_menu *menu, Elm_Ctxpopup *ctxpopup);
-       Elm_Ctxpopup ui_menu_content_get(ui_menu *menu);
+       Elm_Ctxpopup *ui_menu_content_get(ui_menu *menu);
        Elm_Ctxpopup *ui_menu_content_unset(ui_menu *menu);
 
        bool ui_menu_activate(ui_menu *menu);
index 36679fe3a5076585fb7542774b7f010d8e4da793..738a8bcdb9e913cf2b067a77e9a3c2678fd0568f 100644 (file)
@@ -11,7 +11,7 @@ extern "C" {
        void ui_popup_del(ui_popup *popup);
 
        bool ui_popup_content_set(ui_popup *popup, Elm_Popup *elm_popup);
-       Elm_Popup ui_popup_content_get(ui_popup *popup);
+       Elm_Popup *ui_popup_content_get(ui_popup *popup);
        Elm_Popup *ui_popup_content_unset(ui_popup *popup);
 
        bool ui_popup_activate(ui_popup *popup);
index e664ea229490897d3d0edf465d0e84860bb31ac6..9484817a5fb41708f1d58921ec131cfd478b73f1 100644 (file)
@@ -7,19 +7,19 @@ namespace efl_viewmananger
 #ifdef __cplusplus
 extern "C" {
 #endif
-       typedef void (*ui_view_lifecycle_load_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_lifecycle_unload_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_lifecycle_pause_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_lifecycle_resume_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_lifecycle_activate_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_lifecycle_deactivate_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_lifecycle_destroy_cb) (ui_view *view, void *data);
-
-       typedef void (*ui_view_event_rotate_cb) (ui_view *view, int degree, void *data);
-       typedef void (*ui_view_event_portrait_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_event_landscape_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_event_back_cb) (ui_view *view, void *data);
-       typedef void (*ui_view_event_menu_cb) (ui_menu *menu, void *data);
+       typedef bool (*ui_view_lifecycle_load_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_lifecycle_unload_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_lifecycle_pause_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_lifecycle_resume_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_lifecycle_activate_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_lifecycle_deactivate_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_lifecycle_destroy_cb) (ui_view *view, void *data);
+
+       typedef bool (*ui_view_event_rotate_cb) (ui_view *view, int degree, void *data);
+       typedef bool (*ui_view_event_portrait_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_event_landscape_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_event_back_cb) (ui_view *view, void *data);
+       typedef bool (*ui_view_event_menu_cb) (ui_menu *menu, void *data);
 
        typedef struct
        {
@@ -60,7 +60,7 @@ extern "C" {
        bool ui_view_transition_style_set(ui_view *view, const char *style);
        const char *ui_view_transition_style_get(ui_view *view);
 
-       ui_menu *ui_view_menu_get(ui_view *view);
+       const ui_menu *ui_view_menu_get(ui_view *view);
 
        bool ui_view_name_set(ui_view *view, const char *name);
        const char *ui_view_name_get(ui_view *view);
@@ -84,16 +84,16 @@ extern "C" {
        bool ui_standard_view_title_badge_set(ui_view *view, const char *badge_text);
 
        bool ui_standard_view_title_right_btn_set(ui_view *view, Evas_Object *title_right_btn);
-       Elm_Button ui_standard_view_title_right_btn_get(ui_view *view);
-       Elm_Button ui_standard_view_title_right_btn_unset(ui_view *view);
+       Elm_Button *ui_standard_view_title_right_btn_get(ui_view *view);
+       Elm_Button *ui_standard_view_title_right_btn_unset(ui_view *view);
 
        bool ui_standard_view_title_left_btn_set(ui_view *view, Evas_Object *title_left_btn);
-       Elm_Button ui_standard_view_title_left_btn_get(ui_view *view);
-       Elm_Button ui_standard_view_title_left_btn_unset(ui_view *view);
+       Elm_Button *ui_standard_view_title_left_btn_get(ui_view *view);
+       Elm_Button *ui_standard_view_title_left_btn_unset(ui_view *view);
 
        bool ui_standard_view_toolbar_set(ui_view *view, Elm_Toolbar *toolbar);
-       Elm_toolbar ui_standard_view_toolbar_get(ui_view *view);
-       Elm_toolbar ui_standard_view_toolbar_unset(ui_view *view);
+       Elm_Toolbar *ui_standard_view_toolbar_get(ui_view *view);
+       Elm_Toolbar *ui_standard_view_toolbar_unset(ui_view *view);
 
        bool ui_standard_view_title_visible_set(ui_view *view, bool visible, bool anim);
 
index b0adb553e9f8d48f8882d590f1bf2d73a4a7b729..ec3667cbedfd33d52786b33b39e2a43835f0ed9a 100644 (file)
@@ -14,9 +14,9 @@ extern "C" {
        bool ui_viewmgr_activate(ui_viewmgr *viewmgr);
        bool ui_viewmgr_deactivate(ui_viewmgr *viewmgr);
 
-       Elm_Win ui_viewmgr_window_get(ui_viewmgr *viewmgr);
+       Elm_Win *ui_viewmgr_window_get(ui_viewmgr *viewmgr);
 
-       Elm_Conformant ui_viewmgr_conformant_get(ui_viewmgr *viewmgr);
+       Elm_Conformant *ui_viewmgr_conformant_get(ui_viewmgr *viewmgr);
 
        ui_view *ui_viewmgr_last_view_get(ui_viewmgr *viewmgr);
 
index 564b2d1c76ca7a7a9fcae30dbe100505b71259fb..04ee5c3842ab71c768b8d43aeeb91f7fb110e4c2 100644 (file)
@@ -6,7 +6,8 @@ using namespace efl_viewmanager;
 class ui_app_capi : public ui_app
 {
 private:
-       ui_app_lifecycle_callback_s capi_event_callback;
+       ui_app_lifecycle_callback_s capi_lifecycle_callback;
+       ui_app_event_callback_s capi_event_callback;
        void *data;
 
 protected:
@@ -17,36 +18,66 @@ protected:
                        return false;
                }
 
-               if (this->capi_event_callback.create)
-                       this->capi_event_callback.create(this->data);
+               if (this->capi_lifecycle_callback.create)
+                       this->capi_lifecycle_callback.create(this->data);
 
                return true;
        }
 
        void on_terminate()
        {
-               if (this->capi_event_callback.terminate)
-                       this->capi_event_callback.terminate(this->data);
+               if (this->capi_lifecycle_callback.terminate)
+                       this->capi_lifecycle_callback.terminate(this->data);
        }
 
        void on_pause()
        {
-               if (this->capi_event_callback.pause)
-                       this->capi_event_callback.pause(this->data);
+               if (this->capi_lifecycle_callback.pause)
+                       this->capi_lifecycle_callback.pause(this->data);
        }
 
        void on_resume()
        {
-               if (this->capi_event_callback.resume)
-                       this->capi_event_callback.resume(this->data);
+               if (this->capi_lifecycle_callback.resume)
+                       this->capi_lifecycle_callback.resume(this->data);
        }
 
        void on_control(app_control_h app_control)
        {
                ui_app::on_control(app_control);
 
-               if (this->capi_event_callback.app_control)
-                       this->capi_event_callback.app_control(app_control, this->data);
+               if (this->capi_lifecycle_callback.app_control)
+                       this->capi_lifecycle_callback.app_control(app_control, this->data);
+       }
+
+       void on_low_battery(app_event_info_h event_info)
+       {
+               if (this->capi_event_callback.low_battery)
+                       this->capi_event_callback.low_battery(event_info, this->data);
+       }
+
+       void on_low_memory(app_event_info_h event_info)
+       {
+               if (this->capi_event_callback.low_memory)
+                       this->capi_event_callback.low_memory(event_info, this->data);
+       }
+
+       void on_orient_changed(app_event_info_h event_info)
+       {
+               if (this->capi_event_callback.orient_changed)
+                       this->capi_event_callback.orient_changed(event_info, this->data);
+       }
+
+       void on_lang_changed(app_event_info_h event_info)
+       {
+               if (this->capi_event_callback.lang_changed)
+                       this->capi_event_callback.lang_changed(event_info, this->data);
+       }
+
+       void on_region_changed(app_event_info_h event_info)
+       {
+               if (this->capi_event_callback.region_changed)
+                       this->capi_event_callback.region_changed(event_info, this->data);
        }
 
 public:
@@ -59,15 +90,24 @@ public:
        {
        }
 
-       int run(int argc, char **argv, ui_app_lifecycle_callback_s *event_callback, void *data)
+       int run(int argc, char **argv, ui_app_lifecycle_callback_s *lifecycle_callback,
+                 ui_app_event_callback_s *event_callback, void *data)
        {
-               this->capi_event_callback = *event_callback;
+               if (lifecycle_callback)
+                       this->capi_lifecycle_callback = *lifecycle_callback;
+               if (event_callback)
+                       this->capi_event_callback = *event_callback;
                this->data = data;
 
                return ui_app::run(argc, argv);
        }
 
        ui_app_lifecycle_callback_s get_app_lifecycle_callback()
+       {
+               return this->capi_lifecycle_callback;
+       }
+
+       ui_app_event_callback_s get_app_event_callback()
        {
                return this->capi_event_callback;
        }
@@ -89,9 +129,10 @@ extern "C" {
                else return false;
        }
 
-       int ui_app_run(int argc, char **argv, ui_app_lifecycle_callback_s *event_callback, void *data)
+       int ui_app_run(int argc, char **argv, ui_app_lifecycle_callback_s *lifecycle_callback,
+                          ui_app_event_callback_s *event_callback, void *data)
        {
-               return app->run(argc, argv, event_callback, data);
+               return app->run(argc, argv, lifecycle_callback, event_callback, data);
        }
 
        ui_viewmgr *ui_app_viewmgr_get()
index 088feb41d3279ec1040e25ad39776f06973bd535..a654a4fcc3c09a20ba48a2aafff219d2fdf1bff4 100644 (file)
@@ -15,7 +15,7 @@ extern "C" {
                return menu->set_content(ctxpopup);
        }
 
-       Elm_Ctxpopup ui_menu_content_get(ui_menu *menu)
+       Elm_Ctxpopup *ui_menu_content_get(ui_menu *menu)
        {
                if (!menu)
                {
@@ -100,7 +100,7 @@ extern "C" {
                        return NULL;
                }
 
-               return menu->get_view();
+               return static_cast<ui_view *>(menu->get_view());
        }
 }
 
index efecba2aa6c431eaf5c1eea44242bbea2aaf2b3b..40a4fb38df3afa3c4fc9681c42f9783fd54e697c 100644 (file)
@@ -37,7 +37,7 @@ extern "C" {
                return popup->set_content(elm_popup);
        }
 
-       Elm_Popup ui_popup_content_get(ui_popup *popup)
+       Elm_Popup *ui_popup_content_get(ui_popup *popup)
        {
                if (!popup)
                {
@@ -122,6 +122,6 @@ extern "C" {
                        return NULL;
                }
 
-               return popup->get_view();
+               return static_cast<ui_view *>(popup->get_view());
        }
 }
index 604a802274ecb066a7e7bb0cdc3397e6cb3431c9..0d2cd482f5dd9618dfd9ba698b0321d44a3e12f6 100644 (file)
@@ -18,40 +18,109 @@ private:
 protected:
        void on_load()
        {
-               ui_standard_view::on_load();
-
                if (this->lifecycle_callback.load) {
-                       this->lifecycle_callback.load(this, this->lifecycle_data);
+                       if (this->lifecycle_callback.load(this, this->lifecycle_data)) {
+                               ui_standard_view::on_load();
+                       }
+               }
+       }
+
+       void on_unload()
+       {
+               if (this->lifecycle_callback.unload) {
+                       if (this->lifecycle_callback.unload(this, this->lifecycle_data)) {
+                               ui_standard_view::on_unload();
+                       }
+               }
+       }
+
+       void on_pause()
+       {
+               if (this->lifecycle_callback.pause) {
+                       if (this->lifecycle_callback.pause(this, this->lifecycle_data)) {
+                               ui_standard_view::on_pause();
+                       }
+               }
+       }
+
+       void on_resume()
+       {
+               if (this->lifecycle_callback.resume) {
+                       if (this->lifecycle_callback.resume(this, this->lifecycle_data)) {
+                               ui_standard_view::on_resume();
+                       }
+               }
+       }
+
+       void on_activate()
+       {
+               if (this->lifecycle_callback.activate) {
+                       if (this->lifecycle_callback.activate(this, this->lifecycle_data)) {
+                               ui_standard_view::on_activate();
+                       }
+               }
+       }
+
+       void on_deactivate()
+       {
+               if (this->lifecycle_callback.deactivate) {
+                       if (this->lifecycle_callback.deactivate(this, this->lifecycle_data)) {
+                               ui_standard_view::on_deactivate();
+                       }
+               }
+       }
+
+       void on_destroy()
+       {
+               if (this->lifecycle_callback.destroy) {
+                       if (this->lifecycle_callback.destroy(this, this->lifecycle_data)) {
+                               ui_standard_view::on_destroy();
+                       }
                }
        }
 
        void on_portrait()
        {
                if (this->event_callback.portrait) {
-                       this->event_callback.portrait(this, this->event_data);
+                       if (this->event_callback.portrait(this, this->event_data)) {
+                               ui_standard_view::on_portrait();
+                       }
                }
        }
 
        void on_landscape()
        {
                if (this->event_callback.landscape) {
-                       this->event_callback.landscape(this, this->event_data);
+                       if (this->event_callback.landscape(this, this->event_data)) {
+                               ui_standard_view::on_landscape();
+                       }
                }
        }
 
        void on_rotate(int degree)
        {
                if (this->event_callback.rotate) {
-                       this->event_callback.rotate(this, degree,this->event_data);
+                       if (this->event_callback.rotate(this, degree,this->event_data)) {
+                               ui_standard_view::on_rotate(degree);
+                       }
                }
        }
 
-       void on_menu(ui_menu *menu)
+       void on_back()
        {
-               ui_standard_view::on_menu(menu);
+               if (this->event_callback.back) {
+                       if (this->event_callback.back(this, this->event_data)) {
+                               ui_standard_view::on_back();
+                       }
+               }
+       }
 
+       void on_menu(ui_menu *menu)
+       {
                if (this->event_callback.menu) {
-                       this->event_callback.menu(menu, this->event_data);
+                       if (this->event_callback.menu(menu, this->event_data)) {
+                               ui_standard_view::on_menu(menu);
+                       }
                }
        }
 
@@ -288,7 +357,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
                if (!view)
                {
                        LOGE("Invalid View");
-                       return -1;
+                       return UI_VIEW_INDICATOR_LAST;
                }
 
                return view->get_indicator();
@@ -349,7 +418,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
                return view->get_transition_style();
        }
 
-       ui_menu *ui_view_menu_get(ui_view *view)
+       const ui_menu *ui_view_menu_get(ui_view *view)
        {
                if (!view)
                {
@@ -389,7 +458,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
                if (!view)
                {
                        LOGE("Invalid View");
-                       return -1;
+                       return UI_VIEW_STATE_LAST;
                }
 
                return view->get_state();
@@ -440,7 +509,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
 
                ui_standard_view_capi *capi_view = static_cast<ui_standard_view_capi *>(view);
 
-               return capi_view->set_sutitle(text);
+               return capi_view->set_title(text);
        }
 
        bool ui_standard_view_sub_title_set(ui_view *view, const char *text)
@@ -453,7 +522,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
 
                ui_standard_view_capi *capi_view = static_cast<ui_standard_view_capi *>(view);
 
-               return capi_view->set_subtitle();
+               return capi_view->set_subtitle(text);
        }
 
        bool ui_standard_view_title_badge_set(ui_view *view, const char *badge_text)
@@ -482,7 +551,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
                return capi_view->set_title_right_btn(title_right_btn);
        }
 
-       Elm_Button ui_standard_view_title_right_btn_get(ui_view *view)
+       Elm_Button *ui_standard_view_title_right_btn_get(ui_view *view)
        {
                if (!view)
                {
@@ -495,7 +564,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
                return capi_view->get_title_right_btn();
        }
 
-       Elm_Button ui_standard_view_title_right_btn_unset(ui_view *view)
+       Elm_Button *ui_standard_view_title_right_btn_unset(ui_view *view)
        {
                if (!view)
                {
@@ -518,10 +587,10 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
 
                ui_standard_view_capi *capi_view = static_cast<ui_standard_view_capi *>(view);
 
-               return capi_view->set_title_left_btn(title_right_btn);
+               return capi_view->set_title_left_btn(title_left_btn);
        }
 
-       Elm_Button ui_standard_view_title_left_btn_get(ui_view *view)
+       Elm_Button *ui_standard_view_title_left_btn_get(ui_view *view)
        {
                if (!view)
                {
@@ -534,7 +603,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
                return capi_view->get_title_left_btn();
        }
 
-       Elm_Button ui_standard_view_title_left_btn_unset(ui_view *view)
+       Elm_Button *ui_standard_view_title_left_btn_unset(ui_view *view)
        {
                if (!view)
                {
@@ -561,7 +630,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
                return capi_view->set_toolbar(toolbar);
        }
 
-       Elm_toolbar ui_standard_view_toolbar_get(ui_view *view)
+       Elm_Toolbar *ui_standard_view_toolbar_get(ui_view *view)
        {
                if (!view)
                {
@@ -574,7 +643,7 @@ bool ui_view_lifecycle_callbacks_set(ui_view *view, ui_view_lifecycle_callback_s
                return capi_view->get_toolbar();
        }
 
-       Elm_toolbar ui_standard_view_toolbar_unset(ui_view *view)
+       Elm_Toolbar *ui_standard_view_toolbar_unset(ui_view *view)
        {
                if (!view)
                {
index bcb6896f7ed1028a2429caba89f2992af8825eec..6890397facaa433a2513d872365d6fdf8b34c496 100644 (file)
@@ -70,7 +70,7 @@ extern "C" {
                return viewmgr->deactivate();
        }
 
-       Elm_Win ui_viewmgr_window_get(ui_viewmgr *viewmgr)
+       Elm_Win *ui_viewmgr_window_get(ui_viewmgr *viewmgr)
        {
                if (!viewmgr)
                {
@@ -81,7 +81,7 @@ extern "C" {
                return viewmgr->get_window();
        }
 
-       Elm_Conformant ui_viewmgr_conformant_get(ui_viewmgr *viewmgr)
+       Elm_Conformant *ui_viewmgr_conformant_get(ui_viewmgr *viewmgr)
        {
                if (!viewmgr)
                {