unleashed-firmware/lib/app-scened-template/view_modules/popup_vm.h
hedger 4d6b170769
[FL-2520] FW build with -Wextra (#1185)
* Fixing compiler warnings with -Wextra
* More warnings suppression, WIP
* Even more warning fixes
* Added new lines at end of text files.
* Padding fix
* Additional fixes to warnings on different build configurations; added -Wextra to default build pipeline
* Fixes for Secplus v1
* -additional warnings
* +-Wredundant-decls fixes
* FuriHal: print stack overflow task name in console
* FuriHal: add missing include

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
2022-05-06 16:37:10 +03:00

68 lines
1.7 KiB
C++

#pragma once
#include "generic_view_module.h"
#include <gui/modules/popup.h>
class PopupVM : public GenericViewModule {
public:
PopupVM();
~PopupVM() final;
View* get_view() final;
void clean() final;
/**
* Set popup header text
* @param text - text to be shown
*/
void set_callback(PopupCallback callback);
/**
* Set popup context
* @param context - context pointer, will be passed to result callback
*/
void set_context(void* context);
/**
* Set popup header text
* If text is null, popup header will not be rendered
* @param text - text to be shown, can be multiline
* @param x, y - text position
* @param horizontal, vertical - text aligment
*/
void set_header(const char* text, uint8_t x, uint8_t y, Align horizontal, Align vertical);
/**
* Set popup text
* If text is null, popup text will not be rendered
* @param text - text to be shown, can be multiline
* @param x, y - text position
* @param horizontal, vertical - text aligment
*/
void set_text(const char* text, uint8_t x, uint8_t y, Align horizontal, Align vertical);
/**
* Set popup icon
* If icon position is negative, popup icon will not be rendered
* @param x, y - icon position
* @param name - icon to be shown
*/
void set_icon(int8_t x, int8_t y, const Icon* icon);
/**
* Set popup timeout
* @param timeout_in_ms - popup timeout value in milliseconds
*/
void set_timeout(uint32_t timeout_in_ms);
/**
* Enable popup timeout
*/
void enable_timeout();
/**
* Disable popup timeout
*/
void disable_timeout();
private:
Popup* popup;
};