unleashed-firmware/lib/app-scened-template/view_modules/text_input_vm.h

42 lines
1.0 KiB
C
Raw Normal View History

#pragma once
#include "generic_view_module.h"
#include <gui/modules/text_input.h>
class TextInputVM : public GenericViewModule {
public:
TextInputVM();
~TextInputVM() final;
View* get_view() final;
void clean() final;
/**
* @brief Set text input result callback
*
* @param callback - callback fn
* @param callback_context - callback context
* @param text - text buffer to use
* @param max_text_length - text buffer length
* @param clear_default_text - clears given buffer on OK event
*/
void set_result_callback(
TextInputCallback callback,
void* callback_context,
char* text,
uint8_t max_text_length,
bool clear_default_text);
/**
* @brief Set text input header text
*
* @param text - text to be shown
*/
void set_header_text(const char* text);
void set_validator(TextInputValidatorCallback callback, void* callback_context);
void* get_validator_callback_context();
private:
TextInput* text_input;
};