mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 01:20:06 +00:00 
			
		
		
		
	Update radar site text
This commit is contained in:
		
							parent
							
								
									f6262bba65
								
							
						
					
					
						commit
						f71391e3b9
					
				
					 6 changed files with 70 additions and 7 deletions
				
			
		|  | @ -3,6 +3,7 @@ | ||||||
| #include <scwx/common/sites.hpp> | #include <scwx/common/sites.hpp> | ||||||
| #include <scwx/util/logger.hpp> | #include <scwx/util/logger.hpp> | ||||||
| 
 | 
 | ||||||
|  | #include <format> | ||||||
| #include <unordered_map> | #include <unordered_map> | ||||||
| 
 | 
 | ||||||
| namespace scwx | namespace scwx | ||||||
|  | @ -90,6 +91,29 @@ std::string RadarSite::place() const | ||||||
|    return p->place_; |    return p->place_; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | std::string RadarSite::location_name() const | ||||||
|  | { | ||||||
|  |    std::string locationName; | ||||||
|  | 
 | ||||||
|  |    if (p->country_ == "USA") | ||||||
|  |    { | ||||||
|  |       locationName = std::format("{}, {}", p->place_, p->state_); | ||||||
|  |    } | ||||||
|  |    else if (std::all_of(p->state_.cbegin(), | ||||||
|  |                         p->state_.cend(), | ||||||
|  |                         [](char c) { return std::isdigit(c); })) | ||||||
|  |    { | ||||||
|  |       locationName = std::format("{}, {}", p->place_, p->country_); | ||||||
|  |    } | ||||||
|  |    else | ||||||
|  |    { | ||||||
|  |       locationName = | ||||||
|  |          std::format("{}, {}, {}", p->place_, p->state_, p->country_); | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    return locationName; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| std::shared_ptr<RadarSite> RadarSite::Get(const std::string& id) | std::shared_ptr<RadarSite> RadarSite::Get(const std::string& id) | ||||||
| { | { | ||||||
|    std::shared_ptr<RadarSite> radarSite = nullptr; |    std::shared_ptr<RadarSite> radarSite = nullptr; | ||||||
|  |  | ||||||
|  | @ -31,6 +31,7 @@ public: | ||||||
|    std::string country() const; |    std::string country() const; | ||||||
|    std::string state() const; |    std::string state() const; | ||||||
|    std::string place() const; |    std::string place() const; | ||||||
|  |    std::string location_name() const; | ||||||
| 
 | 
 | ||||||
|    static std::shared_ptr<RadarSite> Get(const std::string& id); |    static std::shared_ptr<RadarSite> Get(const std::string& id); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -80,6 +80,7 @@ public: | ||||||
|    void UpdateRadarProductSelection(common::RadarProductGroup group, |    void UpdateRadarProductSelection(common::RadarProductGroup group, | ||||||
|                                     const std::string&        product); |                                     const std::string&        product); | ||||||
|    void UpdateRadarProductSettings(); |    void UpdateRadarProductSettings(); | ||||||
|  |    void UpdateRadarSite(); | ||||||
|    void UpdateVcp(); |    void UpdateVcp(); | ||||||
| 
 | 
 | ||||||
|    MainWindow*       mainWindow_; |    MainWindow*       mainWindow_; | ||||||
|  | @ -149,6 +150,8 @@ MainWindow::MainWindow(QWidget* parent) : | ||||||
|            &QApplication::focusChanged, |            &QApplication::focusChanged, | ||||||
|            this, |            this, | ||||||
|            [=](QWidget* old, QWidget* now) { p->HandleFocusChange(now); }); |            [=](QWidget* old, QWidget* now) { p->HandleFocusChange(now); }); | ||||||
|  | 
 | ||||||
|  |    p->HandleFocusChange(p->activeMap_); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| MainWindow::~MainWindow() | MainWindow::~MainWindow() | ||||||
|  | @ -355,6 +358,7 @@ void MainWindowImpl::ConfigureMapLayout() | ||||||
|                         activeMap_->GetRadarProductGroup(), |                         activeMap_->GetRadarProductGroup(), | ||||||
|                         activeMap_->GetRadarProductName()); |                         activeMap_->GetRadarProductName()); | ||||||
|                      UpdateRadarProductSettings(); |                      UpdateRadarProductSettings(); | ||||||
|  |                      UpdateRadarSite(); | ||||||
|                      UpdateVcp(); |                      UpdateVcp(); | ||||||
|                   } |                   } | ||||||
|                }, |                }, | ||||||
|  | @ -382,6 +386,7 @@ void MainWindowImpl::HandleFocusChange(QWidget* focused) | ||||||
|       UpdateRadarProductSelection(mapWidget->GetRadarProductGroup(), |       UpdateRadarProductSelection(mapWidget->GetRadarProductGroup(), | ||||||
|                                   mapWidget->GetRadarProductName()); |                                   mapWidget->GetRadarProductName()); | ||||||
|       UpdateRadarProductSettings(); |       UpdateRadarProductSettings(); | ||||||
|  |       UpdateRadarSite(); | ||||||
|       UpdateVcp(); |       UpdateVcp(); | ||||||
|    } |    } | ||||||
| } | } | ||||||
|  | @ -529,6 +534,26 @@ void MainWindowImpl::UpdateRadarProductSettings() | ||||||
|    UpdateElevationSelection(currentElevation); |    UpdateElevationSelection(currentElevation); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void MainWindowImpl::UpdateRadarSite() | ||||||
|  | { | ||||||
|  |    std::shared_ptr<config::RadarSite> radarSite = activeMap_->GetRadarSite(); | ||||||
|  | 
 | ||||||
|  |    if (radarSite != nullptr) | ||||||
|  |    { | ||||||
|  |       mainWindow_->ui->radarSiteValueLabel->setVisible(true); | ||||||
|  |       mainWindow_->ui->radarLocationLabel->setVisible(true); | ||||||
|  | 
 | ||||||
|  |       mainWindow_->ui->radarSiteValueLabel->setText(radarSite->id().c_str()); | ||||||
|  |       mainWindow_->ui->radarLocationLabel->setText( | ||||||
|  |          radarSite->location_name().c_str()); | ||||||
|  |    } | ||||||
|  |    else | ||||||
|  |    { | ||||||
|  |       mainWindow_->ui->radarSiteValueLabel->setVisible(false); | ||||||
|  |       mainWindow_->ui->radarLocationLabel->setVisible(false); | ||||||
|  |    } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void MainWindowImpl::UpdateVcp() | void MainWindowImpl::UpdateVcp() | ||||||
| { | { | ||||||
|    uint16_t vcp = activeMap_->GetVcp(); |    uint16_t vcp = activeMap_->GetVcp(); | ||||||
|  |  | ||||||
|  | @ -215,9 +215,20 @@ std::string MapWidget::GetRadarProductName() const | ||||||
|    } |    } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | std::shared_ptr<config::RadarSite> MapWidget::GetRadarSite() const | ||||||
|  | { | ||||||
|  |    std::shared_ptr<config::RadarSite> radarSite = nullptr; | ||||||
|  | 
 | ||||||
|  |    if (p->radarProductManager_ != nullptr) | ||||||
|  |    { | ||||||
|  |       radarSite = p->radarProductManager_->radar_site(); | ||||||
|  |    } | ||||||
|  | 
 | ||||||
|  |    return radarSite; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| uint16_t MapWidget::GetVcp() const | uint16_t MapWidget::GetVcp() const | ||||||
| { | { | ||||||
| 
 |  | ||||||
|    if (p->context_->radarProductView_ != nullptr) |    if (p->context_->radarProductView_ != nullptr) | ||||||
|    { |    { | ||||||
|       return p->context_->radarProductView_->vcp(); |       return p->context_->radarProductView_->vcp(); | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| #pragma once | #pragma once | ||||||
| 
 | 
 | ||||||
| #include <scwx/common/products.hpp> | #include <scwx/common/products.hpp> | ||||||
|  | #include <scwx/qt/config/radar_site.hpp> | ||||||
| #include <scwx/qt/types/radar_product_record.hpp> | #include <scwx/qt/types/radar_product_record.hpp> | ||||||
| 
 | 
 | ||||||
| #include <chrono> | #include <chrono> | ||||||
|  | @ -33,11 +34,12 @@ public: | ||||||
|    explicit MapWidget(const QMapboxGLSettings&); |    explicit MapWidget(const QMapboxGLSettings&); | ||||||
|    ~MapWidget(); |    ~MapWidget(); | ||||||
| 
 | 
 | ||||||
|    float                     GetElevation() const; |    float                              GetElevation() const; | ||||||
|    std::vector<float>        GetElevationCuts() const; |    std::vector<float>                 GetElevationCuts() const; | ||||||
|    common::RadarProductGroup GetRadarProductGroup() const; |    common::RadarProductGroup          GetRadarProductGroup() const; | ||||||
|    std::string               GetRadarProductName() const; |    std::string                        GetRadarProductName() const; | ||||||
|    uint16_t                  GetVcp() const; |    std::shared_ptr<config::RadarSite> GetRadarSite() const; | ||||||
|  |    uint16_t                           GetVcp() const; | ||||||
| 
 | 
 | ||||||
|    void SelectElevation(float elevation); |    void SelectElevation(float elevation); | ||||||
|    void SelectRadarProduct(common::Level2Product product); |    void SelectRadarProduct(common::Level2Product product); | ||||||
|  |  | ||||||
|  | @ -102,7 +102,7 @@ | ||||||
| <context> | <context> | ||||||
|     <name>scwx::qt::main::MainWindow</name> |     <name>scwx::qt::main::MainWindow</name> | ||||||
|     <message> |     <message> | ||||||
|         <location filename="../source/scwx/qt/main/main_window.cpp" line="283"/> |         <location filename="../source/scwx/qt/main/main_window.cpp" line="286"/> | ||||||
|         <source>Unrecognized NEXRAD Product:</source> |         <source>Unrecognized NEXRAD Product:</source> | ||||||
|         <translation type="unfinished"></translation> |         <translation type="unfinished"></translation> | ||||||
|     </message> |     </message> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat