ibutton_event.h 609 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <stdint.h>
  3. #include <gui/modules/dialog_ex.h>
  4. #include <gui/modules/widget.h>
  5. class iButtonApp;
  6. class iButtonEvent {
  7. public:
  8. // events enum
  9. enum class Type : uint8_t {
  10. EventTypeTick,
  11. EventTypeBack,
  12. EventTypeMenuSelected,
  13. EventTypeDialogResult,
  14. EventTypeTextEditResult,
  15. EventTypeByteEditResult,
  16. EventTypeWidgetButtonResult,
  17. };
  18. // payload
  19. union {
  20. uint32_t menu_index;
  21. DialogExResult dialog_result;
  22. GuiButtonType widget_button_result;
  23. } payload;
  24. // event type
  25. Type type;
  26. };