diff options
author | tatiana-yan <tatiana.kondakova@gmail.com> | 2019-03-15 11:31:39 +0300 |
---|---|---|
committer | mpimenov <mpimenov@users.noreply.github.com> | 2019-03-18 22:38:39 +0300 |
commit | 70121dcaa7bb1adf844dbb0c5a93bf722fea64e1 (patch) | |
tree | 542f28aa708f885e4c626105afa53e75da75e11c /search | |
parent | aff309fd86bf0195e26b47481a8c08ff02828fa0 (diff) |
[editor] Return EditableMapObject from Editor::GetEditedFeature
Diffstat (limited to 'search')
-rw-r--r-- | search/features_layer_matcher.cpp | 2 | ||||
-rw-r--r-- | search/mwm_context.cpp | 6 | ||||
-rw-r--r-- | search/mwm_context.hpp | 5 | ||||
-rw-r--r-- | search/retrieval.cpp | 9 | ||||
-rw-r--r-- | search/reverse_geocoder.cpp | 5 |
5 files changed, 18 insertions, 9 deletions
diff --git a/search/features_layer_matcher.cpp b/search/features_layer_matcher.cpp index 050d4c22c5..e9fc383865 100644 --- a/search/features_layer_matcher.cpp +++ b/search/features_layer_matcher.cpp @@ -3,6 +3,8 @@ #include "search/house_to_street_table.hpp" #include "search/reverse_geocoder.hpp" +#include "editor/osm_editor.hpp" + #include "indexer/scales.hpp" #include "base/assert.hpp" diff --git a/search/mwm_context.cpp b/search/mwm_context.cpp index b42726f078..7594565927 100644 --- a/search/mwm_context.cpp +++ b/search/mwm_context.cpp @@ -19,6 +19,7 @@ MwmContext::MwmContext(MwmSet::MwmHandle handle) , m_vector(m_value.m_cont, m_value.GetHeader(), m_value.m_table.get()) , m_index(m_value.m_cont.GetReader(INDEX_FILE_TAG), m_value.m_factory) , m_centers(m_value) + , m_editableSource(m_handle) { } @@ -32,11 +33,12 @@ std::unique_ptr<FeatureType> MwmContext::GetFeature(uint32_t index) const return ft; case FeatureStatus::Modified: case FeatureStatus::Created: - ft = osm::Editor::Instance().GetEditedFeature(FeatureID(GetId(), index)); + ft = m_editableSource.GetModifiedFeature(index); CHECK(ft, ()); return ft; case FeatureStatus::Untouched: - ft = m_vector.GetByIndex(index); + auto ft = m_vector.GetByIndex(index); + CHECK(ft, ()); ft->SetID(FeatureID(GetId(), index)); return ft; } diff --git a/search/mwm_context.hpp b/search/mwm_context.hpp index 1489e04ee2..5857342ccd 100644 --- a/search/mwm_context.hpp +++ b/search/mwm_context.hpp @@ -3,7 +3,7 @@ #include "search/house_to_street_table.hpp" #include "search/lazy_centers_table.hpp" -#include "editor/osm_editor.hpp" +#include "editor/editable_feature_source.hpp" #include "indexer/feature_covering.hpp" #include "indexer/feature_source.hpp" @@ -84,7 +84,7 @@ public: private: FeatureStatus GetEditedStatus(uint32_t index) const { - return osm::Editor::Instance().GetFeatureStatus(GetId(), index); + return m_editableSource.GetFeatureStatus(index); } template <class Fn> @@ -103,6 +103,7 @@ private: FeaturesVector m_vector; ScaleIndex<ModelReaderPtr> m_index; LazyCentersTable m_centers; + EditableFeatureSource m_editableSource; DISALLOW_COPY_AND_MOVE(MwmContext); }; diff --git a/search/retrieval.cpp b/search/retrieval.cpp index 0116b51361..42817a8149 100644 --- a/search/retrieval.cpp +++ b/search/retrieval.cpp @@ -8,6 +8,8 @@ #include "search/search_trie.hpp" #include "search/token_slice.hpp" +#include "editor/osm_editor.hpp" + #include "indexer/classificator.hpp" #include "indexer/feature.hpp" #include "indexer/feature_algo.hpp" @@ -98,9 +100,10 @@ private: auto & editor = Editor::Instance(); for (auto const index : features) { - auto ft = editor.GetEditedFeature(FeatureID(m_id, index)); - CHECK(ft, ()); - fn(*ft, index); + auto emo = editor.GetEditedFeature(FeatureID(m_id, index)); + CHECK(emo, ()); + FeatureType ft(*emo); + fn(ft, index); } } diff --git a/search/reverse_geocoder.cpp b/search/reverse_geocoder.cpp index a4c453fb8c..d9fb8943c5 100644 --- a/search/reverse_geocoder.cpp +++ b/search/reverse_geocoder.cpp @@ -1,9 +1,10 @@ -#include "reverse_geocoder.hpp" +#include "search/reverse_geocoder.hpp" #include "search/mwm_context.hpp" -#include "indexer/data_source.hpp" +#include "editor/osm_editor.hpp" +#include "indexer/data_source.hpp" #include "indexer/fake_feature_ids.hpp" #include "indexer/feature.hpp" #include "indexer/feature_algo.hpp" |