We are still on building up its bodies here and there.
Change-Id: I38f81dc82fde761b5578635836d305c90e1b760f
int
main(int argc, char *argv[])
{
- appdata_s ad = {0,};
- int ret = 0;
+ ui_app_lifecycle_callback_s lifecycle_callback = {0, };
- ui_app_lifecycle_callback_s lifecycle_callback = {0,};
-
- ret = ui_app_init(PACKAGE, LOCALE_DIR);
- if (!ret) {
+ if (!ui_app_init(PACKAGE, LOCALE_DIR))
+ {
dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_init() is failed. err = %d", ret);
+ return ret;
}
lifecycle_callback.create = app_create;
- ret = ui_app_run(argc, argv, &lifecycle_callback, NULL, &ad);
- if (ret != APP_ERROR_NONE) {
+ if (!ui_app_run(argc, argv, &lifecycle_callback, NULL, NULL))
+ {
dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_run() is failed. err = %d", ret);
+ return ret;
+ }
+
+ if (!ui_app_term())
+ {
+ dlog_print(DLOG_ERROR, LOG_TAG, "ui_app_term() is failed. err = %d", ret);
+ return ret;
}
- return ret;
+ return 0;
}
#define PACKAGE "ui-viewmgr"
#endif
-typedef struct appdata {
- Evas_Object *win;
- Evas_Object *conform;
- Evas_Object *layout;
- Evas_Object *nf;
- Evas_Object *tabbar;
-} appdata_s;
-
-
Evas_Object* create_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb);
Evas_Object* create_landscape_content(Evas_Object *parent, const char *text, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb);
Evas_Object* create_title_handle_content(Evas_Object *parent, Evas_Smart_Cb prev_btn_clicked_cb, Evas_Smart_Cb next_btn_clicked_cb,
Evas_Object *content = create_content(base_layout, "ViewMgr Demo<br>Basic View",
view1_prev_btn_clicked_cb, view1_next_btn_clicked_cb);
- ui_standard_view_content_set(view, content, "Page1 C example", NULL, NULL, NULL);
+ ui_standard_view_content_set(view, content, "Page1", NULL, NULL, NULL);
return true;
}
*
*/
-/** This example create a simple view which is inheritance ui_standard_view.
+/** This example create a simple view which is inheritance of an ui_standard_view.
* Then push in viewmgr.
*/
class page1: public ui_standard_view
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Basic View",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Basic View",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
{
UI_VIEWMGR->push_view(new page2());
});
- this->set_content(content, "Page1 C++ example");
+ this->set_content(content, "Page1");
}
public:
//Portrait
if (this->get_degree() == 0 || this->get_degree() == 180)
{
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Rotation",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Rotation",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
//Landscape
else
{
- Evas_Object *content = create_landscape_content(this->get_base(), "ViewMgr Demo<br>Rotation",
+ Evas_Object *content = create_landscape_content(this->get_base(), "ViewMgr++ Demo<br>Rotation",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Menu Popup",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Menu Popup",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Popup",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Popup",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Fade Transition",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Fade Transition",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>None Transition",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>None Transition",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Title Buttons",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Title Buttons",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Subtitle",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Subtitle",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Title Badge",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Title Badge",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Full View",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Full View",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Toolbar",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Toolbar",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
ui_standard_view::on_load();
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Navigationbar",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Navigationbar",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
page8() : ui_standard_view("page8")
{
//Create a main content.
- Evas_Object *content = create_content(this->get_base(), "ViewMgr Demo<br>Content Preloading",
+ Evas_Object *content = create_content(this->get_base(), "ViewMgr++ Demo<br>Content Preloading",
//Prev Button Callback
[](void *data, Evas_Object *obj, void *event_info) -> void
{
#ifndef _UI_APP_C_H_
#define _UI_APP_C_H_
-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);
} 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 *lifecycle_callback,
- ui_app_event_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();
+ bool ui_app_term(void);
+
- ui_app *ui_app_app_get();
#ifdef __cplusplus
}
#endif
-}
#endif /* _UI_APP_C_H_ */
}
};
-extern "C" {
- static ui_app_capi *app = NULL;
- bool ui_app_init(const char *pkg, const char *locale_dir)
- {
- app = new ui_app_capi(pkg, locale_dir);
+static ui_app_capi *g_app = NULL;
- if (app) return true;
- else return false;
- }
+bool ui_app_init(const char *pkg, const char *locale_dir)
+{
+ ui_app_capi *app = g_app;
+ if (app) return true;
- int ui_app_run(int argc, char **argv, ui_app_lifecycle_callback_s *lifecycle_callback,
- ui_app_event_callback_s *event_callback, void *data)
+ app = new ui_app_capi(pkg, locale_dir);
+ if (!app)
{
- return app->run(argc, argv, lifecycle_callback, event_callback, data);
+ LOGE("Failed to create new ui_app_capi()!");
+ return false;
}
- ui_viewmgr *ui_app_viewmgr_get()
- {
- return app->get_viewmgr();
- }
+ g_app = app;
- ui_app *ui_app_app_get()
- {
- return app;
- }
+ return true;
+}
+
+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_app_capi *app = g_app;
+ if (!app) return -1;
+
+ return app->run(argc, argv, lifecycle_callback, event_callback, data);
+}
+
+ui_viewmgr *ui_app_viewmgr_get()
+{
+ ui_app_capi *app = g_app;
+ if (!app) return NULL;
+
+ return app->get_viewmgr();
+}
+
+bool ui_app_term(void)
+{
+ ui_app_capi *app = g_app;
+ if (app) delete (app);
+
+ return true;
}