#pragma once #if defined(__clang__) # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wdelete-non-abstract-non-virtual-dtor" #endif #include #if defined(__clang__) # pragma clang diagnostic pop #endif #include #include #include #include #include namespace scwx { namespace qt { namespace map { class AlertLayer : public DrawLayer { Q_OBJECT Q_DISABLE_COPY_MOVE(AlertLayer) public: explicit AlertLayer(std::shared_ptr context, scwx::awips::Phenomenon phenomenon); ~AlertLayer(); void Initialize() override final; void Render(const QMapLibre::CustomLayerRenderParameters&) override final; void Deinitialize() override final; static void InitializeHandler(); signals: void AlertSelected(const types::TextEventKey& key); private: class Impl; std::unique_ptr p; }; } // namespace map } // namespace qt } // namespace scwx