Level 3 products widget

This commit is contained in:
Dan Paulat 2022-06-05 23:15:30 -05:00
parent df60007b07
commit ca3586420e
8 changed files with 343 additions and 28 deletions

View file

@ -9,6 +9,7 @@
#include <scwx/qt/ui/flow_layout.hpp>
#include <scwx/qt/ui/level2_products_widget.hpp>
#include <scwx/qt/ui/level2_settings_widget.hpp>
#include <scwx/qt/ui/level3_products_widget.hpp>
#include <scwx/common/characters.hpp>
#include <scwx/common/products.hpp>
#include <scwx/common/vcp.hpp>
@ -93,6 +94,8 @@ public:
ui::Level2ProductsWidget* level2ProductsWidget_;
ui::Level2SettingsWidget* level2SettingsWidget_;
ui::Level3ProductsWidget* level3ProductsWidget_;
std::vector<map::MapWidget*> maps_;
std::vector<float> elevationCuts_;
@ -127,6 +130,13 @@ MainWindow::MainWindow(QWidget* parent) :
delete ui->level2ProductFrame;
ui->level2ProductFrame = p->level2ProductsWidget_;
// Add Level 3 Products
p->level3ProductsWidget_ = new ui::Level3ProductsWidget(this);
ui->radarProductGroupBox->layout()->replaceWidget(ui->level3ProductFrame,
p->level3ProductsWidget_);
delete ui->level3ProductFrame;
ui->level3ProductFrame = p->level3ProductsWidget_;
// Add Level 2 Settings
p->level2SettingsWidget_ = new ui::Level2SettingsWidget(ui->settingsFrame);
ui->settingsFrame->layout()->addWidget(p->level2SettingsWidget_);
@ -169,6 +179,15 @@ MainWindow::MainWindow(QWidget* parent) :
p->SelectRadarProduct(
p->activeMap_, group, productName, productCode);
});
connect(p->level3ProductsWidget_,
&ui::Level3ProductsWidget::RadarProductSelected,
this,
[&](common::RadarProductGroup group,
const std::string& productName,
int16_t productCode) {
p->SelectRadarProduct(
p->activeMap_, group, productName, productCode);
});
connect(p->level2SettingsWidget_,
&ui::Level2SettingsWidget::ElevationSelected,
this,
@ -409,6 +428,7 @@ void MainWindowImpl::UpdateRadarProductSelection(
common::RadarProductGroup group, const std::string& product)
{
level2ProductsWidget_->UpdateProductSelection(group, product);
level3ProductsWidget_->UpdateProductSelection(group, product);
}
void MainWindowImpl::UpdateRadarProductSettings()