irda-app-scene.hpp 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. #pragma once
  2. #include "../irda-app.hpp"
  3. #include <api-hal-irda.h>
  4. #include "irda.h"
  5. #include <gui/elements.h>
  6. #include <vector>
  7. #include <string>
  8. class IrdaApp;
  9. class IrdaAppScene {
  10. public:
  11. virtual void on_enter(IrdaApp* app) = 0;
  12. virtual bool on_event(IrdaApp* app, IrdaAppEvent* event) = 0;
  13. virtual void on_exit(IrdaApp* app) = 0;
  14. virtual ~IrdaAppScene(){};
  15. private:
  16. };
  17. class IrdaAppSceneStart : public IrdaAppScene {
  18. public:
  19. void on_enter(IrdaApp* app) final;
  20. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  21. void on_exit(IrdaApp* app) final;
  22. };
  23. class IrdaAppSceneUniversal : public IrdaAppScene {
  24. public:
  25. void on_enter(IrdaApp* app) final;
  26. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  27. void on_exit(IrdaApp* app) final;
  28. };
  29. class IrdaAppSceneLearn : public IrdaAppScene {
  30. public:
  31. void on_enter(IrdaApp* app) final;
  32. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  33. void on_exit(IrdaApp* app) final;
  34. };
  35. class IrdaAppSceneLearnSuccess : public IrdaAppScene {
  36. public:
  37. void on_enter(IrdaApp* app) final;
  38. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  39. void on_exit(IrdaApp* app) final;
  40. };
  41. class IrdaAppSceneLearnEnterName : public IrdaAppScene {
  42. public:
  43. void on_enter(IrdaApp* app) final;
  44. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  45. void on_exit(IrdaApp* app) final;
  46. };
  47. class IrdaAppSceneLearnDone : public IrdaAppScene {
  48. public:
  49. void on_enter(IrdaApp* app) final;
  50. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  51. void on_exit(IrdaApp* app) final;
  52. };
  53. class IrdaAppSceneLearnDoneAfter : public IrdaAppScene {
  54. public:
  55. void on_enter(IrdaApp* app) final;
  56. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  57. void on_exit(IrdaApp* app) final;
  58. };
  59. class IrdaAppSceneRemote : public IrdaAppScene {
  60. public:
  61. void on_enter(IrdaApp* app) final;
  62. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  63. void on_exit(IrdaApp* app) final;
  64. private:
  65. std::vector<std::string> buttons_names;
  66. };
  67. class IrdaAppSceneRemoteList : public IrdaAppScene {
  68. public:
  69. void on_enter(IrdaApp* app) final;
  70. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  71. void on_exit(IrdaApp* app) final;
  72. std::vector<std::string> remote_names;
  73. };
  74. class IrdaAppSceneEdit : public IrdaAppScene {
  75. public:
  76. void on_enter(IrdaApp* app) final;
  77. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  78. void on_exit(IrdaApp* app) final;
  79. };
  80. class IrdaAppSceneEditKeySelect : public IrdaAppScene {
  81. public:
  82. void on_enter(IrdaApp* app) final;
  83. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  84. void on_exit(IrdaApp* app) final;
  85. private:
  86. std::vector<std::string> buttons_names;
  87. };
  88. class IrdaAppSceneEditRename : public IrdaAppScene {
  89. public:
  90. void on_enter(IrdaApp* app) final;
  91. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  92. void on_exit(IrdaApp* app) final;
  93. };
  94. class IrdaAppSceneEditDelete : public IrdaAppScene {
  95. public:
  96. void on_enter(IrdaApp* app) final;
  97. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  98. void on_exit(IrdaApp* app) final;
  99. };
  100. class IrdaAppSceneEditRenameDone : public IrdaAppScene {
  101. public:
  102. void on_enter(IrdaApp* app) final;
  103. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  104. void on_exit(IrdaApp* app) final;
  105. };
  106. class IrdaAppSceneEditDeleteDone : public IrdaAppScene {
  107. public:
  108. void on_enter(IrdaApp* app) final;
  109. bool on_event(IrdaApp* app, IrdaAppEvent* event) final;
  110. void on_exit(IrdaApp* app) final;
  111. };