@@ -474,22 +474,6 @@ void QgsNodeTool::cadCanvasReleaseEvent( QgsMapMouseEvent *e )
474
474
}
475
475
476
476
mSelectionRectStartPos .reset ();
477
-
478
- // there may be a temporary list of points (up to two) that need to be injected
479
- // into CAD dock widget in order to make it behave as we need
480
- if ( !mOverrideCadPoints .isEmpty () )
481
- {
482
- for ( const QgsPointXY &pt : qgsAsConst ( mOverrideCadPoints ) )
483
- {
484
- QMouseEvent mouseEvent ( QEvent::MouseButtonRelease,
485
- toCanvasCoordinates ( pt ),
486
- Qt::LeftButton, Qt::LeftButton, Qt::NoModifier );
487
- QgsMapMouseEvent me ( canvas (), &mouseEvent );
488
- cadDockWidget ()->canvasReleaseEvent ( &me, QgsAdvancedDigitizingDockWidget::ManyPoints );
489
- }
490
-
491
- mOverrideCadPoints .clear ();
492
- }
493
477
}
494
478
495
479
void QgsNodeTool::cadCanvasMoveEvent ( QgsMapMouseEvent *e )
@@ -1082,8 +1066,7 @@ void QgsNodeTool::startDraggingMoveVertex( const QgsPointXY &mapPoint, const Qgs
1082
1066
}
1083
1067
}
1084
1068
1085
- mOverrideCadPoints .clear ();
1086
- mOverrideCadPoints << m.point () << m.point ();
1069
+ cadDockWidget ()->setPoints ( QList<QgsPointXY>() << m.point () << m.point () );
1087
1070
1088
1071
if ( QgsProject::instance ()->topologicalEditing () )
1089
1072
{
@@ -1283,8 +1266,7 @@ void QgsNodeTool::startDraggingAddVertex( const QgsPointLocator::Match &m )
1283
1266
if ( v1.x () != 0 || v1.y () != 0 )
1284
1267
addDragBand ( map_v1, m.point () );
1285
1268
1286
- mOverrideCadPoints .clear ();
1287
- mOverrideCadPoints << m.point () << m.point ();
1269
+ cadDockWidget ()->setPoints ( QList<QgsPointXY>() << m.point () << m.point () );
1288
1270
}
1289
1271
1290
1272
void QgsNodeTool::startDraggingAddVertexAtEndpoint ( const QgsPointXY &mapPoint )
@@ -1308,8 +1290,8 @@ void QgsNodeTool::startDraggingAddVertexAtEndpoint( const QgsPointXY &mapPoint )
1308
1290
// setup CAD dock previous points to endpoint and the previous point
1309
1291
QgsPointXY pt0 = geom.vertexAt ( adjacentVertexIndexToEndpoint ( geom, mMouseAtEndpoint ->vertexId ) );
1310
1292
QgsPointXY pt1 = geom.vertexAt ( mMouseAtEndpoint ->vertexId );
1311
- mOverrideCadPoints . clear ();
1312
- mOverrideCadPoints << pt0 << pt1;
1293
+
1294
+ cadDockWidget ()-> setPoints ( QList<QgsPointXY>() << pt0 << pt1 ) ;
1313
1295
}
1314
1296
1315
1297
void QgsNodeTool::startDraggingEdge ( const QgsPointLocator::Match &m, const QgsPointXY &mapPoint )
@@ -1349,21 +1331,14 @@ void QgsNodeTool::startDraggingEdge( const QgsPointLocator::Match &m, const QgsP
1349
1331
mDraggingExtraVerticesOffset << ( geom.vertexAt ( v.vertexId ) - QgsPoint ( layerPoint ) );
1350
1332
}
1351
1333
1352
- mOverrideCadPoints .clear ();
1353
- mOverrideCadPoints << m.point () << m.point ();
1334
+ cadDockWidget ()->setPoints ( QList<QgsPointXY>() << m.point () << m.point () );
1354
1335
}
1355
1336
1356
1337
void QgsNodeTool::stopDragging ()
1357
1338
{
1358
1339
// deactivate advanced digitizing
1359
1340
setAdvancedDigitizingAllowed ( false );
1360
-
1361
- // stop adv digitizing
1362
- QMouseEvent mouseEvent ( QEvent::MouseButtonRelease,
1363
- QPoint (),
1364
- Qt::RightButton, Qt::RightButton, Qt::NoModifier );
1365
- QgsMapMouseEvent me ( canvas (), &mouseEvent );
1366
- cadDockWidget ()->canvasReleaseEvent ( &me, QgsAdvancedDigitizingDockWidget::SinglePoint );
1341
+ cadDockWidget ()->clear (); // clear cad points and release locks
1367
1342
1368
1343
mDraggingVertex .reset ();
1369
1344
mDraggingVertexType = NotDragging;
0 commit comments