From ffeac9fdbb1f883f78e304b773d8ac0828dc996b Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Wed, 1 Apr 2015 22:50:42 +0200 Subject: parametize more, replace table with box, add a header to the sd card list Signed-off-by: Olliver Schinagl --- src/eulogium.c | 60 ++++++++++++++++++++++++++++++++++++---------------------- src/eulogium.h | 4 +++- 2 files changed, 40 insertions(+), 24 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index 7688fb4..29bf86f 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -72,11 +72,9 @@ static void _cb_eulogium_input_wheel(void *data, Evas *e EINA_UNUSED, Evas_Objec } /* Generic button handler */ -static void _cb_eulogium_button(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +static void _cb_eulogium_button(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { - struct button_def *button = data; - - printf("Button %s clicked (%s)\n", button->text, button->cb.info); + printf("Button clicked\n"); } static void _cb_eulogium_resize(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) @@ -93,23 +91,30 @@ Evas_Object *eulogium_print_progress(struct eulogium_data *eulogium) { Evas_Object *table; Evas_Object *object; + char buf[255]; table = elm_table_add(eulogium->layout); evas_object_size_hint_weight_set(table, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(table, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_table_homogeneous_set(table, EINA_FALSE); - object = elm_label_add(table); - elm_object_text_set(object, "Print time remaining \%d hours."); - evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(object); - elm_table_pack(table, object, 0, 0, 3, 1); - - object = elm_label_add(table); - elm_object_text_set(object, "Preparing to print:"); /* TODO change to print state string */ - evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(object); - elm_table_pack(table, object, 0, 1, 3, 1); + eulogium->print.time = elm_label_add(table); + elm_object_text_set(eulogium->print.time, "Calculating remaining print time ..."); + elm_label_slide_mode_set(eulogium->print.time, ELM_LABEL_SLIDE_MODE_AUTO); + elm_label_slide_duration_set(eulogium->print.time, 8); + elm_object_style_set(eulogium->print.time, "slide_bounce"); + evas_object_size_hint_align_set(eulogium->print.time, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(eulogium->print.time); + elm_table_pack(table, eulogium->print.time, 0, 0, 3, 1); + + eulogium->print.status = elm_label_add(table); + elm_object_text_set(eulogium->print.status, "Print status unknown."); + elm_label_slide_mode_set(eulogium->print.status, ELM_LABEL_SLIDE_MODE_AUTO); + elm_label_slide_duration_set(eulogium->print.status, 8); + elm_object_style_set(eulogium->print.status, "slide_bounce"); + evas_object_size_hint_align_set(eulogium->print.status, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(eulogium->print.status); + elm_table_pack(table, eulogium->print.status, 0, 1, 3, 1); object = elm_label_add(table); elm_object_text_set(object, eulogium->print.name); @@ -146,7 +151,7 @@ elm_progressbar_value_set(eulogium->print.progress, 0.5); #endif object = elm_button_add(table); - elm_object_text_set(object, "TUNE"); + elm_object_text_set(object, "TUNE"); /* create tune button */ evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(object); elm_table_pack(table, object, 0, 5, 1, 1); @@ -167,13 +172,14 @@ elm_progressbar_value_set(eulogium->print.progress, 0.5); #endif object = elm_button_add(table); - elm_object_text_set(object, "PAUSE"); + elm_object_text_set(object, "PAUSE"); /* create pause button */ evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(object); elm_table_pack(table, object, 2, 5, 1, 1); object = elm_label_add(table); - elm_object_text_set(object, "Mat: %%d meter"); + snprintf(buf, sizeof(buf), "Material: %gm", eulogium->print.material); + elm_object_text_set(object, buf); evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(object); elm_table_pack(table, object, 0, 6, 3, 1); @@ -203,6 +209,7 @@ static void _cb_select_file(void *data, Evas_Object *obj EINA_UNUSED, void *even if (ecore_file_is_dir(filepath)) { content = eulogium_print_menu(eulogium, filepath); } else { + eulogium->print.material = 100.23; /* TODO */ content = eulogium_start_print(eulogium, filepath); } elm_naviframe_item_simple_push(eulogium->layout, content); @@ -321,14 +328,21 @@ Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath) Evas_Object *list; Evas_Object *icon; - box = elm_table_add(eulogium->layout); + box = elm_box_add(eulogium->layout); +#if 1 + list = elm_label_add(box); + elm_object_text_set(list, "SD Card"); /* TODO This may be more then just the SD card */ + evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(list); + elm_box_pack_start(box, list); +#endif list = elm_list_add(box); evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_list_multi_select_set(list, EINA_FALSE); elm_scroller_bounce_set(list, EINA_FALSE, EINA_FALSE); elm_list_mode_set(list, ELM_LIST_COMPRESS); - elm_table_pack(box, list, 0, 0, 1, 1); + elm_box_pack_end(box, list); eulogium->data = (void *)list; eina_file_dir_list(filepath, EINA_FALSE, _cb_populate_filelist, eulogium); @@ -436,17 +450,17 @@ static struct button_def but_main_material = { .cb = { .func = &_cb_eulogium_button, .data = NULL, - .info = "matterial button pressed", + .info = "material button pressed", }, .data = NULL, }; static struct button_def but_main_maintanance = { - .text = "MAINTANANCE", + .text = "MAINTENANCE", .cb = { .func = &_cb_eulogium_button, .data = NULL, - .info = "maintanance button pressed", + .info = "maintenance button pressed", }, .data = NULL, }; diff --git a/src/eulogium.h b/src/eulogium.h index abd4bd0..f9c9282 100644 --- a/src/eulogium.h +++ b/src/eulogium.h @@ -5,9 +5,11 @@ struct print_data { Evas_Object *progress; - char *status; /* TODO probably an enum for this */ + Evas_Object *status; + Evas_Object *time; const char *file; const char *name; + float material; }; struct eulogium_data { -- cgit v0.12