C++ apps: templated scene controller (#517)

* C++ apps: templated scene controller
* templated app: fix type names
* templated app: text store component
* Applications: add "Templated Scene" application
* templated app: refractoring
* Gui module byte input: fix docs
* templated app: new byte input scene
* templated app: dialog ex view module
* templated app: popup view module
* templated app: dialog-ex view module, fix docs
* templated app: text input view module
* Gui module text input: fix docs
* Furi: duplicated include
* templated app: record holder (controller) class
* templated app: view modules can now be accessed via cast
* templated app: remove unused includes
* templated app: fix return code
This commit is contained in:
SG
2021-06-15 21:01:56 +10:00
committed by GitHub
parent 3a2121bbb8
commit 0b14db4fb3
30 changed files with 1242 additions and 9 deletions

View File

@@ -0,0 +1,37 @@
#pragma once
#include "generic-view-module.h"
#include <gui/modules/byte_input.h>
class ByteInputVM : public GenericViewModule {
public:
ByteInputVM();
~ByteInputVM() final;
View* get_view() final;
void clean() final;
/**
* @brief Set byte input result callback
*
* @param input_callback input callback fn
* @param changed_callback changed callback fn
* @param callback_context callback context
* @param bytes buffer to use
* @param bytes_count buffer length
*/
void set_result_callback(
ByteInputCallback input_callback,
ByteChangedCallback changed_callback,
void* callback_context,
uint8_t* bytes,
uint8_t bytes_count);
/**
* @brief Set byte input header text
*
* @param text text to be shown
*/
void set_header_text(const char* text);
private:
ByteInput* byte_input;
};