MCPcopy Create free account
hub / github.com/OpenOrienteering/mapper / removePart

Method removePart

src/core/map.cpp:2023–2048  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2021}
2022
2023void Map::removePart(std::size_t index)
2024{
2025 Q_ASSERT(index < parts.size());
2026 Q_ASSERT(parts.size() > 1);
2027
2028 if (current_part_index == index)
2029 // First switch to another part when removing the current part
2030 setCurrentPartIndex((index == parts.size() - 1) ? (parts.size() - 2) : (index + 1));
2031
2032 MapPart* part = parts[index];
2033
2034 // FIXME: This loop should move to MapPart.
2035 while(part->getNumObjects())
2036 part->deleteObject(0);
2037
2038 parts.erase(parts.begin() + index);
2039 if (current_part_index >= index)
2040 setCurrentPartIndex((index == parts.size()) ? (parts.size() - 1) : index);
2041
2042 emit mapPartDeleted(index, part);
2043
2044 delete part;
2045
2046 setOtherDirty();
2047 updateAllMapWidgets();
2048}
2049
2050int Map::findPartIndex(const MapPart* part) const
2051{

Callers 2

undoMethod · 0.80
removeMapPartMethod · 0.80

Calls 5

eraseMethod · 0.80
sizeMethod · 0.45
getNumObjectsMethod · 0.45
deleteObjectMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected