From f74445959062ebc26b9ad9d796dd6b929477119a Mon Sep 17 00:00:00 2001 From: Krzysztof Wieclaw Date: Wed, 11 Jul 2018 17:14:15 +0200 Subject: [PATCH] Reset view added Change-Id: Ia73b37fb939066856911139ea714078b1068c767 Signed-off-by: Krzysztof Wieclaw --- inc/controller/controller_reset.h | 2 ++ res/edje/view_reset.edc | 57 +++++++++++++++++++++++++++++++++++++++ src/controller/controller_reset.c | 23 ++++++++++++++++ src/view/view_reset.c | 22 ++++++++++----- 4 files changed, 98 insertions(+), 6 deletions(-) create mode 100644 res/edje/view_reset.edc diff --git a/inc/controller/controller_reset.h b/inc/controller/controller_reset.h index b10f620..e8afcf6 100644 --- a/inc/controller/controller_reset.h +++ b/inc/controller/controller_reset.h @@ -24,4 +24,6 @@ void controller_reset_init(t_view_update_cb view_update_cb); void controller_reset_back(void); void controller_reset_next(); +void controller_reset_discard(); +void controller_reset_reset(); #endif /* CONTROLLER_CONTROLLER_RESET_H_ */ diff --git a/res/edje/view_reset.edc b/res/edje/view_reset.edc new file mode 100644 index 0000000..a87d5ee --- /dev/null +++ b/res/edje/view_reset.edc @@ -0,0 +1,57 @@ +images{ + image: "bg_dark.png" COMP; +} +collections{ + base_scale: 1.0; + styles{ + style{ + name: "textblock_style"; + base: "font="SamsungOne" font_size=26 color=#F8EECC wrap=mixed align=center valign=center linegap=-6"; + } + } + group{ + name: "main"; + parts{ + part{ + name: "background"; + type: IMAGE; + desc{ + state: "default" 0.0; + image.normal: "bg_dark.png"; + } + } + part{ + name: "text_block"; + type: TEXTBLOCK; + multiline: 1; + desc{ + state: "default" 0.0; + text{ + style: "textblock_style"; + text: "Would you like to restart the race?"; + } + rel1.relative: 0.3 0.0; + rel2.relative: 0.7 1.0; + } + } + part{ + name: "button_left"; + type: SWALLOW; + desc{ + state: "default"; + rel1.relative: 0.0 0.06; + rel2.relative: 0.25 0.94; + } + } + part{ + name: "button_right"; + type: SWALLOW; + desc{ + state: "default"; + rel1.relative: 0.75 0.06; + rel2.relative: 1.0 0.94; + } + } + } + } +} \ No newline at end of file diff --git a/src/controller/controller_reset.c b/src/controller/controller_reset.c index 835182d..d48879d 100644 --- a/src/controller/controller_reset.c +++ b/src/controller/controller_reset.c @@ -52,3 +52,26 @@ void controller_reset_next() model_connection_connect(); } +static void _connected_reset_cb(s_model_data *model_data) +{ + view_manager_set_view(VIEW_NAME_INPUT); + controller_reset_destroy(); +} + +static void _connected_discard_cb(s_model_data *model_data) +{ + view_manager_set_view(VIEW_RACING); + controller_reset_destroy(); +} + +void controller_reset_reset() +{ + model_connection_subscribe_event(_connected_reset_cb); + controller_reset_next(); +} + +void controller_reset_discard() +{ + model_connection_subscribe_event(_connected_discard_cb); + controller_reset_next(); +} diff --git a/src/view/view_reset.c b/src/view/view_reset.c index 4b01cf2..abe5cee 100644 --- a/src/view/view_reset.c +++ b/src/view/view_reset.c @@ -31,20 +31,30 @@ static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info) controller_reset_back(); } -static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +static void _no_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) { - controller_reset_next(); + controller_reset_discard(); +} + +static void _yes_button_clicked_cb(void *data, Evas_Object *obj, void *event_info) +{ + controller_reset_reset(); } static void _view_reset_create_gui(Evas_Object *parent) { s_info.view_base.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN); - eext_object_event_callback_add(s_info.view_base.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL); - elm_layout_text_set(s_info.view_base.layout, "txt_title", "Reset"); - view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", NULL, NULL, _ok_button_clicked_cb, NULL); - view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL, NULL, NULL); + //Setting text + elm_layout_text_set(s_info.view_base.layout, "txt_title", "Would you like restart the race?"); + + //Create left button - decline + view_base_create_button(s_info.view_base.layout, "Button_Cancel", "", "images/no.png", "racing_left", _no_button_clicked_cb, NULL); + + //Create right button - agree + view_base_create_button(s_info.view_base.layout, "Button_Ok", "", "images/yes.png", "racing_right",_yes_button_clicked_cb, NULL); + } s_view_base *view_reset_init(Evas_Object *parent) -- 2.7.4