ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/tools/examples.git/commit/?id=9cbbb377505f746c93c530793d7dadba8058c3e3
commit 9cbbb377505f746c93c530793d7dadba8058c3e3 Author: Andy Williams <a...@andywilliams.me> Date: Tue Dec 12 10:56:17 2017 +0000 lifecycle_ui: Add almost-working lifecycle gui demo This is pending some Elm fixes to function correctly --- tutorial/c/lifecycle_ui/meson.build | 13 +++++++ tutorial/c/lifecycle_ui/src/lifecycle_main.c | 57 ++++++++++++++++++++++++++++ tutorial/c/lifecycle_ui/src/meson.build | 12 ++++++ 3 files changed, 82 insertions(+) diff --git a/tutorial/c/lifecycle_ui/meson.build b/tutorial/c/lifecycle_ui/meson.build new file mode 100644 index 0000000..4603117 --- /dev/null +++ b/tutorial/c/lifecycle_ui/meson.build @@ -0,0 +1,13 @@ +project( + 'efl-example-lifecycle-ui', 'c', + version : '0.0.1', + default_options: [ 'c_std=gnu99', 'warning_level=2' ], + meson_version : '>= 0.38.0') + +eina = dependency('eina', version : '>=1.20.99') +efl = dependency('efl-ui', version : '>=1.20.99') +elm = dependency('elementary', version : '>=1.20.99') + +inc = include_directories('.') +subdir('src') + diff --git a/tutorial/c/lifecycle_ui/src/lifecycle_main.c b/tutorial/c/lifecycle_ui/src/lifecycle_main.c new file mode 100644 index 0000000..711686f --- /dev/null +++ b/tutorial/c/lifecycle_ui/src/lifecycle_main.c @@ -0,0 +1,57 @@ +#define EFL_EO_API_SUPPORT 1 +#define EFL_BETA_API_SUPPORT 1 + +#include <Eina.h> +#include <Elementary.h> +#include <Efl_Ui.h> + +static void +_gui_quit_clicked_cb(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) +{ + efl_exit(0); +} + +static void +_gui_setup() +{ + Eo *win; + + win = efl_add(EFL_UI_WIN_CLASS, NULL, + efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC), + efl_ui_win_name_set(efl_added, "Lifecycle Example"), + efl_text_set(efl_added, "Hello World"), + efl_ui_win_autodel_set(efl_added, EINA_TRUE)); + efl_add(EFL_UI_BUTTON_CLASS, win, + efl_text_set(efl_added, "Quit"), + efl_content_set(win, efl_added), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, + _gui_quit_clicked_cb, efl_added)); +} + +EAPI_MAIN void +efl_pause(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) +{ + printf("Lifecycle: paused\n"); +} + +EAPI_MAIN void +efl_resume(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) +{ + printf("Lifecycle: resumed\n"); +} + +EAPI_MAIN void +efl_terminate(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) +{ + printf("Lifecycle: terminated\n"); +} + +EAPI_MAIN void +efl_main(void *data EINA_UNUSED, const Efl_Event *ev) +{ + printf("Lifecycle: launched\n"); + + _gui_setup(); +} +EFL_MAIN_EX() + diff --git a/tutorial/c/lifecycle_ui/src/meson.build b/tutorial/c/lifecycle_ui/src/meson.build new file mode 100644 index 0000000..1c574e4 --- /dev/null +++ b/tutorial/c/lifecycle_ui/src/meson.build @@ -0,0 +1,12 @@ +src = files([ + 'lifecycle_main.c', +]) + +deps = [eina, efl, elm] + +executable('efl_example_lifecycle_ui', src, + dependencies : deps, + include_directories : inc, + install : true +) + --