mirror of
				https://github.com/ciphervance/supercell-wx.git
				synced 2025-10-31 01:10:04 +00:00 
			
		
		
		
	Updated how MarkerRecord works to make adding entryies easier
This commit is contained in:
		
							parent
							
								
									74f3a15eb2
								
							
						
					
					
						commit
						84233868d6
					
				
					 1 changed files with 24 additions and 24 deletions
				
			
		|  | @ -47,22 +47,29 @@ public: | |||
| class MarkerManager::Impl::MarkerRecord | ||||
| { | ||||
| public: | ||||
|    MarkerRecord(std::string name, double latitude, double longitude) : | ||||
|        name_ {name}, latitude_ {latitude}, longitude_ {longitude} | ||||
|    MarkerRecord(const std::string& name, double latitude, double longitude) : | ||||
|       markerInfo_ {types::MarkerInfo(name, latitude, longitude)} | ||||
|    { | ||||
|    } | ||||
|    MarkerRecord(const types::MarkerInfo& info) : | ||||
|       markerInfo_ {info} | ||||
|    { | ||||
|    } | ||||
| 
 | ||||
|    std::string name_; | ||||
|    double      latitude_; | ||||
|    double      longitude_; | ||||
|    types::MarkerInfo toMarkerInfo() | ||||
|    { | ||||
|       return markerInfo_; | ||||
|    } | ||||
| 
 | ||||
|    types::MarkerInfo markerInfo_; | ||||
| 
 | ||||
|    friend void tag_invoke(boost::json::value_from_tag, | ||||
|                           boost::json::value&                  jv, | ||||
|                           const std::shared_ptr<MarkerRecord>& record) | ||||
|    { | ||||
|       jv = {{kNameName_, record->name_}, | ||||
|             {kLatitudeName_, record->latitude_}, | ||||
|             {kLongitudeName_, record->longitude_}}; | ||||
|       jv = {{kNameName_, record->markerInfo_.name_}, | ||||
|             {kLatitudeName_, record->markerInfo_.latitude_}, | ||||
|             {kLongitudeName_, record->markerInfo_.longitude_}}; | ||||
|    } | ||||
| 
 | ||||
|    friend MarkerRecord tag_invoke(boost::json::value_to_tag<MarkerRecord>, | ||||
|  | @ -117,10 +124,10 @@ void MarkerManager::Impl::ReadMarkerSettings() | |||
|             MarkerRecord record = | ||||
|                boost::json::value_to<MarkerRecord>(markerEntry); | ||||
| 
 | ||||
|             if (!record.name_.empty()) | ||||
|             if (!record.markerInfo_.name_.empty()) | ||||
|             { | ||||
|                markerRecords_.emplace_back(std::make_shared<MarkerRecord>( | ||||
|                   record.name_, record.latitude_, record.longitude_)); | ||||
|                markerRecords_.emplace_back( | ||||
|                   std::make_shared<MarkerRecord>(record.markerInfo_)); | ||||
|             } | ||||
|          } | ||||
|          catch (const std::exception& ex) | ||||
|  | @ -146,7 +153,7 @@ MarkerManager::Impl::GetMarkerByName(const std::string& name) | |||
| { | ||||
|    for (auto& markerRecord : markerRecords_) | ||||
|    { | ||||
|       if (markerRecord->name_ == name) | ||||
|       if (markerRecord->markerInfo_.name_ == name) | ||||
|       { | ||||
|          return markerRecord; | ||||
|       } | ||||
|  | @ -187,25 +194,21 @@ types::MarkerInfo MarkerManager::get_marker(size_t index) | |||
| { | ||||
|    std::shared_ptr<MarkerManager::Impl::MarkerRecord> markerRecord = | ||||
|       p->markerRecords_[index]; | ||||
|    return types::MarkerInfo( | ||||
|       markerRecord->name_, markerRecord->latitude_, markerRecord->longitude_); | ||||
|    return markerRecord->toMarkerInfo(); | ||||
| } | ||||
| 
 | ||||
| types::MarkerInfo MarkerManager::get_marker(const std::string& name) | ||||
| { | ||||
|    std::shared_ptr<MarkerManager::Impl::MarkerRecord> markerRecord = | ||||
|       p->GetMarkerByName(name); | ||||
|    return types::MarkerInfo( | ||||
|       markerRecord->name_, markerRecord->latitude_, markerRecord->longitude_); | ||||
|    return markerRecord->toMarkerInfo(); | ||||
| } | ||||
| 
 | ||||
| void MarkerManager::set_marker(size_t index, const types::MarkerInfo& marker) | ||||
| { | ||||
|    std::shared_ptr<MarkerManager::Impl::MarkerRecord> markerRecord = | ||||
|       p->markerRecords_[index]; | ||||
|    markerRecord->name_      = marker.name_; | ||||
|    markerRecord->latitude_  = marker.latitude_; | ||||
|    markerRecord->longitude_ = marker.longitude_; | ||||
|    markerRecord->markerInfo_ = marker; | ||||
| } | ||||
| 
 | ||||
| void MarkerManager::set_marker(const std::string&       name, | ||||
|  | @ -213,15 +216,12 @@ void MarkerManager::set_marker(const std::string&       name, | |||
| { | ||||
|    std::shared_ptr<MarkerManager::Impl::MarkerRecord> markerRecord = | ||||
|       p->GetMarkerByName(name); | ||||
|    markerRecord->name_      = marker.name_; | ||||
|    markerRecord->latitude_  = marker.latitude_; | ||||
|    markerRecord->longitude_ = marker.longitude_; | ||||
|    markerRecord->markerInfo_ = marker; | ||||
| } | ||||
| 
 | ||||
| void MarkerManager::add_marker(const types::MarkerInfo& marker) | ||||
| { | ||||
|    p->markerRecords_.emplace_back(std::make_shared<Impl::MarkerRecord>( | ||||
|       marker.name_, marker.latitude_, marker.longitude_)); | ||||
|    p->markerRecords_.emplace_back(std::make_shared<Impl::MarkerRecord>(marker)); | ||||
| } | ||||
| 
 | ||||
| void MarkerManager::move_marker(size_t from, size_t to) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 AdenKoperczak
						AdenKoperczak