mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 14:30:06 +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
	
	 Dan Paulat
						Dan Paulat