summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-04 21:14:31 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-28 05:07:13 (GMT)
commit30305b5407874aa5912faa2855f48789bc0621ce (patch)
treea0718300250ec9226518858af3e0a6def177cdcb /src
parent5cad75ba3f586a68c65fd39d5a74348c5fc55fb2 (diff)
downloadeulogium-30305b5407874aa5912faa2855f48789bc0621ce.zip
eulogium-30305b5407874aa5912faa2855f48789bc0621ce.tar.gz
eulogium-30305b5407874aa5912faa2855f48789bc0621ce.tar.bz2
add mainscreen and 1level of subscreen buttons
Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
Diffstat (limited to 'src')
-rw-r--r--src/eulogium.c117
-rw-r--r--src/eulogium.h2
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<br>"
"to your new Ultimaker",
- "line2<br>test<br>test<br>test<br>test<br>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 */