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

Method selectBox

src/tools/object_selector.cpp:135–161  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133
134
135bool ObjectSelector::selectBox(const MapCoordF& corner1, const MapCoordF& corner2, bool toggle)
136{
137 bool selection_changed = false;
138
139 std::vector<Object*> objects;
140 map->findObjectsAtBox(corner1, corner2, false, false, objects);
141
142 if (!toggle)
143 {
144 if (map->getNumSelectedObjects() > 0)
145 selection_changed = true;
146 map->clearObjectSelection(false);
147 }
148
149 auto size = objects.size();
150 for (std::size_t i = 0; i < size; ++i)
151 {
152 if (toggle)
153 map->toggleObjectSelection(objects[i], i == size - 1);
154 else
155 map->addObjectToSelection(objects[i], i == size - 1);
156
157 selection_changed = true;
158 }
159
160 return selection_changed;
161}
162
163
164bool ObjectSelector::sortObjects(const std::pair< int, Object* >& a, const std::pair< int, Object* >& b)

Callers 3

dragFinishMethod · 0.80
dragFinishMethod · 0.80
dragFinishMethod · 0.80

Calls 6

getNumSelectedObjectsMethod · 0.80
clearObjectSelectionMethod · 0.80
toggleObjectSelectionMethod · 0.80
addObjectToSelectionMethod · 0.80
findObjectsAtBoxMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected