Replaced Menu with Submenu for better appearance
This commit is contained in:
parent
f2237af333
commit
84df9ee710
2 changed files with 18 additions and 22 deletions
|
@ -14,7 +14,7 @@ typedef enum {
|
||||||
} FP_Scene;
|
} FP_Scene;
|
||||||
|
|
||||||
/* Types of Views */
|
/* Types of Views */
|
||||||
typedef enum { FP_View_Menu, FP_View_Popup } FP_View;
|
typedef enum { FP_View_Submenu, FP_View_Popup } FP_View;
|
||||||
|
|
||||||
/* All events */
|
/* All events */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
|
@ -49,51 +49,47 @@ void FP_Scene_Enter_MainMenu(void* context) {
|
||||||
FP_App* app = context;
|
FP_App* app = context;
|
||||||
|
|
||||||
// Reset menu for next draw
|
// Reset menu for next draw
|
||||||
menu_reset(app->menu);
|
submenu_reset(app->submenu);
|
||||||
|
|
||||||
// Adding items to menu
|
// Adding items to menu
|
||||||
menu_add_item(
|
submenu_add_item(
|
||||||
app->menu,
|
app->submenu,
|
||||||
"View Passwords",
|
"View Passwords",
|
||||||
NULL,
|
|
||||||
FP_Scene_MainMenu_Event_View,
|
FP_Scene_MainMenu_Event_View,
|
||||||
FP_Scene_Callback_MainMenu,
|
FP_Scene_Callback_MainMenu,
|
||||||
app
|
app
|
||||||
);
|
);
|
||||||
menu_add_item(
|
submenu_add_item(
|
||||||
app->menu,
|
app->submenu,
|
||||||
"Create Password",
|
"Create Password",
|
||||||
NULL,
|
|
||||||
FP_Scene_MainMenu_Event_Create,
|
FP_Scene_MainMenu_Event_Create,
|
||||||
FP_Scene_Callback_MainMenu,
|
FP_Scene_Callback_MainMenu,
|
||||||
app
|
app
|
||||||
);
|
);
|
||||||
menu_add_item(
|
submenu_add_item(
|
||||||
app->menu,
|
app->submenu,
|
||||||
"Archive Actions",
|
"Archive Actions",
|
||||||
NULL,
|
|
||||||
FP_Scene_MainMenu_Event_Archive,
|
FP_Scene_MainMenu_Event_Archive,
|
||||||
FP_Scene_Callback_MainMenu,
|
FP_Scene_Callback_MainMenu,
|
||||||
app
|
app
|
||||||
);
|
);
|
||||||
menu_add_item(
|
submenu_add_item(
|
||||||
app->menu,
|
app->submenu,
|
||||||
"About",
|
"About",
|
||||||
NULL,
|
|
||||||
FP_Scene_MainMenu_Event_About,
|
FP_Scene_MainMenu_Event_About,
|
||||||
FP_Scene_Callback_MainMenu,
|
FP_Scene_Callback_MainMenu,
|
||||||
app
|
app
|
||||||
);
|
);
|
||||||
|
|
||||||
// Switching to current view
|
// Switching to current view
|
||||||
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Menu);
|
view_dispatcher_switch_to_view(app->view_dispatcher, FP_View_Submenu);
|
||||||
}
|
}
|
||||||
void FP_Scene_Exit_MainMenu(void* context) {
|
void FP_Scene_Exit_MainMenu(void* context) {
|
||||||
// Setting context
|
// Setting context
|
||||||
FP_App* app = context;
|
FP_App* app = context;
|
||||||
|
|
||||||
// Reset menu
|
// Reset menu
|
||||||
menu_reset(app->menu);
|
submenu_reset(app->submenu);
|
||||||
}
|
}
|
||||||
bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
|
bool FP_Scene_Event_MainMenu(void* context, SceneManagerEvent event) {
|
||||||
// Setting context
|
// Setting context
|
||||||
|
@ -174,7 +170,7 @@ FP_App* fp_app_create() {
|
||||||
view_dispatcher_enable_queue(result->view_dispatcher);
|
view_dispatcher_enable_queue(result->view_dispatcher);
|
||||||
|
|
||||||
// Allocating all types of views
|
// Allocating all types of views
|
||||||
result->menu = menu_alloc();
|
result->submenu = submenu_alloc();
|
||||||
result->popup = popup_alloc();
|
result->popup = popup_alloc();
|
||||||
|
|
||||||
// Event handling
|
// Event handling
|
||||||
|
@ -183,7 +179,7 @@ FP_App* fp_app_create() {
|
||||||
view_dispatcher_set_navigation_event_callback(result->view_dispatcher, FP_SceneManager_Callback_Navigation);
|
view_dispatcher_set_navigation_event_callback(result->view_dispatcher, FP_SceneManager_Callback_Navigation);
|
||||||
|
|
||||||
// Adding views to dispatcher
|
// Adding views to dispatcher
|
||||||
view_dispatcher_add_view(result->view_dispatcher, FP_View_Menu, menu_get_view(result->menu));
|
view_dispatcher_add_view(result->view_dispatcher, FP_View_Submenu, submenu_get_view(result->submenu));
|
||||||
view_dispatcher_add_view(result->view_dispatcher, FP_View_Popup, popup_get_view(result->popup));
|
view_dispatcher_add_view(result->view_dispatcher, FP_View_Popup, popup_get_view(result->popup));
|
||||||
|
|
||||||
// Return app
|
// Return app
|
||||||
|
@ -210,10 +206,10 @@ void fp_app_run(FP_App* app) {
|
||||||
void fp_app_delete(FP_App* app) {
|
void fp_app_delete(FP_App* app) {
|
||||||
// Freeing stuff from memory
|
// Freeing stuff from memory
|
||||||
scene_manager_free(app->scene_manager);
|
scene_manager_free(app->scene_manager);
|
||||||
view_dispatcher_remove_view(app->view_dispatcher, FP_View_Menu);
|
view_dispatcher_remove_view(app->view_dispatcher, FP_View_Submenu);
|
||||||
view_dispatcher_remove_view(app->view_dispatcher, FP_View_Popup);
|
view_dispatcher_remove_view(app->view_dispatcher, FP_View_Popup);
|
||||||
view_dispatcher_free(app->view_dispatcher);
|
view_dispatcher_free(app->view_dispatcher);
|
||||||
menu_free(app->menu);
|
submenu_free(app->submenu);
|
||||||
popup_free(app->popup);
|
popup_free(app->popup);
|
||||||
free(app);
|
free(app);
|
||||||
}
|
}
|
|
@ -10,7 +10,7 @@
|
||||||
#include <gui/scene_manager.h>
|
#include <gui/scene_manager.h>
|
||||||
#include <gui/view_dispatcher.h>
|
#include <gui/view_dispatcher.h>
|
||||||
|
|
||||||
#include <gui/modules/menu.h>
|
#include <gui/modules/submenu.h>
|
||||||
#include <gui/modules/popup.h>
|
#include <gui/modules/popup.h>
|
||||||
|
|
||||||
#include "app.h"
|
#include "app.h"
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
typedef struct {
|
typedef struct {
|
||||||
SceneManager* scene_manager;
|
SceneManager* scene_manager;
|
||||||
ViewDispatcher* view_dispatcher;
|
ViewDispatcher* view_dispatcher;
|
||||||
Menu* menu;
|
Submenu* submenu;
|
||||||
Popup* popup;
|
Popup* popup;
|
||||||
} FP_App;
|
} FP_App;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue