summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-08 06:05:54 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-28 05:07:13 (GMT)
commit4b9495b41f4249a6b41950d7cbb3d0fe9c8c1e4b (patch)
tree59949bcb448824fff74018c6d8838e19cff3043f
parent604d87c4aef8b486a12762e135a3acf22f4e1b27 (diff)
downloadeulogium-4b9495b41f4249a6b41950d7cbb3d0fe9c8c1e4b.zip
eulogium-4b9495b41f4249a6b41950d7cbb3d0fe9c8c1e4b.tar.gz
eulogium-4b9495b41f4249a6b41950d7cbb3d0fe9c8c1e4b.tar.bz2
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 <o.schinagl@ultimaker.com>
-rw-r--r--src/eulogium.c36
-rw-r--r--src/eulogium.h2
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 */