Skip to content

Commit fd616ae

Browse files
committed
A bit of const-correctness and new convenience methods for edit tools
1 parent 90ae728 commit fd616ae

14 files changed

+98
-56
lines changed

python/core/qgsdatumtransformstore.sip

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class QgsDatumTransformStore
2626
* @returns transformation associated with layer, or an invalid QgsCoordinateTransform
2727
* if no transform is associated with the layer
2828
*/
29-
QgsCoordinateTransform transformation( QgsMapLayer* layer ) const;
29+
QgsCoordinateTransform transformation( const QgsMapLayer* layer ) const;
3030

3131
void readXml( const QDomNode& parentNode );
3232

python/core/qgsmapsettings.sip

+8-8
Original file line numberDiff line numberDiff line change
@@ -177,54 +177,54 @@ class QgsMapSettings
177177
* @param referenceExtent A reference extent based on which to perform the computation. If not specified, the layer extent is used
178178
* @note added in QGIS 2.12
179179
*/
180-
double layerToMapUnits( QgsMapLayer* layer, const QgsRectangle& referenceExtent = QgsRectangle() ) const;
180+
double layerToMapUnits( const QgsMapLayer* layer, const QgsRectangle& referenceExtent = QgsRectangle() ) const;
181181

182182
/**
183183
* @brief transform bounding box from layer's CRS to output CRS
184184
* @see layerToMapCoordinates( QgsMapLayer* layer, QgsRectangle rect ) if you want to transform a rectangle
185185
* @return a bounding box (aligned rectangle) containing the transformed extent
186186
*/
187-
QgsRectangle layerExtentToOutputExtent( QgsMapLayer* layer, QgsRectangle extent ) const;
187+
QgsRectangle layerExtentToOutputExtent( const QgsMapLayer* layer, QgsRectangle extent ) const;
188188

189189
/**
190190
* @brief transform bounding box from output CRS to layer's CRS
191191
* @see mapToLayerCoordinates( QgsMapLayer* layer,QgsRectangle rect ) if you want to transform a rectangle
192192
* @return a bounding box (aligned rectangle) containing the transformed extent
193193
*/
194-
QgsRectangle outputExtentToLayerExtent( QgsMapLayer* layer, QgsRectangle extent ) const;
194+
QgsRectangle outputExtentToLayerExtent( const QgsMapLayer* layer, QgsRectangle extent ) const;
195195

196196
/**
197197
* @brief transform point coordinates from layer's CRS to output CRS
198198
* @return the transformed point
199199
*/
200-
QgsPoint layerToMapCoordinates( QgsMapLayer* layer, QgsPoint point ) const;
200+
QgsPoint layerToMapCoordinates( const QgsMapLayer* layer, QgsPoint point ) const;
201201

202202
/**
203203
* @brief transform rectangle from layer's CRS to output CRS
204204
* @see layerExtentToOutputExtent() if you want to transform a bounding box
205205
* @return the transformed rectangle
206206
*/
207-
QgsRectangle layerToMapCoordinates( QgsMapLayer* layer, QgsRectangle rect ) const;
207+
QgsRectangle layerToMapCoordinates( const QgsMapLayer* layer, QgsRectangle rect ) const;
208208

209209
/**
210210
* @brief transform point coordinates from output CRS to layer's CRS
211211
* @return the transformed point
212212
*/
213-
QgsPoint mapToLayerCoordinates( QgsMapLayer* layer, QgsPoint point ) const;
213+
QgsPoint mapToLayerCoordinates( const QgsMapLayer* layer, QgsPoint point ) const;
214214

215215
/**
216216
* @brief transform rectangle from output CRS to layer's CRS
217217
* @see outputExtentToLayerExtent() if you want to transform a bounding box
218218
* @return the transformed rectangle
219219
*/
220-
QgsRectangle mapToLayerCoordinates( QgsMapLayer* layer, QgsRectangle rect ) const;
220+
QgsRectangle mapToLayerCoordinates( const QgsMapLayer* layer, QgsRectangle rect ) const;
221221

222222
/**
223223
* @brief Return coordinate transform from layer's CRS to destination CRS
224224
* @param layer
225225
* @return transform - may be invalid if the transform is not needed
226226
*/
227-
QgsCoordinateTransform layerTransform( QgsMapLayer *layer ) const;
227+
QgsCoordinateTransform layerTransform( const QgsMapLayer *layer ) const;
228228

229229
//! returns current extent of layer set
230230
QgsRectangle fullExtent() const;

python/core/qgspointlocator.sip

+2
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,8 @@ class QgsPointLocator : QObject
9696

9797
//! Only for a valid edge match - obtain endpoints of the edge
9898
void edgePoints( QgsPoint& pt1 /Out/, QgsPoint& pt2 /Out/ ) const;
99+
100+
bool operator==( const QgsPointLocator::Match& other ) const;
99101
};
100102

101103
typedef QList<QgsPointLocator::Match> MatchList;

python/gui/qgsmaptool.sip

+5-5
Original file line numberDiff line numberDiff line change
@@ -144,20 +144,20 @@ class QgsMapTool : QObject
144144
QgsPoint toMapCoordinates( QPoint point );
145145

146146
//! transformation from screen coordinates to layer's coordinates
147-
QgsPoint toLayerCoordinates( QgsMapLayer* layer, QPoint point );
147+
QgsPoint toLayerCoordinates( const QgsMapLayer* layer, QPoint point );
148148

149149
//! transformation from map coordinates to layer's coordinates
150-
QgsPoint toLayerCoordinates( QgsMapLayer* layer, const QgsPoint& point );
150+
QgsPoint toLayerCoordinates( const QgsMapLayer* layer, const QgsPoint& point );
151151

152152
//!transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
153-
QgsPoint toMapCoordinates( QgsMapLayer* layer, const QgsPoint& point );
153+
QgsPoint toMapCoordinates( const QgsMapLayer* layer, const QgsPoint& point );
154154

155155
//!transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
156156
//! @note available in python bindings as toMapCoordinatesV2
157-
QgsPointV2 toMapCoordinates( QgsMapLayer* layer, const QgsPointV2 &point ) /PyName=toMapCoordinatesV2/;
157+
QgsPointV2 toMapCoordinates( const QgsMapLayer* layer, const QgsPointV2 &point ) /PyName=toMapCoordinatesV2/;
158158

159159
//! trnasformation of the rect from map coordinates to layer's coordinates
160-
QgsRectangle toLayerCoordinates( QgsMapLayer* layer, const QgsRectangle& rect );
160+
QgsRectangle toLayerCoordinates( const QgsMapLayer* layer, const QgsRectangle& rect );
161161

162162
//! transformation from map coordinates to screen coordinates
163163
QPoint toCanvasCoordinates( const QgsPoint& point );

python/gui/qgsmaptooledit.sip

+4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ class QgsMapToolEdit: QgsMapTool
3030
double defaultZValue() const;
3131
protected:
3232

33+
static QColor digitizingStrokeColor();
34+
static int digitizingStrokeWidth();
35+
static QColor digitizingFillColor();
36+
3337
/** Creates a rubber band with the color/line width from
3438
* the QGIS settings. The caller takes ownership of the
3539
* returned object

src/core/qgsdatumtransformstore.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ bool QgsDatumTransformStore::hasEntryForLayer( QgsMapLayer* layer ) const
5050
return mEntries.contains( layer->id() );
5151
}
5252

53-
QgsCoordinateTransform QgsDatumTransformStore::transformation( QgsMapLayer* layer ) const
53+
QgsCoordinateTransform QgsDatumTransformStore::transformation( const QgsMapLayer* layer ) const
5454
{
5555
if ( !layer )
5656
return QgsCoordinateTransform();

src/core/qgsdatumtransformstore.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class CORE_EXPORT QgsDatumTransformStore
4848
* @returns transformation associated with layer, or an invalid QgsCoordinateTransform
4949
* if no transform is associated with the layer
5050
*/
51-
QgsCoordinateTransform transformation( QgsMapLayer* layer ) const;
51+
QgsCoordinateTransform transformation( const QgsMapLayer* layer ) const;
5252

5353
void readXml( const QDomNode& parentNode );
5454

src/core/qgsmapsettings.cpp

+8-8
Original file line numberDiff line numberDiff line change
@@ -377,13 +377,13 @@ double QgsMapSettings::scale() const
377377
}
378378

379379

380-
QgsCoordinateTransform QgsMapSettings::layerTransform( QgsMapLayer *layer ) const
380+
QgsCoordinateTransform QgsMapSettings::layerTransform( const QgsMapLayer *layer ) const
381381
{
382382
return mDatumTransformStore.transformation( layer );
383383
}
384384

385385

386-
double QgsMapSettings::layerToMapUnits( QgsMapLayer *layer, const QgsRectangle& referenceExtent ) const
386+
double QgsMapSettings::layerToMapUnits( const QgsMapLayer *layer, const QgsRectangle& referenceExtent ) const
387387
{
388388
QgsRectangle extent = referenceExtent.isEmpty() ? layer->extent() : referenceExtent;
389389
QgsPoint l1( extent.xMinimum(), extent.yMinimum() );
@@ -396,7 +396,7 @@ double QgsMapSettings::layerToMapUnits( QgsMapLayer *layer, const QgsRectangle&
396396
}
397397

398398

399-
QgsRectangle QgsMapSettings::layerExtentToOutputExtent( QgsMapLayer* layer, QgsRectangle extent ) const
399+
QgsRectangle QgsMapSettings::layerExtentToOutputExtent( const QgsMapLayer* layer, QgsRectangle extent ) const
400400
{
401401
if ( hasCrsTransformEnabled() )
402402
{
@@ -423,7 +423,7 @@ QgsRectangle QgsMapSettings::layerExtentToOutputExtent( QgsMapLayer* layer, QgsR
423423
}
424424

425425

426-
QgsRectangle QgsMapSettings::outputExtentToLayerExtent( QgsMapLayer* layer, QgsRectangle extent ) const
426+
QgsRectangle QgsMapSettings::outputExtentToLayerExtent( const QgsMapLayer* layer, QgsRectangle extent ) const
427427
{
428428
if ( hasCrsTransformEnabled() )
429429
{
@@ -450,7 +450,7 @@ QgsRectangle QgsMapSettings::outputExtentToLayerExtent( QgsMapLayer* layer, QgsR
450450
}
451451

452452

453-
QgsPoint QgsMapSettings::layerToMapCoordinates( QgsMapLayer* layer, QgsPoint point ) const
453+
QgsPoint QgsMapSettings::layerToMapCoordinates( const QgsMapLayer* layer, QgsPoint point ) const
454454
{
455455
if ( hasCrsTransformEnabled() )
456456
{
@@ -473,7 +473,7 @@ QgsPoint QgsMapSettings::layerToMapCoordinates( QgsMapLayer* layer, QgsPoint poi
473473
}
474474

475475

476-
QgsRectangle QgsMapSettings::layerToMapCoordinates( QgsMapLayer* layer, QgsRectangle rect ) const
476+
QgsRectangle QgsMapSettings::layerToMapCoordinates( const QgsMapLayer* layer, QgsRectangle rect ) const
477477
{
478478
if ( hasCrsTransformEnabled() )
479479
{
@@ -496,7 +496,7 @@ QgsRectangle QgsMapSettings::layerToMapCoordinates( QgsMapLayer* layer, QgsRecta
496496
}
497497

498498

499-
QgsPoint QgsMapSettings::mapToLayerCoordinates( QgsMapLayer* layer, QgsPoint point ) const
499+
QgsPoint QgsMapSettings::mapToLayerCoordinates( const QgsMapLayer* layer, QgsPoint point ) const
500500
{
501501
if ( hasCrsTransformEnabled() )
502502
{
@@ -519,7 +519,7 @@ QgsPoint QgsMapSettings::mapToLayerCoordinates( QgsMapLayer* layer, QgsPoint poi
519519
}
520520

521521

522-
QgsRectangle QgsMapSettings::mapToLayerCoordinates( QgsMapLayer* layer, QgsRectangle rect ) const
522+
QgsRectangle QgsMapSettings::mapToLayerCoordinates( const QgsMapLayer* layer, QgsRectangle rect ) const
523523
{
524524
if ( hasCrsTransformEnabled() )
525525
{

src/core/qgsmapsettings.h

+8-8
Original file line numberDiff line numberDiff line change
@@ -228,54 +228,54 @@ class CORE_EXPORT QgsMapSettings
228228
* @param referenceExtent A reference extent based on which to perform the computation. If not specified, the layer extent is used
229229
* @note added in QGIS 2.12
230230
*/
231-
double layerToMapUnits( QgsMapLayer* layer, const QgsRectangle& referenceExtent = QgsRectangle() ) const;
231+
double layerToMapUnits( const QgsMapLayer* layer, const QgsRectangle& referenceExtent = QgsRectangle() ) const;
232232

233233
/**
234234
* @brief transform bounding box from layer's CRS to output CRS
235235
* @see layerToMapCoordinates( QgsMapLayer* layer, QgsRectangle rect ) if you want to transform a rectangle
236236
* @return a bounding box (aligned rectangle) containing the transformed extent
237237
*/
238-
QgsRectangle layerExtentToOutputExtent( QgsMapLayer* layer, QgsRectangle extent ) const;
238+
QgsRectangle layerExtentToOutputExtent( const QgsMapLayer* layer, QgsRectangle extent ) const;
239239

240240
/**
241241
* @brief transform bounding box from output CRS to layer's CRS
242242
* @see mapToLayerCoordinates( QgsMapLayer* layer,QgsRectangle rect ) if you want to transform a rectangle
243243
* @return a bounding box (aligned rectangle) containing the transformed extent
244244
*/
245-
QgsRectangle outputExtentToLayerExtent( QgsMapLayer* layer, QgsRectangle extent ) const;
245+
QgsRectangle outputExtentToLayerExtent( const QgsMapLayer* layer, QgsRectangle extent ) const;
246246

247247
/**
248248
* @brief transform point coordinates from layer's CRS to output CRS
249249
* @return the transformed point
250250
*/
251-
QgsPoint layerToMapCoordinates( QgsMapLayer* layer, QgsPoint point ) const;
251+
QgsPoint layerToMapCoordinates( const QgsMapLayer* layer, QgsPoint point ) const;
252252

253253
/**
254254
* @brief transform rectangle from layer's CRS to output CRS
255255
* @see layerExtentToOutputExtent() if you want to transform a bounding box
256256
* @return the transformed rectangle
257257
*/
258-
QgsRectangle layerToMapCoordinates( QgsMapLayer* layer, QgsRectangle rect ) const;
258+
QgsRectangle layerToMapCoordinates( const QgsMapLayer* layer, QgsRectangle rect ) const;
259259

260260
/**
261261
* @brief transform point coordinates from output CRS to layer's CRS
262262
* @return the transformed point
263263
*/
264-
QgsPoint mapToLayerCoordinates( QgsMapLayer* layer, QgsPoint point ) const;
264+
QgsPoint mapToLayerCoordinates( const QgsMapLayer* layer, QgsPoint point ) const;
265265

266266
/**
267267
* @brief transform rectangle from output CRS to layer's CRS
268268
* @see outputExtentToLayerExtent() if you want to transform a bounding box
269269
* @return the transformed rectangle
270270
*/
271-
QgsRectangle mapToLayerCoordinates( QgsMapLayer* layer, QgsRectangle rect ) const;
271+
QgsRectangle mapToLayerCoordinates( const QgsMapLayer* layer, QgsRectangle rect ) const;
272272

273273
/**
274274
* @brief Return coordinate transform from layer's CRS to destination CRS
275275
* @param layer
276276
* @return transform - may be invalid if the transform is not needed
277277
*/
278-
QgsCoordinateTransform layerTransform( QgsMapLayer *layer ) const;
278+
QgsCoordinateTransform layerTransform( const QgsMapLayer *layer ) const;
279279

280280
//! returns current extent of layer set
281281
QgsRectangle fullExtent() const;

src/core/qgspointlocator.h

+11
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,17 @@ class CORE_EXPORT QgsPointLocator : public QObject
160160
pt2 = mEdgePoints[1];
161161
}
162162

163+
bool operator==( const Match& other ) const
164+
{
165+
return mType == other.mType &&
166+
mDist == other.mDist &&
167+
mPoint == other.mPoint &&
168+
mLayer == other.mLayer &&
169+
mFid == other.mFid &&
170+
mVertexIndex == other.mVertexIndex &&
171+
mEdgePoints == other.mEdgePoints;
172+
}
173+
163174
protected:
164175
Type mType;
165176
double mDist;

src/gui/qgsmaptool.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -43,30 +43,30 @@ QgsPoint QgsMapTool::toMapCoordinates( QPoint point )
4343
return mCanvas->getCoordinateTransform()->toMapCoordinates( point );
4444
}
4545

46-
QgsPointV2 QgsMapTool::toMapCoordinates( QgsMapLayer* layer, const QgsPointV2& point )
46+
QgsPointV2 QgsMapTool::toMapCoordinates( const QgsMapLayer* layer, const QgsPointV2& point )
4747
{
4848
QgsPoint result = mCanvas->mapSettings().layerToMapCoordinates( layer, QgsPoint( point.x(), point.y() ) );
4949
return QgsPointV2( result.x(), result.y() );
5050
}
5151

5252

53-
QgsPoint QgsMapTool::toLayerCoordinates( QgsMapLayer* layer, QPoint point )
53+
QgsPoint QgsMapTool::toLayerCoordinates( const QgsMapLayer* layer, QPoint point )
5454
{
5555
QgsPoint pt = toMapCoordinates( point );
5656
return toLayerCoordinates( layer, pt );
5757
}
5858

59-
QgsPoint QgsMapTool::toLayerCoordinates( QgsMapLayer* layer, const QgsPoint& point )
59+
QgsPoint QgsMapTool::toLayerCoordinates( const QgsMapLayer* layer, const QgsPoint& point )
6060
{
6161
return mCanvas->mapSettings().mapToLayerCoordinates( layer, point );
6262
}
6363

64-
QgsPoint QgsMapTool::toMapCoordinates( QgsMapLayer* layer, const QgsPoint& point )
64+
QgsPoint QgsMapTool::toMapCoordinates( const QgsMapLayer* layer, const QgsPoint& point )
6565
{
6666
return mCanvas->mapSettings().layerToMapCoordinates( layer, point );
6767
}
6868

69-
QgsRectangle QgsMapTool::toLayerCoordinates( QgsMapLayer* layer, const QgsRectangle& rect )
69+
QgsRectangle QgsMapTool::toLayerCoordinates( const QgsMapLayer* layer, const QgsRectangle& rect )
7070
{
7171
return mCanvas->mapSettings().mapToLayerCoordinates( layer, rect );
7272
}

src/gui/qgsmaptool.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -170,20 +170,20 @@ class GUI_EXPORT QgsMapTool : public QObject
170170
QgsPoint toMapCoordinates( QPoint point );
171171

172172
//! transformation from screen coordinates to layer's coordinates
173-
QgsPoint toLayerCoordinates( QgsMapLayer* layer, QPoint point );
173+
QgsPoint toLayerCoordinates( const QgsMapLayer* layer, QPoint point );
174174

175175
//! transformation from map coordinates to layer's coordinates
176-
QgsPoint toLayerCoordinates( QgsMapLayer* layer, const QgsPoint& point );
176+
QgsPoint toLayerCoordinates( const QgsMapLayer* layer, const QgsPoint& point );
177177

178178
//!transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
179-
QgsPoint toMapCoordinates( QgsMapLayer* layer, const QgsPoint& point );
179+
QgsPoint toMapCoordinates( const QgsMapLayer* layer, const QgsPoint& point );
180180

181181
//!transformation from layer's coordinates to map coordinates (which is different in case reprojection is used)
182182
//! @note available in python bindings as toMapCoordinatesV2
183-
QgsPointV2 toMapCoordinates( QgsMapLayer* layer, const QgsPointV2 &point );
183+
QgsPointV2 toMapCoordinates( const QgsMapLayer* layer, const QgsPointV2 &point );
184184

185185
//! trnasformation of the rect from map coordinates to layer's coordinates
186-
QgsRectangle toLayerCoordinates( QgsMapLayer* layer, const QgsRectangle& rect );
186+
QgsRectangle toLayerCoordinates( const QgsMapLayer* layer, const QgsRectangle& rect );
187187

188188
//! transformation from map coordinates to screen coordinates
189189
QPoint toCanvasCoordinates( const QgsPoint& point );

0 commit comments

Comments
 (0)