Created groundwork for the creation screen
This commit is contained in:
parent
dab8c43e70
commit
0d8b27e98d
1 changed files with 61 additions and 5 deletions
|
@ -20,7 +20,8 @@ typedef enum { FP_View_Submenu, FP_View_Dialog, FP_View_Popup } FP_View;
|
|||
/* All events */
|
||||
typedef enum {
|
||||
FP_Event_SwitchTo_About,
|
||||
FP_Event_SwitchTo_Overview
|
||||
FP_Event_SwitchTo_Overview,
|
||||
FP_Event_SwitchTo_Create
|
||||
} FP_Event;
|
||||
|
||||
/* Scene events */
|
||||
|
@ -44,6 +45,9 @@ void FP_Scene_Callback_MainMenu(void* context, uint32_t index) {
|
|||
case FP_Scene_MainMenu_Event_View:
|
||||
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_Overview);
|
||||
break;
|
||||
case FP_Scene_MainMenu_Event_Create:
|
||||
scene_manager_handle_custom_event(app->scene_manager, FP_Event_SwitchTo_Create);
|
||||
break;
|
||||
default:
|
||||
FURI_LOG_I(TAG, "S_MAINMENU: Unimplemented!");
|
||||
break;
|
||||
|
@ -70,6 +74,13 @@ void FP_Scene_Callback_Send(DialogExResult result, void* context) {
|
|||
// Sending it to the scene manager
|
||||
scene_manager_handle_custom_event(app->scene_manager, result);
|
||||
}
|
||||
void FP_Scene_Callback_Create(void* context, uint32_t index) {
|
||||
// Setting context
|
||||
FP_App* app = context;
|
||||
|
||||
// Sending it to the scene manager
|
||||
scene_manager_handle_custom_event(app->scene_manager, index);
|
||||
}
|
||||
|
||||
void FP_Scene_Enter_MainMenu(void* context) {
|
||||
// Setting context
|
||||
|
@ -213,6 +224,14 @@ void FP_Scene_Enter_Send(void* context) {
|
|||
// Send view to Flipper
|
||||
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Dialog);
|
||||
}
|
||||
void FP_Scene_Enter_Create(void* context) {
|
||||
// Setting context
|
||||
FP_App* app = context;
|
||||
|
||||
// Reset page
|
||||
|
||||
// Send view to Flipper
|
||||
}
|
||||
|
||||
void FP_Scene_Exit_MainMenu(void* context) {
|
||||
// Setting context
|
||||
|
@ -242,6 +261,13 @@ void FP_Scene_Exit_Send(void* context) {
|
|||
// Reset menu
|
||||
dialog_ex_reset(app->dialog);
|
||||
}
|
||||
void FP_Scene_Exit_Create(void* context) {
|
||||
// Setting context
|
||||
FP_App* app = context;
|
||||
|
||||
// Reset menu
|
||||
dialog_ex_reset(app->dialog);
|
||||
}
|
||||
|
||||
bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
|
||||
// Setting context
|
||||
|
@ -261,6 +287,9 @@ bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
|
|||
case FP_Event_SwitchTo_Overview:
|
||||
scene_manager_next_scene(app->scene_manager, FP_Scene_Overview);
|
||||
break;
|
||||
case FP_Event_SwitchTo_Create:
|
||||
scene_manager_next_scene(app->scene_manager, FP_Scene_Create);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
@ -369,25 +398,52 @@ bool FP_Scene_Event_Send(void* context, SceneManagerEvent event) {
|
|||
// Return result
|
||||
return consumed;
|
||||
}
|
||||
bool FP_Scene_Event_Create(void* context, SceneManagerEvent event) {
|
||||
// Setting context
|
||||
FP_App* app = context;
|
||||
bool consumed = false;
|
||||
|
||||
// Switching based on event
|
||||
if (event.type == SceneManagerEventTypeCustom) {
|
||||
// We consumed it
|
||||
consumed = true;
|
||||
|
||||
UNUSED(app);
|
||||
|
||||
// What to do?
|
||||
switch (event.event) {
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
consumed = false;
|
||||
}
|
||||
|
||||
// Return result
|
||||
return consumed;
|
||||
}
|
||||
|
||||
/* Handlers */
|
||||
void (*const FP_Scene_Enter_Handlers[])(void*) = {
|
||||
FP_Scene_Enter_MainMenu,
|
||||
FP_Scene_Enter_Overview,
|
||||
FP_Scene_Enter_View,
|
||||
FP_Scene_Enter_Send
|
||||
FP_Scene_Enter_Send,
|
||||
FP_Scene_Enter_Create
|
||||
};
|
||||
bool (*const FP_Scene_Event_Handlers[])(void*, SceneManagerEvent) = {
|
||||
FP_Scene_Event_MainMenu,
|
||||
FP_Scene_Event_Overview,
|
||||
FP_Scene_Event_View,
|
||||
FP_Scene_Event_Send
|
||||
FP_Scene_Event_Send,
|
||||
FP_Scene_Event_Create
|
||||
};
|
||||
void (*const FP_Scene_Exit_Handlers[])(void*) = {
|
||||
FP_Scene_Exit_MainMenu,
|
||||
FP_Scene_Exit_Overview,
|
||||
FP_Scene_Exit_View,
|
||||
FP_Scene_Exit_Send
|
||||
FP_Scene_Exit_Send,
|
||||
FP_Scene_Exit_Create
|
||||
};
|
||||
|
||||
/* Event Handlers */
|
||||
|
|
Loading…
Reference in a new issue