@@ -26,7 +26,7 @@ QgsMapToolAddVertex::QgsMapToolAddVertex(QgsMapCanvas* canvas): QgsMapToolVertex
26
26
{
27
27
28
28
}
29
-
29
+
30
30
QgsMapToolAddVertex::~QgsMapToolAddVertex ()
31
31
{
32
32
delete mRubberBand ;
@@ -35,79 +35,79 @@ QgsMapToolAddVertex::~QgsMapToolAddVertex()
35
35
void QgsMapToolAddVertex::canvasMoveEvent (QMouseEvent * e)
36
36
{
37
37
if (mRubberBand )
38
+ {
39
+ QList<QgsSnappingResult> snapResults;
40
+ if (mSnapper .snapToBackgroundLayers (e->pos (), snapResults) == 0 )
38
41
{
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
45
44
}
45
+ }
46
46
}
47
47
48
48
void QgsMapToolAddVertex::canvasPressEvent (QMouseEvent * e)
49
49
{
50
50
delete mRubberBand ;
51
51
mRubberBand = 0 ;
52
-
52
+
53
53
// snap to segments of the current layer
54
54
if (mSnapper .snapToCurrentLayer (e->pos (), mRecentSnappingResults , QgsSnapper::SNAP_TO_SEGMENT) != 0 )
55
- {
56
- // error
57
- }
55
+ {
56
+ // error
57
+ }
58
+
58
59
59
-
60
60
61
61
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
+ }
70
70
else
71
- {
72
- displaySnapToleranceWarning ();
73
- }
71
+ {
72
+ displaySnapToleranceWarning ();
73
+ }
74
74
}
75
75
76
76
void QgsMapToolAddVertex::canvasReleaseEvent (QMouseEvent * e)
77
77
{
78
78
QgsMapLayer* currentLayer = mCanvas ->currentLayer ();
79
79
QgsVectorLayer* vlayer = 0 ;
80
80
if (currentLayer)
81
- {
82
- vlayer = dynamic_cast <QgsVectorLayer*>(currentLayer);
83
- }
81
+ {
82
+ vlayer = dynamic_cast <QgsVectorLayer*>(currentLayer);
83
+ }
84
84
85
85
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 )
86
93
{
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
+ }
110
109
}
110
+ }
111
111
112
112
delete mRubberBand ;
113
113
mRubberBand = 0 ;
0 commit comments