unleashed-firmware/lib/app-scened-template/view-modules/dialog-ex-vm.h
SG 22e1ecb642
New LF-RFID app (#534)
* Hal lfrfid: add read timer pulse and period config fns
* New debug application for lfrfid subsystem
* New lfrfid: app, fix naming
* App lfrfid: assets
* Container view module
* App ibutton: remove unused header
* App lfrfid scenes
* App notification, add yield to blocking operations, add speaker volume control
* App lfrfid: reading key scene
* Assets: placeholder icon
* App lfrfid: reworked container view module
* App lfrfid: new scenes
* App lfrfid: write scene
* App lfrfid: write hid
* App lfrfid: emulate scene
* App lfrfid: save name scene
* App lfrfid: add missing file
2021-06-28 17:42:30 +03:00

73 lines
2.1 KiB
C++

#pragma once
#include "generic-view-module.h"
#include <gui/modules/dialog_ex.h>
class DialogExVM : public GenericViewModule {
public:
DialogExVM();
~DialogExVM() final;
View* get_view() final;
void clean() final;
/**
* Set dialog result callback
* @param callback - result callback function
*/
void set_result_callback(DialogExResultCallback callback);
/**
* Set dialog context
* @param context - context pointer, will be passed to result callback
*/
void set_context(void* context);
/**
* Set dialog header text
* If text is null, dialog 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 dialog text
* If text is null, dialog 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 dialog icon
* If x or y is negative, dialog icon will not be rendered
* @param x, y - icon position
* @param name - icon to be shown
*/
void set_icon(uint8_t x, uint8_t y, IconName name);
/**
* Set left button text
* If text is null, left button will not be rendered and processed
* @param text - text to be shown
*/
void set_left_button_text(const char* text);
/**
* Set center button text
* If text is null, center button will not be rendered and processed
* @param text - text to be shown
*/
void set_center_button_text(const char* text);
/**
* Set right button text
* If text is null, right button will not be rendered and processed
* @param text - text to be shown
*/
void set_right_button_text(const char* text);
private:
DialogEx* dialog_ex;
};