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

Method startEditingSetup

src/tools/edit_point_tool.cpp:890–937  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

888}
889
890void EditPointTool::startEditingSetup()
891{
892 // This method operates on MapEditorToolBase::editedItems().
893 Q_ASSERT(editingInProgress());
894
895 snap_exclude_object = hover_object;
896
897 // Collect elements to move
898 object_mover.reset(new ObjectMover(map(), click_pos_map));
899 if (hover_state.testFlag(OverObjectNode))
900 {
901 switch (hover_object->getType())
902 {
903 case Object::Point:
904 object_mover->addObject(hover_object);
905 setupAngleHelperFromEditedObjects();
906 break;
907
908 case Object::Path:
909 object_mover->addPoint(hover_object->asPath(), hover_point);
910 setupAngleHelperFromHoverObject();
911 break;
912
913 case Object::Text:
914 if (hover_object->asText()->hasSingleAnchor())
915 object_mover->addObject(hover_object);
916 else
917 object_mover->addTextHandle(hover_object->asText(), hover_point);
918 setupAngleHelperFromEditedObjects();
919 break;
920
921 default:
922 Q_UNREACHABLE();
923 }
924 angle_helper->setCenter(click_pos_map);
925 }
926 else if (hover_state.testFlag(OverFrame))
927 {
928 for (auto object : editedObjects())
929 object_mover->addObject(object);
930 setupAngleHelperFromEditedObjects();
931 angle_helper->setCenter(click_pos_map);
932 }
933
934 const auto px = Settings::getInstance().getMapEditorClickTolerancePx();
935 const auto corner_tolerance = cur_map_widget->getMapView()->pixelToLength(px);
936 object_mover->setCornerTolerance(corner_tolerance/1000);
937}
938
939bool EditPointTool::hoveringOverSingleText() const
940{

Callers

nothing calls this directly

Calls 14

testFlagMethod · 0.80
asPathMethod · 0.80
hasSingleAnchorMethod · 0.80
addTextHandleMethod · 0.80
pixelToLengthMethod · 0.80
getMapViewMethod · 0.80
setCornerToleranceMethod · 0.80
resetMethod · 0.45
getTypeMethod · 0.45
addObjectMethod · 0.45
addPointMethod · 0.45

Tested by

no test coverage detected