Connecting signals and slots for radar updates

This commit is contained in:
Dan Paulat 2021-07-30 22:01:18 -05:00
parent c06230ed6c
commit 817a59f741
6 changed files with 137 additions and 61 deletions

View file

@ -46,9 +46,6 @@ public:
RadarManager::RadarManager() : p(std::make_unique<RadarManagerImpl>()) {}
RadarManager::~RadarManager() = default;
RadarManager::RadarManager(RadarManager&&) noexcept = default;
RadarManager& RadarManager::operator=(RadarManager&&) noexcept = default;
const std::vector<float>&
RadarManager::coordinates(common::RadialSize radialSize) const
{
@ -177,6 +174,8 @@ void RadarManager::LoadLevel2Data(const std::string& filename)
p->level2Data_.pop_front();
}
p->level2Data_.push_back(ar2vFile);
emit Level2DataLoaded();
}
} // namespace manager

View file

@ -6,6 +6,8 @@
#include <memory>
#include <vector>
#include <QObject>
namespace scwx
{
namespace qt
@ -15,18 +17,14 @@ namespace manager
class RadarManagerImpl;
class RadarManager
class RadarManager : public QObject
{
Q_OBJECT
public:
explicit RadarManager();
~RadarManager();
RadarManager(const RadarManager&) = delete;
RadarManager& operator=(const RadarManager&) = delete;
RadarManager(RadarManager&&) noexcept;
RadarManager& operator=(RadarManager&&) noexcept;
const std::vector<float>& coordinates(common::RadialSize radialSize) const;
// TODO: Improve this interface
@ -35,6 +33,9 @@ public:
void Initialize();
void LoadLevel2Data(const std::string& filename);
signals:
void Level2DataLoaded();
private:
std::unique_ptr<RadarManagerImpl> p;
};