Skip to content

Commit

Permalink
Make QgsGeometryCheck::CheckType available in factory
Browse files Browse the repository at this point in the history
  • Loading branch information
m-kuhn committed Oct 15, 2018
1 parent cf0b3e9 commit 81cfc36
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
Expand Up @@ -70,6 +70,12 @@ class ANALYSIS_EXPORT QgsGeometryDuplicateCheck : public QgsGeometryCheck
static QString factoryId();
static QgsGeometryCheck::CheckType factoryCheckType();

static QList<QgsWkbTypes::GeometryType> factoryCompatibleGeometryTypes() {return {QgsWkbTypes::PointGeometry, QgsWkbTypes::LineGeometry, QgsWkbTypes::PolygonGeometry}; }
static bool factoryIsCompatible( QgsVectorLayer *layer ) SIP_SKIP { return factoryCompatibleGeometryTypes().contains( layer->geometryType() ); }
static QString factoryDescription() { return tr( "Duplicate" ); }
static QString factoryId();
static QgsGeometryCheck::CheckType factoryCheckType();

enum ResolutionMethod { NoChange, RemoveDuplicates };
};

Expand Down
1 change: 0 additions & 1 deletion src/app/qgisapp.cpp
Expand Up @@ -925,7 +925,6 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, bool skipVersionCh
functionProfile( &QgisApp::initLayouts, this, QStringLiteral( "Initialize layouts support" ) );

startProfile( QStringLiteral( "Geometry validation" ) );
QgsAnalysis::instance()->geometryCheckRegistry()->initialize();

mGeometryValidationService = qgis::make_unique<QgsGeometryValidationService>( QgsProject::instance() );
connect( mGeometryValidationService.get(), &QgsGeometryValidationService::warning, this, [this]( const QString & message )
Expand Down
4 changes: 2 additions & 2 deletions src/app/qgsgeometryvalidationservice.cpp
Expand Up @@ -136,7 +136,7 @@ void QgsGeometryValidationService::enableLayerChecks( QgsVectorLayer *layer )

const QStringList activeChecks = layer->geometryOptions()->geometryChecks();

const QList<QgsGeometryCheckFactory *> singleCheckFactories = checkRegistry->geometryCheckFactories( layer, QgsGeometryCheck::SingleGeometryCheck );
const QList<QgsGeometryCheckFactory *> singleCheckFactories = checkRegistry->geometryCheckFactories( layer, QgsGeometryCheck::FeatureNodeCheck, QgsGeometryCheck::AvailableInValidation );

for ( QgsGeometryCheckFactory *factory : singleCheckFactories )
{
Expand All @@ -159,7 +159,7 @@ void QgsGeometryValidationService::enableLayerChecks( QgsVectorLayer *layer )

// Topology checks
QList<QgsGeometryCheck *> topologyChecks;
const QList<QgsGeometryCheckFactory *> topologyCheckFactories = checkRegistry->geometryCheckFactories( layer, QgsGeometryCheck::SingleLayerTopologyCheck );
const QList<QgsGeometryCheckFactory *> topologyCheckFactories = checkRegistry->geometryCheckFactories( layer, QgsGeometryCheck::LayerCheck, QgsGeometryCheck::AvailableInValidation );

for ( QgsGeometryCheckFactory *factory : topologyCheckFactories )
{
Expand Down

0 comments on commit 81cfc36

Please sign in to comment.