@@ -36,6 +36,7 @@ QgsMeasureTool::QgsMeasureTool( QgsMapCanvas* canvas, bool measureArea )
36
36
mMeasureArea = measureArea;
37
37
38
38
mRubberBand = new QgsRubberBand ( canvas, mMeasureArea ? QGis::Polygon : QGis::Line );
39
+ mRubberBandPoints = new QgsRubberBand ( canvas, QGis::Point );
39
40
40
41
QPixmap myCrossHairQPixmap = QPixmap (( const char ** ) cross_hair_cursor );
41
42
mCursor = QCursor ( myCrossHairQPixmap, 8 , 8 );
@@ -55,6 +56,7 @@ QgsMeasureTool::~QgsMeasureTool()
55
56
{
56
57
delete mDialog ;
57
58
delete mRubberBand ;
59
+ delete mRubberBandPoints ;
58
60
}
59
61
60
62
@@ -95,6 +97,7 @@ void QgsMeasureTool::deactivate()
95
97
{
96
98
mDialog ->close ();
97
99
mRubberBand ->reset ();
100
+ mRubberBandPoints ->reset ();
98
101
QgsMapTool::deactivate ();
99
102
}
100
103
@@ -104,6 +107,7 @@ void QgsMeasureTool::restart()
104
107
mPoints .clear ();
105
108
106
109
mRubberBand ->reset ( mMeasureArea ? QGis::Polygon : QGis::Line );
110
+ mRubberBandPoints ->reset ( QGis::Point );
107
111
108
112
// re-read settings
109
113
updateSettings ();
@@ -122,6 +126,9 @@ void QgsMeasureTool::updateSettings()
122
126
int myBlue = settings.value ( " /qgis/default_measure_color_blue" , 67 ).toInt ();
123
127
mRubberBand ->setColor ( QColor ( myRed, myGreen, myBlue, 100 ) );
124
128
mRubberBand ->setWidth ( 3 );
129
+ mRubberBandPoints ->setIcon ( QgsRubberBand::ICON_CIRCLE );
130
+ mRubberBandPoints ->setIconSize ( 10 );
131
+ mRubberBandPoints ->setColor ( QColor ( myRed, myGreen, myBlue, 150 ) );
125
132
mDialog ->updateSettings ();
126
133
}
127
134
@@ -200,6 +207,7 @@ void QgsMeasureTool::addPoint( QgsPoint &point )
200
207
mPoints .append ( pnt );
201
208
202
209
mRubberBand ->addPoint ( point );
210
+ mRubberBandPoints ->addPoint ( point );
203
211
if ( ! mDone )
204
212
{
205
213
mDialog ->addPoint ( point );
0 commit comments