Skip to content

Commit fcdb4c0

Browse files
authored
[vertex tool] small code cleanup (#9237)
* [vertex tool] rename mSelectedFeature to mLockedFeature * also rename file and class * remove uselesss method, move code to constructor and initialize in header * followup rename
1 parent c389fad commit fcdb4c0

7 files changed

+179
-192
lines changed

src/app/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ SET(QGIS_APP_SRCS
125125
decorations/qgsdecorationgrid.cpp
126126
decorations/qgsdecorationgriddialog.cpp
127127

128-
vertextool/qgsselectedfeature.cpp
128+
vertextool/qgslockedfeature.cpp
129129
vertextool/qgsvertexentry.cpp
130130
vertextool/qgsvertexeditor.cpp
131131
vertextool/qgsvertextool.cpp
@@ -384,7 +384,7 @@ SET (QGIS_APP_MOC_HDRS
384384
decorations/qgsdecorationgrid.h
385385
decorations/qgsdecorationgriddialog.h
386386

387-
vertextool/qgsselectedfeature.h
387+
vertextool/qgslockedfeature.h
388388
vertextool/qgsvertexeditor.h
389389
vertextool/qgsvertextool.h
390390

src/app/vertextool/qgsselectedfeature.cpp renamed to src/app/vertextool/qgslockedfeature.cpp

+55-66
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/***************************************************************************
2-
qgsselectedfeature.cpp - selected feature of vertextool
2+
qgslockedfeature.cpp - locked feature of vertextool
33
---------------------
44
begin : April 2009
55
copyright : (C) 2009 by Richard Kostecky
@@ -13,7 +13,7 @@
1313
* *
1414
***************************************************************************/
1515

16-
#include "vertextool/qgsselectedfeature.h"
16+
#include "vertextool/qgslockedfeature.h"
1717
#include "vertextool/qgsvertexentry.h"
1818

1919
#include "qgsfeatureiterator.h"
@@ -32,16 +32,33 @@
3232
#include "qgsmapcanvas.h"
3333

3434

35-
QgsSelectedFeature::QgsSelectedFeature( QgsFeatureId featureId,
36-
QgsVectorLayer *vlayer,
37-
QgsMapCanvas *canvas )
35+
QgsLockedFeature::QgsLockedFeature( QgsFeatureId featureId,
36+
QgsVectorLayer *layer,
37+
QgsMapCanvas *canvas )
3838
: mFeatureId( featureId )
39-
, mChangingGeometry( false )
39+
, mLayer( layer )
40+
, mCanvas( canvas )
4041
{
41-
setSelectedFeature( featureId, vlayer, canvas );
42+
// signal changing of current layer
43+
connect( QgisApp::instance()->layerTreeView(), &QgsLayerTreeView::currentLayerChanged, this, &QgsLockedFeature::currentLayerChanged );
44+
45+
// feature was deleted
46+
connect( mLayer, &QgsVectorLayer::featureDeleted, this, &QgsLockedFeature::featureDeleted );
47+
48+
// rolling back
49+
connect( mLayer, &QgsVectorLayer::beforeRollBack, this, &QgsLockedFeature::beforeRollBack );
50+
51+
// projection or extents changed
52+
connect( canvas, &QgsMapCanvas::destinationCrsChanged, this, &QgsLockedFeature::updateVertexMarkersPosition );
53+
connect( canvas, &QgsMapCanvas::extentsChanged, this, &QgsLockedFeature::updateVertexMarkersPosition );
54+
55+
// geometry was changed
56+
connect( mLayer, &QgsVectorLayer::geometryChanged, this, &QgsLockedFeature::geometryChanged );
57+
58+
replaceVertexMap();
4259
}
4360

44-
QgsSelectedFeature::~QgsSelectedFeature()
61+
QgsLockedFeature::~QgsLockedFeature()
4562
{
4663
deleteVertexMap();
4764

@@ -61,13 +78,13 @@ QgsSelectedFeature::~QgsSelectedFeature()
6178
delete mGeometry;
6279
}
6380

64-
void QgsSelectedFeature::currentLayerChanged( QgsMapLayer *layer )
81+
void QgsLockedFeature::currentLayerChanged( QgsMapLayer *layer )
6582
{
6683
if ( layer == mLayer )
6784
deleteLater();
6885
}
6986

70-
void QgsSelectedFeature::updateGeometry( const QgsGeometry *geom )
87+
void QgsLockedFeature::updateGeometry( const QgsGeometry *geom )
7188
{
7289
delete mGeometry;
7390

@@ -86,68 +103,40 @@ void QgsSelectedFeature::updateGeometry( const QgsGeometry *geom )
86103
}
87104
}
88105

89-
void QgsSelectedFeature::setSelectedFeature( QgsFeatureId featureId, QgsVectorLayer *layer, QgsMapCanvas *canvas )
90-
{
91-
mFeatureId = featureId;
92-
mLayer = layer;
93-
mCanvas = canvas;
94-
95-
delete mGeometry;
96-
mGeometry = nullptr;
97-
98-
// signal changing of current layer
99-
connect( QgisApp::instance()->layerTreeView(), &QgsLayerTreeView::currentLayerChanged, this, &QgsSelectedFeature::currentLayerChanged );
100-
101-
// feature was deleted
102-
connect( mLayer, &QgsVectorLayer::featureDeleted, this, &QgsSelectedFeature::featureDeleted );
103-
104-
// rolling back
105-
connect( mLayer, &QgsVectorLayer::beforeRollBack, this, &QgsSelectedFeature::beforeRollBack );
106-
107-
// projection or extents changed
108-
connect( canvas, &QgsMapCanvas::destinationCrsChanged, this, &QgsSelectedFeature::updateVertexMarkersPosition );
109-
connect( canvas, &QgsMapCanvas::extentsChanged, this, &QgsSelectedFeature::updateVertexMarkersPosition );
110-
111-
// geometry was changed
112-
connect( mLayer, &QgsVectorLayer::geometryChanged, this, &QgsSelectedFeature::geometryChanged );
113-
114-
replaceVertexMap();
115-
}
116-
117-
void QgsSelectedFeature::beforeRollBack()
106+
void QgsLockedFeature::beforeRollBack()
118107
{
119-
disconnect( mLayer, &QgsVectorLayer::geometryChanged, this, &QgsSelectedFeature::geometryChanged );
108+
disconnect( mLayer, &QgsVectorLayer::geometryChanged, this, &QgsLockedFeature::geometryChanged );
120109
deleteVertexMap();
121110
}
122111

123-
void QgsSelectedFeature::beginGeometryChange()
112+
void QgsLockedFeature::beginGeometryChange()
124113
{
125114
Q_ASSERT( !mChangingGeometry );
126115
mChangingGeometry = true;
127116

128-
disconnect( mLayer, &QgsVectorLayer::geometryChanged, this, &QgsSelectedFeature::geometryChanged );
117+
disconnect( mLayer, &QgsVectorLayer::geometryChanged, this, &QgsLockedFeature::geometryChanged );
129118
}
130119

131-
void QgsSelectedFeature::endGeometryChange()
120+
void QgsLockedFeature::endGeometryChange()
132121
{
133122
Q_ASSERT( mChangingGeometry );
134123
mChangingGeometry = false;
135124

136-
connect( mLayer, &QgsVectorLayer::geometryChanged, this, &QgsSelectedFeature::geometryChanged );
125+
connect( mLayer, &QgsVectorLayer::geometryChanged, this, &QgsLockedFeature::geometryChanged );
137126
}
138127

139-
void QgsSelectedFeature::canvasLayersChanged()
128+
void QgsLockedFeature::canvasLayersChanged()
140129
{
141130
currentLayerChanged( mCanvas->currentLayer() );
142131
}
143132

144-
void QgsSelectedFeature::featureDeleted( QgsFeatureId fid )
133+
void QgsLockedFeature::featureDeleted( QgsFeatureId fid )
145134
{
146135
if ( fid == mFeatureId )
147136
deleteLater();
148137
}
149138

150-
void QgsSelectedFeature::geometryChanged( QgsFeatureId fid, const QgsGeometry &geom )
139+
void QgsLockedFeature::geometryChanged( QgsFeatureId fid, const QgsGeometry &geom )
151140
{
152141
QgsDebugCall;
153142

@@ -159,7 +148,7 @@ void QgsSelectedFeature::geometryChanged( QgsFeatureId fid, const QgsGeometry &g
159148
replaceVertexMap();
160149
}
161150

162-
void QgsSelectedFeature::validateGeometry( QgsGeometry *g )
151+
void QgsLockedFeature::validateGeometry( QgsGeometry *g )
163152
{
164153
QgsSettings settings;
165154
if ( settings.value( QStringLiteral( "qgis/digitizing/validate_geometries" ), 1 ).toInt() == 0 )
@@ -190,15 +179,15 @@ void QgsSelectedFeature::validateGeometry( QgsGeometry *g )
190179
if ( settings.value( QStringLiteral( "qgis/digitizing/validate_geometries" ), 1 ).toInt() == 2 )
191180
method = QgsGeometry::ValidatorGeos;
192181
mValidator = new QgsGeometryValidator( *g, nullptr, method );
193-
connect( mValidator, &QgsGeometryValidator::errorFound, this, &QgsSelectedFeature::addError );
194-
connect( mValidator, &QThread::finished, this, &QgsSelectedFeature::validationFinished );
182+
connect( mValidator, &QgsGeometryValidator::errorFound, this, &QgsLockedFeature::addError );
183+
connect( mValidator, &QThread::finished, this, &QgsLockedFeature::validationFinished );
195184
mValidator->start();
196185

197186
QgsStatusBar *sb = QgisApp::instance()->statusBarIface();
198187
sb->showMessage( tr( "Validation started." ) );
199188
}
200189

201-
void QgsSelectedFeature::addError( QgsGeometry::Error e )
190+
void QgsLockedFeature::addError( QgsGeometry::Error e )
202191
{
203192
mGeomErrors << e;
204193
if ( !mTip.isEmpty() )
@@ -223,13 +212,13 @@ void QgsSelectedFeature::addError( QgsGeometry::Error e )
223212
sb->setToolTip( mTip );
224213
}
225214

226-
void QgsSelectedFeature::validationFinished()
215+
void QgsLockedFeature::validationFinished()
227216
{
228217
QgsStatusBar *sb = QgisApp::instance()->statusBarIface();
229218
sb->showMessage( tr( "Validation finished (%n error(s) found).", "number of geometry errors", mGeomErrorMarkers.size() ) );
230219
}
231220

232-
void QgsSelectedFeature::replaceVertexMap()
221+
void QgsLockedFeature::replaceVertexMap()
233222
{
234223
// delete old map
235224
deleteVertexMap();
@@ -243,7 +232,7 @@ void QgsSelectedFeature::replaceVertexMap()
243232
emit vertexMapChanged();
244233
}
245234

246-
void QgsSelectedFeature::deleteVertexMap()
235+
void QgsLockedFeature::deleteVertexMap()
247236
{
248237
Q_FOREACH ( QgsVertexEntry *entry, mVertexMap )
249238
{
@@ -253,18 +242,18 @@ void QgsSelectedFeature::deleteVertexMap()
253242
mVertexMap.clear();
254243
}
255244

256-
bool QgsSelectedFeature::isSelected( int vertexNr )
245+
bool QgsLockedFeature::isSelected( int vertexNr )
257246
{
258247
return mVertexMap.at( vertexNr )->isSelected();
259248
}
260249

261-
QgsGeometry *QgsSelectedFeature::geometry()
250+
QgsGeometry *QgsLockedFeature::geometry()
262251
{
263252
Q_ASSERT( mGeometry );
264253
return mGeometry;
265254
}
266255

267-
void QgsSelectedFeature::createVertexMap()
256+
void QgsLockedFeature::createVertexMap()
268257
{
269258

270259
if ( !mGeometry )
@@ -292,7 +281,7 @@ void QgsSelectedFeature::createVertexMap()
292281
}
293282
}
294283

295-
void QgsSelectedFeature::selectVertex( int vertexNr )
284+
void QgsLockedFeature::selectVertex( int vertexNr )
296285
{
297286
if ( vertexNr < 0 || vertexNr >= mVertexMap.size() )
298287
return;
@@ -303,7 +292,7 @@ void QgsSelectedFeature::selectVertex( int vertexNr )
303292
emit selectionChanged();
304293
}
305294

306-
void QgsSelectedFeature::deselectVertex( int vertexNr )
295+
void QgsLockedFeature::deselectVertex( int vertexNr )
307296
{
308297
if ( vertexNr < 0 || vertexNr >= mVertexMap.size() )
309298
return;
@@ -314,7 +303,7 @@ void QgsSelectedFeature::deselectVertex( int vertexNr )
314303
emit selectionChanged();
315304
}
316305

317-
void QgsSelectedFeature::deselectAllVertices()
306+
void QgsLockedFeature::deselectAllVertices()
318307
{
319308
for ( int i = 0; i < mVertexMap.size(); i++ )
320309
{
@@ -323,7 +312,7 @@ void QgsSelectedFeature::deselectAllVertices()
323312
emit selectionChanged();
324313
}
325314

326-
void QgsSelectedFeature::invertVertexSelection( int vertexNr )
315+
void QgsLockedFeature::invertVertexSelection( int vertexNr )
327316
{
328317
if ( vertexNr < 0 || vertexNr >= mVertexMap.size() )
329318
return;
@@ -336,7 +325,7 @@ void QgsSelectedFeature::invertVertexSelection( int vertexNr )
336325
emit selectionChanged();
337326
}
338327

339-
void QgsSelectedFeature::invertVertexSelection( const QVector<int> &vertexIndices )
328+
void QgsLockedFeature::invertVertexSelection( const QVector<int> &vertexIndices )
340329
{
341330
Q_FOREACH ( int index, vertexIndices )
342331
{
@@ -349,25 +338,25 @@ void QgsSelectedFeature::invertVertexSelection( const QVector<int> &vertexIndice
349338
emit selectionChanged();
350339
}
351340

352-
void QgsSelectedFeature::updateVertexMarkersPosition()
341+
void QgsLockedFeature::updateVertexMarkersPosition()
353342
{
354343
Q_FOREACH ( QgsVertexEntry *vertexEntry, mVertexMap )
355344
{
356345
vertexEntry->placeMarker();
357346
}
358347
}
359348

360-
QgsFeatureId QgsSelectedFeature::featureId()
349+
QgsFeatureId QgsLockedFeature::featureId()
361350
{
362351
return mFeatureId;
363352
}
364353

365-
QList<QgsVertexEntry *> &QgsSelectedFeature::vertexMap()
354+
QList<QgsVertexEntry *> &QgsLockedFeature::vertexMap()
366355
{
367356
return mVertexMap;
368357
}
369358

370-
QgsVectorLayer *QgsSelectedFeature::layer()
359+
QgsVectorLayer *QgsLockedFeature::layer()
371360
{
372361
return mLayer;
373362
}

src/app/vertextool/qgsselectedfeature.h renamed to src/app/vertextool/qgslockedfeature.h

+10-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/***************************************************************************
2-
qgsselectedfeature.h - selected feature of vertextool
2+
qgslockedfeature.h - selected feature of vertextool
33
---------------------
44
begin : April 2009
55
copyright : (C) 2009 by Richard Kostecky
@@ -13,8 +13,8 @@
1313
* *
1414
***************************************************************************/
1515

16-
#ifndef QGSSELECTEDFEATURE_H
17-
#define QGSSELECTEDFEATURE_H
16+
#ifndef QGSLOCKEDFEATURE_H
17+
#define QGSLOCKEDFEATURE_H
1818

1919
#include "qgsgeometry.h"
2020
#include "qgsfeatureid.h"
@@ -38,21 +38,21 @@ static const double ZERO_TOLERANCE = 0.000000001;
3838
/**
3939
* Class that keeps the selected feature
4040
*/
41-
class QgsSelectedFeature: public QObject
41+
class QgsLockedFeature: public QObject
4242
{
4343
Q_OBJECT
4444

4545
public:
46-
QgsSelectedFeature( QgsFeatureId id, QgsVectorLayer *layer, QgsMapCanvas *canvas );
47-
~QgsSelectedFeature() override;
4846

4947
/**
50-
* Setting selected feature
48+
* Creates a locked feature
5149
* \param featureId id of feature which was selected
52-
* \param vlayer vector layer in which feature is selected
50+
* \param layer vector layer in which feature is selected
5351
* \param canvas mapCanvas on which we are working
5452
*/
55-
void setSelectedFeature( QgsFeatureId featureId, QgsVectorLayer *layer, QgsMapCanvas *canvas );
53+
QgsLockedFeature( QgsFeatureId id, QgsVectorLayer *layer, QgsMapCanvas *canvas );
54+
55+
~QgsLockedFeature() override;
5656

5757
/**
5858
* Function to select vertex with number
@@ -191,8 +191,7 @@ class QgsSelectedFeature: public QObject
191191

192192
QgsFeatureId mFeatureId;
193193
QgsGeometry *mGeometry = nullptr;
194-
bool mFeatureSelected;
195-
bool mChangingGeometry;
194+
bool mChangingGeometry = false;
196195
QgsVectorLayer *mLayer = nullptr;
197196
QList<QgsVertexEntry *> mVertexMap;
198197
QgsMapCanvas *mCanvas = nullptr;

0 commit comments

Comments
 (0)