RUReboltPopupLayer.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. //
  2. // RUReboltPopupLayer.h
  3. //
  4. // Created by ZhengSong on 2023/6/14.
  5. //
  6. //没有自定义数据的通用弹窗
  7. #ifndef RUReboltPopupLayer_h
  8. #define RUReboltPopupLayer_h
  9. #include "RUDefine.h"
  10. #include "RUReboltLayer.h"
  11. #include "RUBasePopup.h"
  12. NS_RU_BEGIN
  13. class ReboltPopupLayer final : public redutils::BasePopup
  14. {
  15. public:
  16. ReboltPopupLayer();
  17. ~ReboltPopupLayer();
  18. /*
  19. 作用:创建一个rebolt弹窗页面
  20. 参数:windowName: 弹窗名字
  21. redreamName: redream文件名
  22. closeCb: 窗口关闭回调
  23. notifyCallback: rebot的通知处理
  24. */
  25. static ReboltPopupLayer * create(const std::string& windowName,
  26. const std::string& redreamName,
  27. const std::function<void(void)>& closeCb = nullptr,
  28. std::function<void (const redutils::ReboltNotifyData&)> _notifyCallback = nullptr);
  29. redutils::RUReboltLayer* getReboltLayer() { return _reboltLayer; };
  30. protected:
  31. //override
  32. virtual void _open() override;
  33. virtual void _close() override;
  34. private:
  35. void _onNotifyDevelopment(const redutils::ReboltNotifyData& data);
  36. private:
  37. std::string _redreamName;
  38. redutils::RUReboltLayer* _reboltLayer = nullptr;
  39. std::function<void (const redutils::ReboltNotifyData&)> _notifyCallback = nullptr;
  40. };
  41. NS_RU_END
  42. #endif /* RUReboltPopupLayer_h */