mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 18:50:05 +00:00
102 lines
2.2 KiB
C++
102 lines
2.2 KiB
C++
#include <scwx/qt/map/map_context.hpp>
|
|
|
|
namespace scwx
|
|
{
|
|
namespace qt
|
|
{
|
|
namespace map
|
|
{
|
|
|
|
class MapContext::Impl
|
|
{
|
|
public:
|
|
explicit Impl(std::shared_ptr<view::RadarProductView> radarProductView) :
|
|
map_ {},
|
|
settings_ {},
|
|
radarProductView_ {radarProductView},
|
|
radarProductGroup_ {common::RadarProductGroup::Unknown},
|
|
radarProduct_ {"???"},
|
|
radarProductCode_ {0}
|
|
{
|
|
}
|
|
|
|
~Impl() {}
|
|
|
|
std::weak_ptr<QMapboxGL> map_;
|
|
MapSettings settings_;
|
|
std::shared_ptr<view::RadarProductView> radarProductView_;
|
|
common::RadarProductGroup radarProductGroup_;
|
|
std::string radarProduct_;
|
|
int16_t radarProductCode_;
|
|
};
|
|
|
|
MapContext::MapContext(
|
|
std::shared_ptr<view::RadarProductView> radarProductView) :
|
|
p(std::make_unique<Impl>(radarProductView))
|
|
{
|
|
}
|
|
MapContext::~MapContext() = default;
|
|
|
|
MapContext::MapContext(MapContext&&) noexcept = default;
|
|
MapContext& MapContext::operator=(MapContext&&) noexcept = default;
|
|
|
|
std::weak_ptr<QMapboxGL> MapContext::map() const
|
|
{
|
|
return p->map_;
|
|
}
|
|
|
|
MapSettings& MapContext::settings()
|
|
{
|
|
return p->settings_;
|
|
}
|
|
|
|
std::shared_ptr<view::RadarProductView> MapContext::radar_product_view() const
|
|
{
|
|
return p->radarProductView_;
|
|
}
|
|
|
|
common::RadarProductGroup MapContext::radar_product_group() const
|
|
{
|
|
return p->radarProductGroup_;
|
|
}
|
|
|
|
std::string MapContext::radar_product() const
|
|
{
|
|
return p->radarProduct_;
|
|
}
|
|
|
|
int16_t MapContext::radar_product_code() const
|
|
{
|
|
return p->radarProductCode_;
|
|
}
|
|
|
|
void MapContext::set_map(std::shared_ptr<QMapboxGL> map)
|
|
{
|
|
p->map_ = map;
|
|
}
|
|
|
|
void MapContext::set_radar_product_view(
|
|
std::shared_ptr<view::RadarProductView> radarProductView)
|
|
{
|
|
p->radarProductView_ = radarProductView;
|
|
}
|
|
|
|
void MapContext::set_radar_product_group(
|
|
common::RadarProductGroup radarProductGroup)
|
|
{
|
|
p->radarProductGroup_ = radarProductGroup;
|
|
}
|
|
|
|
void MapContext::set_radar_product(const std::string& radarProduct)
|
|
{
|
|
p->radarProduct_ = radarProduct;
|
|
}
|
|
|
|
void MapContext::set_radar_product_code(int16_t radarProductCode)
|
|
{
|
|
p->radarProductCode_ = radarProductCode;
|
|
}
|
|
|
|
} // namespace map
|
|
} // namespace qt
|
|
} // namespace scwx
|