Skip to content

Commit d6a038b

Browse files
committedMay 11, 2020
getter for handledFeatures in DeleteContext
1 parent 3c963ab commit d6a038b

File tree

3 files changed

+18
-9
lines changed

3 files changed

+18
-9
lines changed
 

‎python/core/auto_generated/qgsvectorlayer.sip.in

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -374,15 +374,19 @@ Constructor for LayerOptions.
374374

375375
};
376376

377-
struct DeleteContext
377+
struct DeleteContext
378378
{
379379

380380
explicit DeleteContext( bool cascade = false );
381381
%Docstring
382382
Constructor for DeleteContext.
383383
%End
384384

385-
QMap<QgsVectorLayer *, QgsFeatureIds> handledFeatures;
385+
QMap<QgsVectorLayer *, QgsFeatureIds> handledFeatures();
386+
%Docstring
387+
Returns all the layers on which features have been deleted
388+
%End
389+
386390
bool cascade;
387391
};
388392

‎src/core/qgsvectorlayer.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3171,9 +3171,9 @@ bool QgsVectorLayer::deleteFeatureCascade( QgsFeatureId fid, QgsVectorLayer::Del
31713171

31723172
if ( context && context->cascade )
31733173
{
3174-
if ( context->handledFeatures.contains( this ) )
3174+
if ( context->mHandledFeatures.contains( this ) )
31753175
{
3176-
QgsFeatureIds handledFeatureIds = context->handledFeatures.value( this );
3176+
QgsFeatureIds handledFeatureIds = context->mHandledFeatures.value( this );
31773177
if ( handledFeatureIds.contains( fid ) )
31783178
{
31793179
// avoid endless recursion
@@ -3183,13 +3183,13 @@ bool QgsVectorLayer::deleteFeatureCascade( QgsFeatureId fid, QgsVectorLayer::Del
31833183
{
31843184
// add feature id
31853185
handledFeatureIds << fid;
3186-
context->handledFeatures.insert( this, handledFeatureIds );
3186+
context->mHandledFeatures.insert( this, handledFeatureIds );
31873187
}
31883188
}
31893189
else
31903190
{
31913191
// add layer and feature id
3192-
context->handledFeatures.insert( this, QgsFeatureIds() << fid );
3192+
context->mHandledFeatures.insert( this, QgsFeatureIds() << fid );
31933193
}
31943194

31953195
const QList<QgsRelation> relations = QgsProject::instance()->relationManager()->referencedRelations( this );

‎src/core/qgsvectorlayer.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -508,16 +508,21 @@ class CORE_EXPORT QgsVectorLayer : public QgsMapLayer, public QgsExpressionConte
508508
* Context for deleting features
509509
* \since QGIS 3.14
510510
*/
511-
struct DeleteContext
511+
struct DeleteContext
512512
{
513513

514514
/**
515515
* Constructor for DeleteContext.
516516
*/
517517
explicit DeleteContext( bool cascade = false ): cascade( cascade ) {}
518518

519-
QMap<QgsVectorLayer *, QgsFeatureIds> handledFeatures;
520-
bool cascade ;
519+
/**
520+
* Returns all the layers on which features have been deleted
521+
*/
522+
QMap<QgsVectorLayer *, QgsFeatureIds> handledFeatures() { return mHandledFeatures; }
523+
524+
QMap<QgsVectorLayer *, QgsFeatureIds> mHandledFeatures SIP_SKIP;
525+
bool cascade;
521526
};
522527

523528
/**

0 commit comments

Comments
 (0)
Please sign in to comment.