#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "scenes/sonicare_scene.h" typedef struct Sonicare Sonicare; struct Sonicare { ViewDispatcher* view_dispatcher; Gui* gui; NotificationApp* notifications; SceneManager* scene_manager; Storage* storage; DialogsApp* dialogs; Widget* widget; // Common Views Submenu* submenu; DialogEx* dialog_ex; Popup* popup; TextInput* text_input; ByteInput* byte_input; }; typedef enum { SonicareViewSubmenu, SonicareViewDialogEx, SonicareViewPopup, SonicareViewWidget, SonicareViewTextInput, SonicareViewByteInput, SonicareViewRead, } SonicareView; typedef enum { SonicareMenuIndexRead, SonicareMenuIndexAbout, SonicareMenuIndexSaved, SonicareMenuIndexAddManually, SonicareMenuIndexExtraActions, } SonicareMenuIndex; void sonicare_widget_callback(GuiButtonType result, InputType type, void* context);