#include "controller/controller_base.h"
void controller_car_selection_init(t_view_update_cb view_update_cb);
-void controller_car_selection_back_btn(void);
-void controller_car_selection_next_page();
+void controller_car_selection_back(void);
+void controller_car_selection_next();
#endif /* CONTROLLER_CONTROLLER_CAR_SELECTION_H_ */
#include <controller/controller_base.h>
void controller_connect_to_car_init(t_view_update_cb view_update_cb);
-void controller_connect_to_car_back_btn(void);
-void controller_connect_to_car_next_page();
+void controller_connect_to_car_back(void);
+void controller_connect_to_car_next();
#endif /* CONTROLLER_CONTROLLER_CONNECT_TO_CAR_H_ */
#include "controller/controller_base.h"
void controller_connection_successed_init(t_view_update_cb view_update_cb);
-void controller_connection_successed_back_btn(void);
-void controller_connection_successed_next_page();
+void controller_connection_successed_back(void);
+void controller_connection_successed_next();
#endif /* CONTROLLER_CONTROLLER_CONNECTION_SUCCESSED_H_ */
#include "controller/controller_base.h"
void controller_emergency_stop_init(t_view_update_cb view_update_cb);
-void controller_emergency_stop_back_btn(void);
-void controller_emergency_stop_next_page();
+void controller_emergency_stop_back(void);
+void controller_emergency_stop_next();
#endif /* CONTROLLER_CONTROLLER_EMERGENCY_STOP_H_ */
#include "controller/controller_base.h"
void controller_help_init(t_view_update_cb view_update_cb);
-void controller_help_back_btn(void);
-void controller_help_next_page();
+void controller_help_back(void);
+void controller_help_next();
#endif /* CONTROLLER_CONTROLLER_HELP_H_ */
#include "controller/controller_base.h"
void controller_name_input_init(t_view_update_cb view_update_cb);
-void controller_name_input_back_btn(void);
-void controller_name_input_next_page();
+void controller_name_input_back(void);
+void controller_name_input_next();
#endif /* CONTROLLER_CONTROLLER_NAME_INPUT_H_ */
#include "controller/controller_base.h"
void controller_network_failure_init(t_view_update_cb view_update_cb);
-void controller_network_failure_back_btn(void);
-void controller_network_failure_next_page();
+void controller_network_failure_back(void);
+void controller_network_failure_next();
#endif /* CONTROLLER_CONTROLLER_NETWORK_FAILURE_H_ */
} s_controller_data;
void controller_racing_init(t_view_update_cb view_update_cb);
-void controller_racing_back_btn(void);
-void controller_racing_next_page();
+void controller_racing_back(void);
+void controller_racing_next();
#endif /* CONTROLLER_CONTROLLER_RACING_H_ */
#include "controller/controller_base.h"
void controller_reset_init(t_view_update_cb view_update_cb);
-void controller_reset_back_btn(void);
-void controller_reset_next_page();
+void controller_reset_back(void);
+void controller_reset_next();
#endif /* CONTROLLER_CONTROLLER_RESET_H_ */
#include "gear-racing-controller.h"
+typedef void (* t_view_cb)(void);
+
typedef enum _e_horizontal_align {
HORIZONTAL_ALIGN_LEFT,
HORIZONTAL_ALIGN_RIGHT,
VERTICAL_ALIGN_CENTER
} e_vertical_align;
+typedef struct _s_view_base {
+ Evas_Object *layout;
+ t_view_cb show_cb;
+ t_view_cb hide_cb;
+ t_view_cb update_cb;
+} s_view_base;
+
+void view_base_init(Evas_Object *parent);
void view_base_get_resource(const char *edj_file_in, char *edj_path_out);
Evas_Object *view_base_create_button(Evas_Object *parent, char *part, char *text, Evas_Smart_Cb callback, void *data);
void view_base_set_position(Evas_Object *image, int pos_X, int pos_Y,
e_horizontal_align horizontal_align, e_vertical_align vertical_align);
void view_base_set_angle(Evas_Object *image, float angle, float rotation_center_x, float rotation_center_y);
+void view_base_show(s_view_base *view);
+void view_base_hide(s_view_base *view);
+void view_base_update(s_view_base *view);
#endif /* VIEW_VIEW_BASE_H_ */
#ifndef VIEW_VIEW_CAR_SELECTION_H_
#define VIEW_VIEW_CAR_SELECTION_H_
-void view_car_selection_init(Evas_Object *parent);
+s_view_base *view_car_selection_init(Evas_Object *parent);
#endif /* VIEW_VIEW_CAR_SELECTION_H_ */
#define VIEW_VIEW_CONNECT_TO_CAR_H_
#include "gear-racing-controller.h"
-void view_connect_to_car_init(Evas_Object *parent);
+s_view_base *view_connect_to_car_init(Evas_Object *parent);
#endif /* VIEW_VIEW_CONNECT_TO_CAR_H_ */
#ifndef VIEW_VIEW_CONNECTION_SUCCESSED_H_
#define VIEW_VIEW_CONNECTION_SUCCESSED_H_
-void view_connection_successed_init(Evas_Object *parent);
+s_view_base *view_connection_successed_init(Evas_Object *parent);
#endif /* VIEW_VIEW_CONNECTION_SUCCESSED_H_ */
#ifndef VIEW_VIEW_EMERGENCY_STOP_H_
#define VIEW_VIEW_EMERGENCY_STOP_H_
-
-void view_emergency_stop_init(Evas_Object *parent);
+s_view_base *view_emergency_stop_init(Evas_Object *parent);
#endif /* VIEW_VIEW_EMERGENCY_STOP_H_ */
#define VIEW_VIEW_HELP_H_
-void view_help_init(Evas_Object *parent);
+s_view_base *view_help_init(Evas_Object *parent);
#endif /* VIEW_VIEW_HELP_H_ */
#ifndef VIEW_VIEW_NAME_INPUT_H_
#define VIEW_VIEW_NAME_INPUT_H_
-
-void view_name_input_init(Evas_Object *parent);
+s_view_base *view_name_input_init(Evas_Object *parent);
#endif /* VIEW_VIEW_NAME_INPUT_H_ */
#ifndef VIEW_VIEW_NETWORK_FAILURE_H_
#define VIEW_VIEW_NETWORK_FAILURE_H_
-
-void view_network_failure_init(Evas_Object *parent);
+s_view_base *view_network_failure_init(Evas_Object *parent);
#endif /* VIEW_VIEW_NETWORK_FAILURE_H_ */
#ifndef VIEW_VIEW_RACING_H_
#define VIEW_VIEW_RACING_H_
-
-void view_racing_init(Evas_Object *parent);
+s_view_base *view_racing_init(Evas_Object *parent);
#endif /* VIEW_VIEW_RACING_H_ */
#ifndef VIEW_VIEW_RESET_H_
#define VIEW_VIEW_RESET_H_
+#include "gear-racing-controller.h"
-void view_reset_init(Evas_Object *parent);
+s_view_base *view_reset_init(Evas_Object *parent);
#endif /* VIEW_VIEW_RESET_H_ */
model_connection_subscribe_event(_connected_cb);
}
-void controller_car_selection_back_btn(void)
+void controller_car_selection_back(void)
{
controller_car_selection_destroy();
}
-void controller_car_selection_next_page()
+void controller_car_selection_next()
{
model_connection_connect();
}
model_connection_subscribe_event(_connected_cb);
}
-void controller_connect_to_car_back_btn(void)
+void controller_connect_to_car_back(void)
{
dlog_print(DLOG_DEBUG, LOG_TAG, "% s %s", basename(__FILE__), __FUNCTION__);
controller_connect_to_car_destroy();
}
-void controller_connect_to_car_next_page()
+void controller_connect_to_car_next()
{
model_connection_connect();
}
model_connection_subscribe_event(_connected_cb);
}
-void controller_connection_successed_back_btn(void)
+void controller_connection_successed_back(void)
{
_connection_successed_destroy();
}
-void controller_connection_successed_next_page()
+void controller_connection_successed_next()
{
model_connection_connect();
}
model_connection_subscribe_event(_connected_cb);
}
-void controller_emergency_stop_back_btn(void)
+void controller_emergency_stop_back(void)
{
controller_emergency_stop_destroy();
}
-void controller_emergency_stop_next_page()
+void controller_emergency_stop_next()
{
model_connection_connect();
}
model_connection_subscribe_event(_connected_cb);
}
-void controller_help_back_btn(void)
+void controller_help_back(void)
{
controller_help_destroy();
}
-void controller_help_next_page()
+void controller_help_next()
{
model_connection_connect();
}
model_connection_subscribe_event(_connected_cb);
}
-void controller_name_input_back_btn(void)
+void controller_name_input_back(void)
{
controller_name_input_destroy();
}
-void controller_name_input_next_page()
+void controller_name_input_next()
{
model_connection_connect();
}
model_connection_subscribe_event(_connected_cb);
}
-void controller_network_failure_back_btn(void)
+void controller_network_failure_back(void)
{
controller_network_failure_destroy();
}
-void controller_network_failure_next_page()
+void controller_network_failure_next()
{
model_connection_connect();
}
model_sensors_subscribe_event(_sensors_cb);
}
-void controller_racing_back_btn(void)
+void controller_racing_back(void)
{
controller_racing_destroy();
}
-void controller_racing_next_page()
+void controller_racing_next()
{
model_connection_connect();
}
model_connection_subscribe_event(_connected_cb);
}
-void controller_reset_back_btn(void)
+void controller_reset_back(void)
{
controller_reset_destroy();
}
-void controller_reset_next_page()
+void controller_reset_next()
{
model_connection_connect();
}
}
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_content_set(parent, layout);
+// elm_object_content_set(parent, layout);
return layout;
}
evas_map_free(map);
}
+void view_base_show(s_view_base *view)
+{
+ if (view && view->show_cb) {
+ view->show_cb();
+ }
+}
+
+void view_base_hide(s_view_base *view)
+{
+ if (view && view->hide_cb) {
+ view->hide_cb();
+ }
+}
+
+void view_base_update(s_view_base *view)
+{
+ if (view && view->update_cb) {
+ view->update_cb();
+ }
+}
+
* limitations under the License.
*/
-#include "gear-racing-controller.h"
-#include "view/view_car_selection.h"
#include "view/view_base.h"
#include "view/view_car_selection.h"
#include "controller/controller_car_selection.h"
-#include "controller/controller_connect_to_car.h"
-#include "controller/controller_car_selection.h"
#include "view_manager/view_manager.h"
typedef struct _s_connect_to_car {
- Evas_Object *layout;
+ s_view_base view_base;
} s_connect_to_car;
-static s_connect_to_car s_info = { 0,};
+static s_connect_to_car s_info = { {0,}, };
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_car_selection_back_btn();
+ controller_car_selection_back();
}
static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- controller_car_selection_next_page();
+ controller_car_selection_next();
}
static void _car_selection_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
- elm_layout_text_set(s_info.layout, "txt_title", "Car selection");
+ 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", "Car selection");
- view_base_create_button(s_info.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
- view_base_create_button(s_info.layout, "Button_Cancel", "Cancel", NULL, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
}
-void view_car_selection_init(Evas_Object *parent)
+s_view_base *view_car_selection_init(Evas_Object *parent)
{
controller_car_selection_init(NULL);
_car_selection_create_gui(parent);
+
+ return &s_info.view_base;
}
* limitations under the License.
*/
-#include <controller/controller_connect_to_car.h>
-#include "gear-racing-controller.h"
#include "view/view_base.h"
-#include "view_manager/view_manager.h"
#include "view/view_connect_to_car.h"
+#include "view_manager/view_manager.h"
+#include "controller/controller_connect_to_car.h"
typedef struct _s_connect_to_car {
- Evas_Object *layout;
+ s_view_base view_base;
} s_connect_to_car;
-static s_connect_to_car s_info = { 0,};
+static s_connect_to_car s_info = { {0,}, };
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_connect_to_car_back_btn();
+ controller_connect_to_car_back();
}
static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- controller_connect_to_car_next_page();
+ controller_connect_to_car_next();
}
static void connect_to_car_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
- elm_layout_text_set(s_info.layout, "txt_title", "Connect to a car?");
- view_base_create_button(s_info.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
- view_base_create_button(s_info.layout, "Button_Cancel", "Cancel", NULL, NULL);
+ 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", "Connect to a car?");
+ view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
}
-void view_connect_to_car_init(Evas_Object *parent)
+s_view_base *view_connect_to_car_init(Evas_Object *parent)
{
connect_to_car_create_gui(parent);
controller_connect_to_car_init(NULL);
+
+ return &s_info.view_base;
}
* limitations under the License.
*/
-#include "gear-racing-controller.h"
#include "view/view_base.h"
#include "view/view_connection_successed.h"
#include "view_manager/view_manager.h"
#include "controller/controller_connection_successed.h"
typedef struct s_view_connection_successed {
- Evas_Object *layout;
+ s_view_base view_base;
} s_view_connection_successed;
-static s_view_connection_successed s_info = { 0,};
+static s_view_connection_successed s_info = { {0,}, };
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_connection_successed_back_btn();
+ controller_connection_successed_back();
}
static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- controller_connection_successed_next_page();
+ controller_connection_successed_next();
}
static void _view_connection_successed_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
- elm_layout_text_set(s_info.layout, "txt_title", "Connection successed");
+ 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", "Connection successed");
- view_base_create_button(s_info.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
- view_base_create_button(s_info.layout, "Button_Cancel", "Cancel", NULL, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
}
-void view_connection_successed_init(Evas_Object *parent)
+s_view_base *view_connection_successed_init(Evas_Object *parent)
{
controller_connection_successed_init(NULL);
_view_connection_successed_create_gui(parent);
+
+ return &s_info.view_base;
}
* limitations under the License.
*/
-
-#include "gear-racing-controller.h"
#include "view/view_base.h"
#include "view/view_emergency_stop.h"
#include "view_manager/view_manager.h"
#include "controller/controller_emergency_stop.h"
typedef struct _s_view_emergency_stop {
- Evas_Object *layout;
+ s_view_base view_base;
} s_view_emergency_stop;
-static s_view_emergency_stop s_info = { 0,};
+static s_view_emergency_stop s_info = { {0,}, };
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_emergency_stop_back_btn();
+ controller_emergency_stop_back();
}
static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- controller_emergency_stop_next_page();
+ controller_emergency_stop_next();
}
static void _view_emergency_stop_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
- elm_layout_text_set(s_info.layout, "txt_title", "Emergency Stop");
+ 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", "Emergency Stop");
- view_base_create_button(s_info.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
- view_base_create_button(s_info.layout, "Button_Cancel", "Cancel", NULL, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
}
-void view_emergency_stop_init(Evas_Object *parent)
+s_view_base *view_emergency_stop_init(Evas_Object *parent)
{
controller_emergency_stop_init(NULL);
_view_emergency_stop_create_gui(parent);
+
+ return &s_info.view_base;
}
* limitations under the License.
*/
-
-#include "gear-racing-controller.h"
#include "view/view_base.h"
#include "view/view_help.h"
#include "view_manager/view_manager.h"
#include "controller/controller_help.h"
typedef struct _s_view_help {
- Evas_Object *layout;
+ s_view_base view_base;
} s_view_help;
-static s_view_help s_info = { 0,};
+static s_view_help s_info = { {0,}, };
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_help_back_btn();
+ controller_help_back();
}
static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- controller_help_next_page();
+ controller_help_next();
}
static void _view_help_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
- elm_layout_text_set(s_info.layout, "txt_title", "Help");
+ 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", "Help");
- view_base_create_button(s_info.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
- view_base_create_button(s_info.layout, "Button_Cancel", "Cancel", NULL, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
}
-void view_help_init(Evas_Object *parent)
+s_view_base *view_help_init(Evas_Object *parent)
{
controller_help_init(NULL);
_view_help_create_gui(parent);
+
+ return &s_info.view_base;
}
* limitations under the License.
*/
-
-#include "gear-racing-controller.h"
#include "view/view_base.h"
#include "view/view_name_input.h"
#include "view_manager/view_manager.h"
#include "controller/controller_name_input.h"
typedef struct _ss_view_name_input {
- Evas_Object *layout;
+ s_view_base view_base;
} s_view_name_input;
-static s_view_name_input s_info = { 0,};
+static s_view_name_input s_info = { {0,}, };
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_name_input_back_btn();
+ controller_name_input_back();
}
static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- controller_name_input_next_page();
+ controller_name_input_next();
}
static void _view_name_input_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
- elm_layout_text_set(s_info.layout, "txt_title", "Name input");
+ 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", "Name input");
- view_base_create_button(s_info.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
- view_base_create_button(s_info.layout, "Button_Cancel", "Cancel", NULL, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
}
-void view_name_input_init(Evas_Object *parent)
+s_view_base *view_name_input_init(Evas_Object *parent)
{
controller_name_input_init(NULL);
_view_name_input_create_gui(parent);
+
+ return &s_info.view_base;
}
* limitations under the License.
*/
-
-#include "gear-racing-controller.h"
#include "view/view_base.h"
#include "view/view_network_failure.h"
#include "view_manager/view_manager.h"
#include "controller/controller_network_failure.h"
typedef struct _s_view_network_failure {
- Evas_Object *layout;
+ s_view_base view_base;
} s_view_network_failure;
-static s_view_network_failure s_info = { 0,};
+static s_view_network_failure s_info = { {0,}, };
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_network_failure_back_btn();
+ controller_network_failure_back();
}
static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- controller_network_failure_next_page();
+ controller_network_failure_next();
}
static void _view_network_failure_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
- elm_layout_text_set(s_info.layout, "txt_title", "Network failure");
+ 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", "Network failure");
- view_base_create_button(s_info.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
- view_base_create_button(s_info.layout, "Button_Cancel", "Cancel", NULL, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
}
-void view_network_failure_init(Evas_Object *parent)
+s_view_base *view_network_failure_init(Evas_Object *parent)
{
controller_network_failure_init(NULL);
_view_network_failure_create_gui(parent);
+
+ return &s_info.view_base;
}
* limitations under the License.
*/
-
-#include "gear-racing-controller.h"
#include "view/view_base.h"
#include "view/view_racing.h"
#include "view_manager/view_manager.h"
#include "controller/controller_racing.h"
typedef struct _s_view_racing {
- Evas_Object *layout;
+ s_view_base view_base;
Evas_Object *velocity;
Evas_Object *direction;
float velocity_angle;
} s_view_racing;
static s_view_racing s_info = {
- 0,
+ {0,},
.dir_min_angle = -90,
.dir_max_angle = 90,
.vel_min_angle = -38,
view_base_set_position(image, pos_X, pos_Y, horizontal_align, vertical_align);
view_base_set_angle(image, angle, 180, 180);
- evas_object_show(image);
-
return image;
}
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_racing_back_btn();
+ controller_racing_back();
}
static void _controller_cb(void *data)
void _racing_screen_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
{
- controller_racing_next_page();
+ controller_racing_next();
}
static void _view_racing_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, "edje/racing.edj", GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
+ s_info.view_base.layout = view_base_create_layout(parent, "edje/racing.edj", GRP_MAIN);
+ eext_object_event_callback_add(s_info.view_base.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
s_info.velocity_angle = 45;
s_info.velocity = _create_image(parent, 44, 180, 160, 50,
s_info.direction_angle,
"images/circle.png", HORIZONTAL_ALIGN_CENTER, VERTICAL_ALIGN_TOP);
- evas_object_event_callback_add(s_info.layout, EVAS_CALLBACK_DEL, _view_destroyed_cb, NULL);
- elm_layout_signal_callback_add(s_info.layout, "clicked", "", _racing_screen_clicked_cb, NULL);
+ evas_object_event_callback_add(s_info.view_base.layout, EVAS_CALLBACK_DEL, _view_destroyed_cb, NULL);
+ elm_layout_signal_callback_add(s_info.view_base.layout, "clicked", "", _racing_screen_clicked_cb, NULL);
+}
+
+static void _show_cb(void)
+{
+ evas_object_show(s_info.velocity);
+ evas_object_show(s_info.direction);
+}
+
+static void _hide_cb(void)
+{
+ evas_object_hide(s_info.velocity);
+ evas_object_hide(s_info.direction);
}
-void view_racing_init(Evas_Object *parent)
+s_view_base *view_racing_init(Evas_Object *parent)
{
+ s_info.view_base.show_cb = _show_cb;
+ s_info.view_base.hide_cb = _hide_cb;
+
controller_racing_init(_controller_cb);
_view_racing_create_gui(parent);
+
+ return &s_info.view_base;
}
* limitations under the License.
*/
-#include "gear-racing-controller.h"
#include "view/view_base.h"
#include "view/view_reset.h"
#include "view_manager/view_manager.h"
#include "controller/controller_reset.h"
typedef struct _s_view_reset {
- Evas_Object *layout;
+ s_view_base view_base;
} s_view_reset;
-static s_view_reset s_info = { 0,};
+static s_view_reset s_info = { {0,}, };
static void _layout_back_cb(void *data, Evas_Object *obj, void *event_info)
{
elm_win_lower(view_manager_get_win());
- controller_reset_back_btn();
+ controller_reset_back();
}
static void _ok_button_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
- controller_reset_next_page();
+ controller_reset_next();
}
static void _view_reset_create_gui(Evas_Object *parent)
{
- s_info.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- eext_object_event_callback_add(s_info.layout, EEXT_CALLBACK_BACK, _layout_back_cb, NULL);
- elm_layout_text_set(s_info.layout, "txt_title", "Reset");
+ s_info.view_base.layout = view_base_create_layout(parent, EDJ_FILE, GRP_MAIN);
- view_base_create_button(s_info.layout, "Button_Ok", "Ok", _ok_button_clicked_cb, NULL);
- view_base_create_button(s_info.layout, "Button_Cancel", "Cancel", NULL, NULL);
+
+ 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", _ok_button_clicked_cb, NULL);
+ view_base_create_button(s_info.view_base.layout, "Button_Cancel", "Cancel", NULL, NULL);
}
-void view_reset_init(Evas_Object *parent)
+s_view_base *view_reset_init(Evas_Object *parent)
{
controller_reset_init(NULL);
_view_reset_create_gui(parent);
+
+ return &s_info.view_base;
}
#include <assert.h>
#include <view_manager/view_manager.h>
-#include <view/view_connect_to_car.h>
-#include <view/view_car_selection.h>
+#include <view_manager/view_manager.h>
+#include "view/view_base.h"
+#include "view/view_connect_to_car.h"
+#include "view/view_car_selection.h"
#include "view/view_connection_successed.h"
#include "view/view_emergency_stop.h"
#include "view/view_help.h"
typedef struct _s_ui {
Evas_Object *win;
Evas_Object *conform;
+ Evas_Object *naviframe;
+ s_view_base *current_view;
} s_ui;
static s_ui s_info = { 0,};
evas_object_show(s_info.conform);
}
+static void _create_naviframe(void)
+{
+ s_info.naviframe = elm_naviframe_add(s_info.win);
+ evas_object_size_hint_weight_set(s_info.naviframe, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_content_set(s_info.conform, s_info.naviframe);
+ evas_object_show(s_info.conform);
+}
void view_manager_set_view(view_id id)
{
+ view_base_hide(s_info.current_view);
+
+ s_view_base *view;
+
switch (id) {
case VIEW_CONNECT_TO_CAR:
- view_connect_to_car_init(s_info.conform);
+ view = view_connect_to_car_init(s_info.naviframe);
break;
case VIEW_CAR_SELECTION:
- view_car_selection_init(s_info.conform);
+ view = view_car_selection_init(s_info.naviframe);
break;
case VIEW_CONNECTION_SUCCESSED:
- view_connection_successed_init(s_info.conform);
+ view = view_connection_successed_init(s_info.naviframe);
break;
case VIEW_NAME_INPUT:
- view_name_input_init(s_info.conform);
+ view = view_name_input_init(s_info.naviframe);
break;
case VIEW_HELP:
- view_help_init(s_info.conform);
+ view = view_help_init(s_info.naviframe);
break;
case VIEW_RACING:
- view_racing_init(s_info.conform);
+ view = view_racing_init(s_info.naviframe);
break;
case VIEW_EMERGENCY_STOP:
- view_emergency_stop_init(s_info.conform);
+ view = view_emergency_stop_init(s_info.naviframe);
break;
case VIEW_RESET:
- view_reset_init(s_info.conform);
+ view = view_reset_init(s_info.naviframe);
break;
case VIEW_NETWORK_FAILURE:
- view_network_failure_init(s_info.conform);
+ view = view_network_failure_init(s_info.naviframe);
break;
break;
default:
break;
}
+
+ s_info.current_view = view;
+
+ elm_naviframe_item_simple_push(s_info.naviframe, s_info.current_view->layout);
+
+ view_base_show(s_info.current_view);
}
void view_manager_initialize_ui(void)
{
_create_window();
_create_conformant();
+ _create_naviframe();
view_manager_set_view(VIEW_CONNECT_TO_CAR);
evas_object_show(s_info.win);