From 4b9495b41f4249a6b41950d7cbb3d0fe9c8c1e4b Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Wed, 8 Apr 2015 08:05:54 +0200 Subject: Pass an array to struct properly to a multi_screen_menu TODO: now we imply we want to generate the content in the multi_screen_menu, this may first needa little layer above that to do the looping, for testing this was okay Signed-off-by: Olliver Schinagl --- src/eulogium.c | 36 ++++++++++++++++++++++-------------- src/eulogium.h | 2 +- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index d8c6dfd..61f9a7c 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -99,7 +99,6 @@ Evas_Object *eulogium_split_screen(Evas_Object *parent, Evas_Object *top, Evas_O evas_object_size_hint_align_set(top, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(top, 0, 48); - evas_object_show(top); elm_box_pack_end(box, top); #if 0 /* FIXME use themed seperator */ @@ -120,7 +119,6 @@ Evas_Object *eulogium_split_screen(Evas_Object *parent, Evas_Object *top, Evas_O evas_object_size_hint_align_set(bottom, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(bottom, 0, 14); - evas_object_show(bottom); elm_box_pack_end(box, bottom); return box; @@ -482,11 +480,12 @@ Evas_Object *eulogium_multi_text_menu(struct eulogium_data *eulogium, Evas_Objec return eulogium_split_screen(parent, _top, _bottom); } -Evas_Object *eulogium_multi_screen_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct multi_screen *screen) +Evas_Object *eulogium_multi_screen_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct multi_screen *screen[]) { Evas_Object *object; Evas_Object *_top, *_bottom; +#if 0 printf("%s\n", screen->text); printf("%s\n", screen->text); printf("%s\n", screen->text); @@ -501,20 +500,28 @@ Evas_Object *eulogium_multi_screen_menu(struct eulogium_data *eulogium, Evas_Obj case PROGRESS: break; } - +#endif // printf("%s\n", eulogium->print.name); + _top = elm_box_add(parent); + evas_object_show(_top); _bottom = elm_box_add(parent); + elm_box_horizontal_set(_bottom, EINA_TRUE); evas_object_show(_bottom); - if (screen->prev_button) { - object = elm_button_add(_bottom); - elm_object_text_set(_bottom, screen->prev_button); + + if (screen[0]->prev_button) { + object = elm_button_add(parent); + evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(object, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_text_set(object, screen[0]->prev_button); evas_object_show(object); elm_box_pack_end(_bottom, object); } - if (screen->next_button) { - object = elm_button_add(_bottom); - elm_object_text_set(_bottom, screen->next_button); + if (screen[0]->next_button) { + object = elm_button_add(parent); + evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(object, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_object_text_set(object, screen[0]->next_button); evas_object_show(object); elm_box_pack_end(_bottom, object); } @@ -683,17 +690,18 @@ static struct multi_text txtdata = { }; static Eina_List *wizzard; /* TODO find a good spot to put this. */ -static struct multi_screen screen = { +static struct multi_screen screen[] = { { .type = TEXT, .text = "Welcome to your new Ultimaker", .data = NULL, .next_button = "Continue", - .prev_button = NULL, -}; + .prev_button = "back", +}, }; Evas_Object *eulogium_main_menu(Evas_Object *window, struct eulogium_data *eulogium) { Evas_Object *content; + struct multi_screen *screens = &screen[0]; eulogium->layout = elm_naviframe_add(window); if (!eulogium->layout) @@ -703,7 +711,7 @@ Evas_Object *eulogium_main_menu(Evas_Object *window, struct eulogium_data *eulog // elm_naviframe_item_title_visible_set(eulogium->layout, EINA_FALSE); //content = eulogium_tripple_button_menu(eulogium->layout, &but_main_print, &but_main_material, &but_main_maintanance); - content = eulogium_multi_screen_menu(eulogium, eulogium->layout, &screen); + content = eulogium_multi_screen_menu(eulogium, eulogium->layout, &screens); if (!content) return NULL; elm_naviframe_item_simple_push(eulogium->layout, content); diff --git a/src/eulogium.h b/src/eulogium.h index 90df531..8e327c3 100644 --- a/src/eulogium.h +++ b/src/eulogium.h @@ -67,6 +67,6 @@ Evas_Object *eulogium_tripple_button_menu(Evas_Object *parent, const struct butt 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 button_def *button, struct multi_text *data, const uint_fast8_t pagenum, Eina_Bool pageindex); -Evas_Object *eulogium_multi_screen_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct multi_screen *screen); +Evas_Object *eulogium_multi_screen_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct multi_screen *screen[]); #endif /* _EULOGIUM_H */ -- cgit v0.12