From: Woochan Lee Date: Wed, 8 Jun 2016 07:28:39 +0000 (+0900) Subject: Fix build break and add ui_app_event_callback. X-Git-Tag: submit/tizen/20160617.075742~20^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F58%2F73458%2F7;p=platform%2Fcore%2Fuifw%2Fui-viewmgr.git Fix build break and add ui_app_event_callback. Change-Id: Ib2a75098dbdc8afdb719886a0820bd216d2f08c6 --- diff --git a/src/examples/efl/c/main.cpp b/src/examples/efl/c/main.cpp index ed6b5ff..c155c8d 100644 --- a/src/examples/efl/c/main.cpp +++ b/src/examples/efl/c/main.cpp @@ -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
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
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); } diff --git a/src/include/efl/mobile/c/ui_app.h b/src/include/efl/mobile/c/ui_app.h index ecb698b..9394d38 100644 --- a/src/include/efl/mobile/c/ui_app.h +++ b/src/include/efl/mobile/c/ui_app.h @@ -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(); diff --git a/src/include/efl/mobile/c/ui_menu.h b/src/include/efl/mobile/c/ui_menu.h index ece2dca..6ca55b5 100644 --- a/src/include/efl/mobile/c/ui_menu.h +++ b/src/include/efl/mobile/c/ui_menu.h @@ -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); diff --git a/src/include/efl/mobile/c/ui_popup.h b/src/include/efl/mobile/c/ui_popup.h index 36679fe..738a8bc 100644 --- a/src/include/efl/mobile/c/ui_popup.h +++ b/src/include/efl/mobile/c/ui_popup.h @@ -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); diff --git a/src/include/efl/mobile/c/ui_view.h b/src/include/efl/mobile/c/ui_view.h index e664ea2..9484817 100644 --- a/src/include/efl/mobile/c/ui_view.h +++ b/src/include/efl/mobile/c/ui_view.h @@ -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); diff --git a/src/include/efl/mobile/c/ui_viewmgr.h b/src/include/efl/mobile/c/ui_viewmgr.h index b0adb55..ec3667c 100644 --- a/src/include/efl/mobile/c/ui_viewmgr.h +++ b/src/include/efl/mobile/c/ui_viewmgr.h @@ -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); diff --git a/src/lib/efl/mobile/c/ui_app.cpp b/src/lib/efl/mobile/c/ui_app.cpp index 564b2d1..04ee5c3 100644 --- a/src/lib/efl/mobile/c/ui_app.cpp +++ b/src/lib/efl/mobile/c/ui_app.cpp @@ -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() diff --git a/src/lib/efl/mobile/c/ui_menu.cpp b/src/lib/efl/mobile/c/ui_menu.cpp index 088feb4..a654a4f 100644 --- a/src/lib/efl/mobile/c/ui_menu.cpp +++ b/src/lib/efl/mobile/c/ui_menu.cpp @@ -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(menu->get_view()); } } diff --git a/src/lib/efl/mobile/c/ui_popup.cpp b/src/lib/efl/mobile/c/ui_popup.cpp index efecba2..40a4fb3 100644 --- a/src/lib/efl/mobile/c/ui_popup.cpp +++ b/src/lib/efl/mobile/c/ui_popup.cpp @@ -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(popup->get_view()); } } diff --git a/src/lib/efl/mobile/c/ui_view.cpp b/src/lib/efl/mobile/c/ui_view.cpp index 604a802..0d2cd48 100644 --- a/src/lib/efl/mobile/c/ui_view.cpp +++ b/src/lib/efl/mobile/c/ui_view.cpp @@ -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(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(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(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) { diff --git a/src/lib/efl/mobile/c/ui_viewmgr.cpp b/src/lib/efl/mobile/c/ui_viewmgr.cpp index bcb6896..6890397 100644 --- a/src/lib/efl/mobile/c/ui_viewmgr.cpp +++ b/src/lib/efl/mobile/c/ui_viewmgr.cpp @@ -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) {