FlippyPass/project/ui/app.h

64 lines
No EOL
1.3 KiB
C

// Define once
#ifndef H_FP_APP
#define H_FP_APP
// Libraries
/* System */
#include <furi.h>
/* GUI */
#include <gui/gui.h>
#include <gui/icon_i.h>
#include <gui/scene_manager.h>
#include <gui/view_dispatcher.h>
/* GUI Modules */
#include <gui/modules/dialog_ex.h>
#include <gui/modules/submenu.h>
#include <gui/modules/popup.h>
#include <gui/modules/variable_item_list.h>
#include <gui/modules/text_box.h>
#include <gui/modules/text_input.h>
/* Our App */
#include "../backend/base.h"
#include "../backend/manager.h"
// Structures
/* View Types */
typedef enum { FP_View_VariableItemList, FP_View_Submenu, FP_View_TextBox, FP_View_TextInput, FP_View_Dialog, FP_View_Popup } FP_View;
/* Scenes */
typedef enum {
FP_Scene_Auth,
FP_Scene_MainMenu,
FP_Scene_Overview,
FP_Scene_View,
FP_Scene_Cred,
FP_Scene_Send,
FP_Scene_Create,
FP_Scene_Type,
FP_Scene_Archive,
FP_Scene_About,
FP_Scene_Count // Last Index, says how many scenes there are
} FP_Scene;
/* Main App*/
typedef struct {
SceneManager* scene_manager;
ViewDispatcher* view_dispatcher;
VariableItemList* varitemlist;
TextInput* textinput;
DialogEx* dialog;
Submenu* submenu;
TextBox* textbox;
Popup* popup;
void* usb_prev_mode;
Manager* manager;
char* enterkey;
char* keyboard;
int selection;
} FP_App;
#endif