popup_vm.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "popup_vm.h"
  2. #include <gui/modules/popup.h>
  3. PopupVM::PopupVM() {
  4. popup = popup_alloc();
  5. }
  6. PopupVM::~PopupVM() {
  7. popup_free(popup);
  8. }
  9. View* PopupVM::get_view() {
  10. return popup_get_view(popup);
  11. }
  12. void PopupVM::clean() {
  13. set_callback(NULL);
  14. set_context(NULL);
  15. set_header(NULL, 0, 0, AlignLeft, AlignBottom);
  16. set_text(NULL, 0, 0, AlignLeft, AlignBottom);
  17. set_icon(0, 0, NULL);
  18. disable_timeout();
  19. set_timeout(1000);
  20. }
  21. void PopupVM::set_callback(PopupCallback callback) {
  22. popup_set_callback(popup, callback);
  23. }
  24. void PopupVM::set_context(void* context) {
  25. popup_set_context(popup, context);
  26. }
  27. void PopupVM::set_header(const char* text, uint8_t x, uint8_t y, Align horizontal, Align vertical) {
  28. popup_set_header(popup, text, x, y, horizontal, vertical);
  29. }
  30. void PopupVM::set_text(const char* text, uint8_t x, uint8_t y, Align horizontal, Align vertical) {
  31. popup_set_text(popup, text, x, y, horizontal, vertical);
  32. }
  33. void PopupVM::set_icon(int8_t x, int8_t y, const Icon* icon) {
  34. popup_set_icon(popup, x, y, icon);
  35. }
  36. void PopupVM::set_timeout(uint32_t timeout_in_ms) {
  37. popup_set_timeout(popup, timeout_in_ms);
  38. }
  39. void PopupVM::enable_timeout() {
  40. popup_enable_timeout(popup);
  41. }
  42. void PopupVM::disable_timeout() {
  43. popup_disable_timeout(popup);
  44. }