Add widget support

Signed-off-by: Markus Birth <markus@birth-online.de>
This commit is contained in:
2026-01-26 16:15:35 +00:00
parent 4f4e55a8c1
commit a77bcbacfb
2 changed files with 17 additions and 0 deletions
+15
View File
@@ -39,12 +39,20 @@ static Sonicare* sonicare_alloc(void) {
sonicare->submenu = submenu_alloc();
view_dispatcher_add_view(sonicare->view_dispatcher, SonicareViewSubmenu, submenu_get_view(sonicare->submenu));
// Widget
sonicare->widget = widget_alloc();
view_dispatcher_add_view(sonicare->view_dispatcher, SonicareViewWidget, widget_get_view(sonicare->widget));
return sonicare;
}
static void sonicare_free(Sonicare* sonicare) {
furi_assert(sonicare);
// Widget
view_dispatcher_remove_view(sonicare->view_dispatcher, SonicareViewWidget);
widget_free(sonicare->widget);
// Submenu
view_dispatcher_remove_view(sonicare->view_dispatcher, SonicareViewSubmenu);
submenu_free(sonicare->submenu);
@@ -80,3 +88,10 @@ int32_t sonicare_app(void* p) {
return 0;
}
void sonicare_widget_callback(GuiButtonType result, InputType type, void* context) {
Sonicare* app = context;
if (type == InputTypeShort) {
view_dispatcher_send_custom_event(app->view_dispatcher, result);
}
}