mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 16:40:05 +00:00
Radar site dialog
This commit is contained in:
parent
60a85a6b14
commit
9e3c525109
6 changed files with 162 additions and 4 deletions
|
|
@ -102,11 +102,14 @@ set(SRC_TYPES source/scwx/qt/types/radar_product_record.cpp)
|
||||||
set(HDR_UI source/scwx/qt/ui/flow_layout.hpp
|
set(HDR_UI source/scwx/qt/ui/flow_layout.hpp
|
||||||
source/scwx/qt/ui/level2_products_widget.hpp
|
source/scwx/qt/ui/level2_products_widget.hpp
|
||||||
source/scwx/qt/ui/level2_settings_widget.hpp
|
source/scwx/qt/ui/level2_settings_widget.hpp
|
||||||
source/scwx/qt/ui/level3_products_widget.hpp)
|
source/scwx/qt/ui/level3_products_widget.hpp
|
||||||
|
source/scwx/qt/ui/radar_site_dialog.hpp)
|
||||||
set(SRC_UI source/scwx/qt/ui/flow_layout.cpp
|
set(SRC_UI source/scwx/qt/ui/flow_layout.cpp
|
||||||
source/scwx/qt/ui/level2_products_widget.cpp
|
source/scwx/qt/ui/level2_products_widget.cpp
|
||||||
source/scwx/qt/ui/level2_settings_widget.cpp
|
source/scwx/qt/ui/level2_settings_widget.cpp
|
||||||
source/scwx/qt/ui/level3_products_widget.cpp)
|
source/scwx/qt/ui/level3_products_widget.cpp
|
||||||
|
source/scwx/qt/ui/radar_site_dialog.cpp)
|
||||||
|
set(UI_UI source/scwx/qt/ui/radar_site_dialog.ui)
|
||||||
set(HDR_UTIL source/scwx/qt/util/font.hpp
|
set(HDR_UTIL source/scwx/qt/util/font.hpp
|
||||||
source/scwx/qt/util/font_buffer.hpp
|
source/scwx/qt/util/font_buffer.hpp
|
||||||
source/scwx/qt/util/json.hpp
|
source/scwx/qt/util/json.hpp
|
||||||
|
|
@ -172,6 +175,7 @@ set(PROJECT_SOURCES ${HDR_MAIN}
|
||||||
${SRC_TYPES}
|
${SRC_TYPES}
|
||||||
${HDR_UI}
|
${HDR_UI}
|
||||||
${SRC_UI}
|
${SRC_UI}
|
||||||
|
${UI_UI}
|
||||||
${HDR_UTIL}
|
${HDR_UTIL}
|
||||||
${SRC_UTIL}
|
${SRC_UTIL}
|
||||||
${HDR_VIEW}
|
${HDR_VIEW}
|
||||||
|
|
@ -207,6 +211,7 @@ source_group("Header Files\\types" FILES ${HDR_TYPES})
|
||||||
source_group("Source Files\\types" FILES ${SRC_TYPES})
|
source_group("Source Files\\types" FILES ${SRC_TYPES})
|
||||||
source_group("Header Files\\ui" FILES ${HDR_UI})
|
source_group("Header Files\\ui" FILES ${HDR_UI})
|
||||||
source_group("Source Files\\ui" FILES ${SRC_UI})
|
source_group("Source Files\\ui" FILES ${SRC_UI})
|
||||||
|
source_group("UI Files\\ui" FILES ${UI_UI})
|
||||||
source_group("Header Files\\util" FILES ${HDR_UTIL})
|
source_group("Header Files\\util" FILES ${HDR_UTIL})
|
||||||
source_group("Source Files\\util" FILES ${SRC_UTIL})
|
source_group("Source Files\\util" FILES ${SRC_UTIL})
|
||||||
source_group("Header Files\\view" FILES ${HDR_VIEW})
|
source_group("Header Files\\view" FILES ${HDR_VIEW})
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
#include <scwx/qt/ui/level2_products_widget.hpp>
|
#include <scwx/qt/ui/level2_products_widget.hpp>
|
||||||
#include <scwx/qt/ui/level2_settings_widget.hpp>
|
#include <scwx/qt/ui/level2_settings_widget.hpp>
|
||||||
#include <scwx/qt/ui/level3_products_widget.hpp>
|
#include <scwx/qt/ui/level3_products_widget.hpp>
|
||||||
|
#include <scwx/qt/ui/radar_site_dialog.hpp>
|
||||||
#include <scwx/common/characters.hpp>
|
#include <scwx/common/characters.hpp>
|
||||||
#include <scwx/common/products.hpp>
|
#include <scwx/common/products.hpp>
|
||||||
#include <scwx/common/vcp.hpp>
|
#include <scwx/common/vcp.hpp>
|
||||||
|
|
@ -43,6 +44,7 @@ public:
|
||||||
activeMap_ {nullptr},
|
activeMap_ {nullptr},
|
||||||
level2ProductsWidget_ {nullptr},
|
level2ProductsWidget_ {nullptr},
|
||||||
level2SettingsWidget_ {nullptr},
|
level2SettingsWidget_ {nullptr},
|
||||||
|
radarSiteDialog_ {nullptr},
|
||||||
maps_ {},
|
maps_ {},
|
||||||
elevationCuts_ {},
|
elevationCuts_ {},
|
||||||
elevationButtonsChanged_ {false},
|
elevationButtonsChanged_ {false},
|
||||||
|
|
@ -99,6 +101,8 @@ public:
|
||||||
|
|
||||||
ui::Level3ProductsWidget* level3ProductsWidget_;
|
ui::Level3ProductsWidget* level3ProductsWidget_;
|
||||||
|
|
||||||
|
ui::RadarSiteDialog* radarSiteDialog_;
|
||||||
|
|
||||||
std::vector<map::MapWidget*> maps_;
|
std::vector<map::MapWidget*> maps_;
|
||||||
std::vector<float> elevationCuts_;
|
std::vector<float> elevationCuts_;
|
||||||
|
|
||||||
|
|
@ -144,6 +148,9 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||||
// Configure Map
|
// Configure Map
|
||||||
p->ConfigureMapLayout();
|
p->ConfigureMapLayout();
|
||||||
|
|
||||||
|
// Radar Site Dialog
|
||||||
|
p->radarSiteDialog_ = new ui::RadarSiteDialog(this);
|
||||||
|
|
||||||
// Add Level 2 Products
|
// Add Level 2 Products
|
||||||
p->level2ProductsWidget_ = new ui::Level2ProductsWidget(this);
|
p->level2ProductsWidget_ = new ui::Level2ProductsWidget(this);
|
||||||
ui->radarProductGroupBox->layout()->replaceWidget(ui->level2ProductFrame,
|
ui->radarProductGroupBox->layout()->replaceWidget(ui->level2ProductFrame,
|
||||||
|
|
@ -285,6 +292,11 @@ void MainWindow::on_actionExit_triggered()
|
||||||
close();
|
close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_radarSiteSelectButton_clicked()
|
||||||
|
{
|
||||||
|
p->radarSiteDialog_->show();
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::on_resourceTreeCollapseAllButton_clicked()
|
void MainWindow::on_resourceTreeCollapseAllButton_clicked()
|
||||||
{
|
{
|
||||||
ui->resourceTreeView->collapseAll();
|
ui->resourceTreeView->collapseAll();
|
||||||
|
|
|
||||||
|
|
@ -16,12 +16,12 @@ namespace qt
|
||||||
namespace main
|
namespace main
|
||||||
{
|
{
|
||||||
|
|
||||||
|
class MainWindowImpl;
|
||||||
|
|
||||||
class MainWindow : public QMainWindow
|
class MainWindow : public QMainWindow
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
friend class MainWindowImpl;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MainWindow(QWidget* parent = nullptr);
|
MainWindow(QWidget* parent = nullptr);
|
||||||
~MainWindow();
|
~MainWindow();
|
||||||
|
|
@ -31,12 +31,15 @@ public:
|
||||||
private slots:
|
private slots:
|
||||||
void on_actionOpen_triggered();
|
void on_actionOpen_triggered();
|
||||||
void on_actionExit_triggered();
|
void on_actionExit_triggered();
|
||||||
|
void on_radarSiteSelectButton_clicked();
|
||||||
void on_resourceTreeCollapseAllButton_clicked();
|
void on_resourceTreeCollapseAllButton_clicked();
|
||||||
void on_resourceTreeExpandAllButton_clicked();
|
void on_resourceTreeExpandAllButton_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<MainWindowImpl> p;
|
std::unique_ptr<MainWindowImpl> p;
|
||||||
Ui::MainWindow* ui;
|
Ui::MainWindow* ui;
|
||||||
|
|
||||||
|
friend class MainWindowImpl;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace main
|
} // namespace main
|
||||||
|
|
|
||||||
37
scwx-qt/source/scwx/qt/ui/radar_site_dialog.cpp
Normal file
37
scwx-qt/source/scwx/qt/ui/radar_site_dialog.cpp
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
#include "radar_site_dialog.hpp"
|
||||||
|
#include "./ui_radar_site_dialog.h"
|
||||||
|
|
||||||
|
#include <scwx/qt/model/radar_site_model.hpp>
|
||||||
|
|
||||||
|
namespace scwx
|
||||||
|
{
|
||||||
|
namespace qt
|
||||||
|
{
|
||||||
|
namespace ui
|
||||||
|
{
|
||||||
|
|
||||||
|
class RadarSiteDialogImpl
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit RadarSiteDialogImpl() {}
|
||||||
|
~RadarSiteDialogImpl() = default;
|
||||||
|
};
|
||||||
|
|
||||||
|
RadarSiteDialog::RadarSiteDialog(QWidget* parent) :
|
||||||
|
QDialog(parent),
|
||||||
|
p(std::make_unique<RadarSiteDialogImpl>()),
|
||||||
|
ui(new Ui::RadarSiteDialog)
|
||||||
|
{
|
||||||
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
ui->radarSiteView->setModel(new model::RadarSiteModel(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
RadarSiteDialog::~RadarSiteDialog()
|
||||||
|
{
|
||||||
|
delete ui;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace ui
|
||||||
|
} // namespace qt
|
||||||
|
} // namespace scwx
|
||||||
34
scwx-qt/source/scwx/qt/ui/radar_site_dialog.hpp
Normal file
34
scwx-qt/source/scwx/qt/ui/radar_site_dialog.hpp
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
|
||||||
|
namespace Ui
|
||||||
|
{
|
||||||
|
class RadarSiteDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace scwx
|
||||||
|
{
|
||||||
|
namespace qt
|
||||||
|
{
|
||||||
|
namespace ui
|
||||||
|
{
|
||||||
|
|
||||||
|
class RadarSiteDialogImpl;
|
||||||
|
|
||||||
|
class RadarSiteDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
explicit RadarSiteDialog(QWidget* parent = nullptr);
|
||||||
|
~RadarSiteDialog();
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::unique_ptr<RadarSiteDialogImpl> p;
|
||||||
|
Ui::RadarSiteDialog* ui;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace ui
|
||||||
|
} // namespace qt
|
||||||
|
} // namespace scwx
|
||||||
67
scwx-qt/source/scwx/qt/ui/radar_site_dialog.ui
Normal file
67
scwx-qt/source/scwx/qt/ui/radar_site_dialog.ui
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>RadarSiteDialog</class>
|
||||||
|
<widget class="QDialog" name="RadarSiteDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>400</width>
|
||||||
|
<height>300</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Select Radar Site</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTableView" name="radarSiteView"/>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>RadarSiteDialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>248</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>RadarSiteDialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>316</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue