From a0d739803870403dde2b87e71e8129d0dd4bc632 Mon Sep 17 00:00:00 2001 From: Willy-JL <49810075+Willy-JL@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:37:53 +0100 Subject: [PATCH] BLE Spam add more gui modules --- applications/external/ble_spam/ble_spam.c | 21 +++++++++++++++++++++ applications/external/ble_spam/ble_spam.h | 9 +++++++++ 2 files changed, 30 insertions(+) diff --git a/applications/external/ble_spam/ble_spam.c b/applications/external/ble_spam/ble_spam.c index 522201dfb..c876ac503 100644 --- a/applications/external/ble_spam/ble_spam.c +++ b/applications/external/ble_spam/ble_spam.c @@ -391,6 +391,18 @@ int32_t ble_spam(void* p) { view_set_input_callback(view_main, input_callback); view_dispatcher_add_view(state->ctx.view_dispatcher, ViewMain, view_main); + state->ctx.byte_input = byte_input_alloc(); + view_dispatcher_add_view( + state->ctx.view_dispatcher, ViewByteInput, byte_input_get_view(state->ctx.byte_input)); + + state->ctx.submenu = submenu_alloc(); + view_dispatcher_add_view( + state->ctx.view_dispatcher, ViewSubmenu, submenu_get_view(state->ctx.submenu)); + + state->ctx.text_input = text_input_alloc(); + view_dispatcher_add_view( + state->ctx.view_dispatcher, ViewTextInput, text_input_get_view(state->ctx.text_input)); + state->ctx.variable_item_list = variable_item_list_alloc(); view_dispatcher_add_view( state->ctx.view_dispatcher, @@ -401,6 +413,15 @@ int32_t ble_spam(void* p) { scene_manager_next_scene(state->ctx.scene_manager, SceneMain); view_dispatcher_run(state->ctx.view_dispatcher); + view_dispatcher_remove_view(state->ctx.view_dispatcher, ViewByteInput); + byte_input_free(state->ctx.byte_input); + + view_dispatcher_remove_view(state->ctx.view_dispatcher, ViewSubmenu); + submenu_free(state->ctx.submenu); + + view_dispatcher_remove_view(state->ctx.view_dispatcher, ViewTextInput); + text_input_free(state->ctx.text_input); + view_dispatcher_remove_view(state->ctx.view_dispatcher, ViewVariableItemList); variable_item_list_free(state->ctx.variable_item_list); diff --git a/applications/external/ble_spam/ble_spam.h b/applications/external/ble_spam/ble_spam.h index f97030d50..1e361b8e2 100644 --- a/applications/external/ble_spam/ble_spam.h +++ b/applications/external/ble_spam/ble_spam.h @@ -1,12 +1,18 @@ #pragma once #include +#include +#include +#include #include #include "scenes/_setup.h" enum { ViewMain, + ViewByteInput, + ViewSubmenu, + ViewTextInput, ViewVariableItemList, }; @@ -18,5 +24,8 @@ typedef struct { ViewDispatcher* view_dispatcher; SceneManager* scene_manager; + ByteInput* byte_input; + Submenu* submenu; + TextInput* text_input; VariableItemList* variable_item_list; } Ctx;