mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 03:40:05 +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/settings_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/map/map_provider.hpp> | ||||
| #include <scwx/qt/map/map_widget.hpp> | ||||
|  | @ -71,6 +72,7 @@ public: | |||
|        updateDialog_ {nullptr}, | ||||
|        radarProductModel_ {nullptr}, | ||||
|        textEventManager_ {manager::TextEventManager::Instance()}, | ||||
|        timelineManager_ {manager::TimelineManager::Instance()}, | ||||
|        updateManager_ {manager::UpdateManager::Instance()}, | ||||
|        maps_ {}, | ||||
|        elevationCuts_ {}, | ||||
|  | @ -111,6 +113,7 @@ public: | |||
| 
 | ||||
|    void AsyncSetup(); | ||||
|    void ConfigureMapLayout(); | ||||
|    void ConnectAnimationSignals(); | ||||
|    void ConnectMapSignals(); | ||||
|    void ConnectOtherSignals(); | ||||
|    void HandleFocusChange(QWidget* focused); | ||||
|  | @ -150,6 +153,7 @@ public: | |||
| 
 | ||||
|    std::unique_ptr<model::RadarProductModel>  radarProductModel_; | ||||
|    std::shared_ptr<manager::TextEventManager> textEventManager_; | ||||
|    std::shared_ptr<manager::TimelineManager>  timelineManager_; | ||||
|    std::shared_ptr<manager::UpdateManager>    updateManager_; | ||||
| 
 | ||||
|    std::vector<map::MapWidget*> maps_; | ||||
|  | @ -271,6 +275,7 @@ MainWindow::MainWindow(QWidget* parent) : | |||
| 
 | ||||
|    p->PopulateMapStyles(); | ||||
|    p->ConnectMapSignals(); | ||||
|    p->ConnectAnimationSignals(); | ||||
|    p->ConnectOtherSignals(); | ||||
|    p->HandleFocusChange(p->activeMap_); | ||||
|    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() | ||||
| { | ||||
|    connect(qApp, | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Dan Paulat
						Dan Paulat