From 6087c53b3e258bde0bb2772868b4889fc0a1c756 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Mon, 20 Nov 2023 21:03:03 -0600 Subject: [PATCH] Connect radar site layer signal to trigger update --- scwx-qt/source/scwx/qt/main/main_window.cpp | 12 ++++++++++++ scwx-qt/source/scwx/qt/map/map_widget.cpp | 4 ++++ scwx-qt/source/scwx/qt/map/map_widget.hpp | 1 + 3 files changed, 17 insertions(+) diff --git a/scwx-qt/source/scwx/qt/main/main_window.cpp b/scwx-qt/source/scwx/qt/main/main_window.cpp index bd97c031..d07ca41c 100644 --- a/scwx-qt/source/scwx/qt/main/main_window.cpp +++ b/scwx-qt/source/scwx/qt/main/main_window.cpp @@ -807,6 +807,18 @@ void MainWindowImpl::ConnectAnimationSignals() &map::MapWidget::WidgetPainted, timelineManager_.get(), [=, this]() { timelineManager_->ReceiveMapWidgetPainted(i); }); + connect(maps_[i], + &map::MapWidget::RadarSiteRequested, + this, + [this](const std::string& id) + { + for (map::MapWidget* map : maps_) + { + map->SelectRadarSite(id); + } + + UpdateRadarSite(); + }); } } diff --git a/scwx-qt/source/scwx/qt/map/map_widget.cpp b/scwx-qt/source/scwx/qt/map/map_widget.cpp index c9428a8a..7c543bdd 100644 --- a/scwx-qt/source/scwx/qt/map/map_widget.cpp +++ b/scwx-qt/source/scwx/qt/map/map_widget.cpp @@ -899,6 +899,10 @@ void MapWidgetImpl::AddLayer(types::LayerType type, case types::InformationLayer::RadarSite: radarSiteLayer_ = std::make_shared(context_); AddLayer(layerName, radarSiteLayer_, before); + connect(radarSiteLayer_.get(), + &RadarSiteLayer::RadarSiteSelected, + widget_, + &MapWidget::RadarSiteRequested); break; default: diff --git a/scwx-qt/source/scwx/qt/map/map_widget.hpp b/scwx-qt/source/scwx/qt/map/map_widget.hpp index c130c3e6..1f863df3 100644 --- a/scwx-qt/source/scwx/qt/map/map_widget.hpp +++ b/scwx-qt/source/scwx/qt/map/map_widget.hpp @@ -147,6 +147,7 @@ signals: double bearing, double pitch); void MapStyleChanged(const std::string& styleName); + void RadarSiteRequested(const std::string& id); void RadarSiteUpdated(std::shared_ptr radarSite); void RadarSweepUpdated(); void RadarSweepNotUpdated(types::NoUpdateReason reason);