From 30305b5407874aa5912faa2855f48789bc0621ce Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Sat, 4 Apr 2015 23:14:31 +0200 Subject: add mainscreen and 1level of subscreen buttons Signed-off-by: Olliver Schinagl --- src/eulogium.c | 117 ++++++++++++++++++++++++++++++++++++++++----------------- src/eulogium.h | 2 +- 2 files changed, 83 insertions(+), 36 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index 366fc7e..5126e93 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -361,6 +361,16 @@ static void _cb_content_prev_set(void *data, Evas_Object *object EINA_UNUSED, vo elm_naviframe_item_pop(eulogium->layout); } +static struct button_def but_return = { + .text = "RETURN", + .cb = { + .func = &_cb_content_prev_set, + .data = NULL, + .info = "return button pressed", + }, + .data = NULL, +}; + Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath) { Evas_Object *box; @@ -517,43 +527,22 @@ Evas_Object *eulogium_tripple_button_menu(Evas_Object *parent, const struct butt return eulogium_split_screen(parent, _top, _bottom); } -static void _cb_button_main_print(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED) -{ - struct eulogium_data *eulogium = data; - Evas_Object *content; - - /* TODO: add intermediate window to list drive/youmagine */ - content = eulogium_print_menu(eulogium, "/home/oliver"); /* TODO: replace later */ - elm_naviframe_item_simple_push(eulogium->layout, content); -} - -/* Buttons */ -static struct button_def but_main_print = { - .text = "PRINT", - .cb = { - .func = &_cb_button_main_print, - .data = NULL, - .info = "print button pressed", - }, - .data = NULL, -}; - -static struct button_def but_main_material = { - .text = "MATERIAL", +static struct button_def but_maintanance_advanced = { + .text = "ADVANCED", .cb = { .func = &_cb_eulogium_button, .data = NULL, - .info = "material button pressed", + .info = "advanced button pressed", }, .data = NULL, }; -static struct button_def but_main_maintanance = { - .text = "MAINTENANCE", +static struct button_def but_maintanance_buildplate = { + .text = "BUILD- PLATE", .cb = { .func = &_cb_eulogium_button, .data = NULL, - .info = "maintenance button pressed", + .info = "buildplate button pressed", }, .data = NULL, }; @@ -573,17 +562,72 @@ static struct button_def but_mat_settings = { .cb = { .func = &_cb_eulogium_button, .data = NULL, - .info = "material change button pressed", + .info = "settings button pressed", }, .data = NULL, }; -static struct button_def but_mat_return = { - .text = "RETURN", +static void _eulogium_button_main_mat_cb(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED) +{ + struct eulogium_data *eulogium = data; + Evas_Object *content; + + content = eulogium_tripple_button_menu(eulogium->layout, &but_mat_change, &but_mat_settings, &but_return); + if (!content) + return; + elm_naviframe_item_simple_push(eulogium->layout, content); +} + +static void _eulogium_button_main_maintanance_cb(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED) +{ + struct eulogium_data *eulogium = data; + Evas_Object *content; + + content = eulogium_tripple_button_menu(eulogium->layout, &but_maintanance_buildplate, &but_maintanance_advanced, &but_return); + if (!content) + return; + elm_naviframe_item_simple_push(eulogium->layout, content); +} + +static void _cb_button_main_print(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED) +{ + struct eulogium_data *eulogium = data; + Evas_Object *content; + + /* TODO: add intermediate window to list drive/youmagine */ + content = eulogium_print_menu(eulogium, "/home/oliver"); /* TODO: replace later */ + if (!content) + return; + elm_naviframe_item_simple_push(eulogium->layout, content); +} + +/* Buttons */ +static struct button_def but_main_print = { + .text = "PRINT", .cb = { - .func = &_cb_eulogium_button, + .func = &_cb_button_main_print, + .data = NULL, + .info = "print button pressed", + }, + .data = NULL, +}; + +static struct button_def but_main_material = { + .text = "MATERIAL", + .cb = { + .func = &_eulogium_button_main_mat_cb, .data = NULL, - .info = "material return button pressed", + .info = "material button pressed", + }, + .data = NULL, +}; + +static struct button_def but_main_maintanance = { + .text = "MAINTENANCE", + .cb = { + .func = &_eulogium_button_main_maintanance_cb, + .data = NULL, + .info = "maintenance button pressed", }, .data = NULL, }; @@ -592,11 +636,9 @@ static struct multi_text txtdata = { .text = { "Welcome
" "to your new Ultimaker", - "line2
test
test
test
test
test", "Level the bed!", - "Nauw n00b", "Lets Print!", - NULL, + NULL, /* SENTINEL */ }, }; @@ -640,6 +682,11 @@ static void eulogium_setup(struct eulogium_data *eulogium) eulogium_button_cb_data_set(&but_main_print, eulogium); eulogium_button_cb_data_set(&but_main_material, eulogium); eulogium_button_cb_data_set(&but_main_maintanance, eulogium); + eulogium_button_cb_data_set(&but_mat_change, eulogium); + eulogium_button_cb_data_set(&but_mat_settings, eulogium); + eulogium_button_cb_data_set(&but_maintanance_buildplate, eulogium); + eulogium_button_cb_data_set(&but_maintanance_advanced, eulogium); + eulogium_button_cb_data_set(&but_return, eulogium); } EAPI_MAIN int elm_main(int argc, char **argv) diff --git a/src/eulogium.h b/src/eulogium.h index 1f7154e..48d04bf 100644 --- a/src/eulogium.h +++ b/src/eulogium.h @@ -47,6 +47,6 @@ Evas_Object *eulogium_split_screen(Evas_Object *parent, Evas_Object *top, Evas_O Evas_Object *eulogium_tripple_button_menu(Evas_Object *parent, const struct button_def *left, const struct button_def *right, const struct button_def *bottom); Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath); Evas_Object *eulogium_print_progress(struct eulogium_data *eulogium); -Evas_Object *eulogium_multi_text_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct multi_text *data, const uint_fast8_t pagenum, Eina_Bool pageindex); +Evas_Object *eulogium_multi_text_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct button_def *button, struct multi_text *data, const uint_fast8_t pagenum, Eina_Bool pageindex); #endif /* _EULOGIUM_H */ -- cgit v0.12