18
18
#include " qgsmaplayerregistry.h"
19
19
#include " qgsrubberband.h"
20
20
#include " qgsvectorlayer.h"
21
+ #include " qgsvertexmarker.h"
21
22
#include < QDoubleSpinBox>
22
23
#include < QGraphicsProxyWidget>
23
24
#include < QMouseEvent>
24
25
#include " qgisapp.h"
25
26
26
27
QgsMapToolOffsetCurve::QgsMapToolOffsetCurve ( QgsMapCanvas* canvas ): QgsMapToolEdit( canvas ), mRubberBand( 0 ),
27
- mOriginalGeometry( 0 ), mGeometryModified( false ), mDistanceItem( 0 ), mDistanceSpinBox( 0 )
28
+ mOriginalGeometry( 0 ), mGeometryModified( false ), mDistanceItem( 0 ), mDistanceSpinBox( 0 ), mSnapVertexMarker( 0 )
28
29
{
29
30
}
30
31
31
32
QgsMapToolOffsetCurve::~QgsMapToolOffsetCurve ()
32
33
{
33
34
deleteRubberBandAndGeometry ();
34
35
deleteDistanceItem ();
36
+ delete mSnapVertexMarker ;
35
37
}
36
38
37
39
void QgsMapToolOffsetCurve::canvasPressEvent ( QMouseEvent * e )
@@ -111,6 +113,7 @@ void QgsMapToolOffsetCurve::canvasReleaseEvent( QMouseEvent * e )
111
113
112
114
deleteRubberBandAndGeometry ();
113
115
deleteDistanceItem ();
116
+ delete mSnapVertexMarker ; mSnapVertexMarker = 0 ;
114
117
mCanvas ->refresh ();
115
118
}
116
119
@@ -133,6 +136,9 @@ void QgsMapToolOffsetCurve::placeOffsetCurveToValue()
133
136
134
137
void QgsMapToolOffsetCurve::canvasMoveEvent ( QMouseEvent * e )
135
138
{
139
+ delete mSnapVertexMarker ;
140
+ mSnapVertexMarker = 0 ;
141
+
136
142
if ( !mOriginalGeometry || !mRubberBand )
137
143
{
138
144
return ;
@@ -166,8 +172,12 @@ void QgsMapToolOffsetCurve::canvasMoveEvent( QMouseEvent * e )
166
172
if ( snap.layer && snap.layer ->id () != mSourceLayerId && snap.snappedAtGeometry != mModifiedFeature )
167
173
{
168
174
layerCoords = results.at ( 0 ).snappedVertex ;
175
+ mSnapVertexMarker = new QgsVertexMarker ( mCanvas );
176
+ mSnapVertexMarker ->setIconType ( QgsVertexMarker::ICON_CROSS );
177
+ mSnapVertexMarker ->setColor ( Qt::green );
178
+ mSnapVertexMarker ->setPenWidth ( 1 );
179
+ mSnapVertexMarker ->setCenter ( layerCoords );
169
180
}
170
- // todo: add vertex marker item
171
181
}
172
182
}
173
183
0 commit comments