mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 23:30:04 +00:00
Connect animation dock and timeline manager slots and signals
This commit is contained in:
parent
5500b2f4c2
commit
f452d3f15d
1 changed files with 72 additions and 0 deletions
|
|
@ -8,6 +8,7 @@
|
||||||
#include <scwx/qt/manager/radar_product_manager.hpp>
|
#include <scwx/qt/manager/radar_product_manager.hpp>
|
||||||
#include <scwx/qt/manager/settings_manager.hpp>
|
#include <scwx/qt/manager/settings_manager.hpp>
|
||||||
#include <scwx/qt/manager/text_event_manager.hpp>
|
#include <scwx/qt/manager/text_event_manager.hpp>
|
||||||
|
#include <scwx/qt/manager/timeline_manager.hpp>
|
||||||
#include <scwx/qt/manager/update_manager.hpp>
|
#include <scwx/qt/manager/update_manager.hpp>
|
||||||
#include <scwx/qt/map/map_provider.hpp>
|
#include <scwx/qt/map/map_provider.hpp>
|
||||||
#include <scwx/qt/map/map_widget.hpp>
|
#include <scwx/qt/map/map_widget.hpp>
|
||||||
|
|
@ -71,6 +72,7 @@ public:
|
||||||
updateDialog_ {nullptr},
|
updateDialog_ {nullptr},
|
||||||
radarProductModel_ {nullptr},
|
radarProductModel_ {nullptr},
|
||||||
textEventManager_ {manager::TextEventManager::Instance()},
|
textEventManager_ {manager::TextEventManager::Instance()},
|
||||||
|
timelineManager_ {manager::TimelineManager::Instance()},
|
||||||
updateManager_ {manager::UpdateManager::Instance()},
|
updateManager_ {manager::UpdateManager::Instance()},
|
||||||
maps_ {},
|
maps_ {},
|
||||||
elevationCuts_ {},
|
elevationCuts_ {},
|
||||||
|
|
@ -111,6 +113,7 @@ public:
|
||||||
|
|
||||||
void AsyncSetup();
|
void AsyncSetup();
|
||||||
void ConfigureMapLayout();
|
void ConfigureMapLayout();
|
||||||
|
void ConnectAnimationSignals();
|
||||||
void ConnectMapSignals();
|
void ConnectMapSignals();
|
||||||
void ConnectOtherSignals();
|
void ConnectOtherSignals();
|
||||||
void HandleFocusChange(QWidget* focused);
|
void HandleFocusChange(QWidget* focused);
|
||||||
|
|
@ -150,6 +153,7 @@ public:
|
||||||
|
|
||||||
std::unique_ptr<model::RadarProductModel> radarProductModel_;
|
std::unique_ptr<model::RadarProductModel> radarProductModel_;
|
||||||
std::shared_ptr<manager::TextEventManager> textEventManager_;
|
std::shared_ptr<manager::TextEventManager> textEventManager_;
|
||||||
|
std::shared_ptr<manager::TimelineManager> timelineManager_;
|
||||||
std::shared_ptr<manager::UpdateManager> updateManager_;
|
std::shared_ptr<manager::UpdateManager> updateManager_;
|
||||||
|
|
||||||
std::vector<map::MapWidget*> maps_;
|
std::vector<map::MapWidget*> maps_;
|
||||||
|
|
@ -271,6 +275,7 @@ MainWindow::MainWindow(QWidget* parent) :
|
||||||
|
|
||||||
p->PopulateMapStyles();
|
p->PopulateMapStyles();
|
||||||
p->ConnectMapSignals();
|
p->ConnectMapSignals();
|
||||||
|
p->ConnectAnimationSignals();
|
||||||
p->ConnectOtherSignals();
|
p->ConnectOtherSignals();
|
||||||
p->HandleFocusChange(p->activeMap_);
|
p->HandleFocusChange(p->activeMap_);
|
||||||
p->AsyncSetup();
|
p->AsyncSetup();
|
||||||
|
|
@ -648,6 +653,73 @@ void MainWindowImpl::ConnectMapSignals()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindowImpl::ConnectAnimationSignals()
|
||||||
|
{
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::DateTimeChanged,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::SetDateTime);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::ViewTypeChanged,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::SetViewType);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::LoopTimeChanged,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::SetLoopTime);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::LoopSpeedChanged,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::SetLoopSpeed);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::AnimationStepBeginSelected,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::AnimationStepBegin);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::AnimationStepBackSelected,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::AnimationStepBack);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::AnimationPlaySelected,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::AnimationPlay);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::AnimationPauseSelected,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::AnimationPause);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::AnimationStepNextSelected,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::AnimationStepNext);
|
||||||
|
connect(animationDockWidget_,
|
||||||
|
&ui::AnimationDockWidget::AnimationStepEndSelected,
|
||||||
|
timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::AnimationStepEnd);
|
||||||
|
|
||||||
|
connect(timelineManager_.get(),
|
||||||
|
&manager::TimelineManager::TimeUpdated,
|
||||||
|
[this](std::chrono::system_clock::time_point dateTime)
|
||||||
|
{
|
||||||
|
for (auto map : maps_)
|
||||||
|
{
|
||||||
|
map->SelectTime(dateTime);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for (auto map : maps_)
|
||||||
|
{
|
||||||
|
connect(map,
|
||||||
|
&map::MapWidget::RadarSiteUpdated,
|
||||||
|
[this, map](std::shared_ptr<config::RadarSite> radarSite)
|
||||||
|
{
|
||||||
|
if (map == activeMap_)
|
||||||
|
{
|
||||||
|
timelineManager_->SetRadarSite(radarSite->id());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindowImpl::ConnectOtherSignals()
|
void MainWindowImpl::ConnectOtherSignals()
|
||||||
{
|
{
|
||||||
connect(qApp,
|
connect(qApp,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue