summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/eulogium.c60
-rw-r--r--src/eulogium.h4
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 {