@@ -26,7 +26,7 @@ QgsMapToolAddVertex::QgsMapToolAddVertex(QgsMapCanvas* canvas): QgsMapToolVertex
2626{
2727
2828}
29-
29+
3030QgsMapToolAddVertex::~QgsMapToolAddVertex ()
3131{
3232 delete mRubberBand ;
@@ -35,79 +35,79 @@ QgsMapToolAddVertex::~QgsMapToolAddVertex()
3535void QgsMapToolAddVertex::canvasMoveEvent (QMouseEvent * e)
3636{
3737 if (mRubberBand )
38+ {
39+ QList<QgsSnappingResult> snapResults;
40+ if (mSnapper .snapToBackgroundLayers (e->pos (), snapResults) == 0 )
3841 {
39- QList<QgsSnappingResult> snapResults;
40- if (mSnapper .snapToBackgroundLayers (e->pos (), snapResults) == 0 )
41- {
42- QgsPoint posMapCoord = snapPointFromResults (snapResults, e->pos ());
43- mRubberBand ->movePoint (2 , posMapCoord); // consider that the first rubber band point is added twice
44- }
42+ QgsPoint posMapCoord = snapPointFromResults (snapResults, e->pos ());
43+ mRubberBand ->movePoint (2 , posMapCoord); // consider that the first rubber band point is added twice
4544 }
45+ }
4646}
4747
4848void QgsMapToolAddVertex::canvasPressEvent (QMouseEvent * e)
4949{
5050 delete mRubberBand ;
5151 mRubberBand = 0 ;
52-
52+
5353 // snap to segments of the current layer
5454 if (mSnapper .snapToCurrentLayer (e->pos (), mRecentSnappingResults , QgsSnapper::SNAP_TO_SEGMENT) != 0 )
55- {
56- // error
57- }
55+ {
56+ // error
57+ }
58+
5859
59-
6060
6161 if (mRecentSnappingResults .size () > 0 )
62- {
63- mRubberBand = createRubberBand ();
64- // take first snapping result and create the rubber band
65- QgsSnappingResult firstResult = *(mRecentSnappingResults .begin ());
66- mRubberBand ->addPoint (firstResult.beforeVertex , false );
67- mRubberBand ->addPoint (firstResult.snappedVertex , false );
68- mRubberBand ->addPoint (firstResult.afterVertex , true );
69- }
62+ {
63+ mRubberBand = createRubberBand ();
64+ // take first snapping result and create the rubber band
65+ QgsSnappingResult firstResult = *(mRecentSnappingResults .begin ());
66+ mRubberBand ->addPoint (firstResult.beforeVertex , false );
67+ mRubberBand ->addPoint (firstResult.snappedVertex , false );
68+ mRubberBand ->addPoint (firstResult.afterVertex , true );
69+ }
7070 else
71- {
72- displaySnapToleranceWarning ();
73- }
71+ {
72+ displaySnapToleranceWarning ();
73+ }
7474}
7575
7676void QgsMapToolAddVertex::canvasReleaseEvent (QMouseEvent * e)
7777{
7878 QgsMapLayer* currentLayer = mCanvas ->currentLayer ();
7979 QgsVectorLayer* vlayer = 0 ;
8080 if (currentLayer)
81- {
82- vlayer = dynamic_cast <QgsVectorLayer*>(currentLayer);
83- }
81+ {
82+ vlayer = dynamic_cast <QgsVectorLayer*>(currentLayer);
83+ }
8484
8585 if (vlayer && mRecentSnappingResults .size () > 0 )
86+ {
87+ // snap point to background layers
88+ QgsPoint snappedPointMapCoord;
89+ QgsPoint snappedPointLayerCoord;
90+ QList<QgsSnappingResult> snapResults;
91+
92+ if (mSnapper .snapToBackgroundLayers (e->pos (), snapResults) == 0 )
8693 {
87- // snap point to background layers
88- QgsPoint snappedPointMapCoord;
89- QgsPoint snappedPointLayerCoord;
90- QList<QgsSnappingResult> snapResults;
91-
92- if (mSnapper .snapToBackgroundLayers (e->pos (), snapResults) == 0 )
93- {
94- snappedPointMapCoord = snapPointFromResults (snapResults, e->pos ());
95- snappedPointLayerCoord = toLayerCoords (vlayer, snappedPointMapCoord);
96-
97- int topologicalEditing = QgsProject::instance ()->readNumEntry (" Digitizing" , " /TopologicalEditing" , 0 );
98- if (topologicalEditing)
99- {
100- insertSegmentVerticesForSnap (snapResults, vlayer);
101- }
102-
103- // and change the feature points
104- QList<QgsSnappingResult>::iterator sr_it = mRecentSnappingResults .begin ();
105- for (; sr_it != mRecentSnappingResults .end (); ++sr_it)
106- {
107- vlayer->insertVertexBefore (snappedPointLayerCoord.x (), snappedPointLayerCoord.y (), sr_it->snappedAtGeometry , sr_it->afterVertexNr );
108- }
109- }
94+ snappedPointMapCoord = snapPointFromResults (snapResults, e->pos ());
95+ snappedPointLayerCoord = toLayerCoords (vlayer, snappedPointMapCoord);
96+
97+ int topologicalEditing = QgsProject::instance ()->readNumEntry (" Digitizing" , " /TopologicalEditing" , 0 );
98+ if (topologicalEditing)
99+ {
100+ insertSegmentVerticesForSnap (snapResults, vlayer);
101+ }
102+
103+ // and change the feature points
104+ QList<QgsSnappingResult>::iterator sr_it = mRecentSnappingResults .begin ();
105+ for (; sr_it != mRecentSnappingResults .end (); ++sr_it)
106+ {
107+ vlayer->insertVertexBefore (snappedPointLayerCoord.x (), snappedPointLayerCoord.y (), sr_it->snappedAtGeometry , sr_it->afterVertexNr );
108+ }
110109 }
110+ }
111111
112112 delete mRubberBand ;
113113 mRubberBand = 0 ;
0 commit comments