Boundary alg requires geometry for in-place edits

This commit is contained in:
Nyall Dawson 2018-09-21 13:44:44 +10:00
parent df657d4fd3
commit a764b4bd93
2 changed files with 11 additions and 0 deletions

View File

@ -16,6 +16,7 @@
***************************************************************************/
#include "qgsalgorithmboundary.h"
#include "qgsvectorlayer.h"
///@cond PRIVATE
@ -62,6 +63,15 @@ QList<int> QgsBoundaryAlgorithm::inputLayerTypes() const
return QList<int>() << QgsProcessing::TypeVectorLine << QgsProcessing::TypeVectorPolygon;
}
bool QgsBoundaryAlgorithm::supportInPlaceEdit( const QgsMapLayer *l ) const
{
const QgsVectorLayer *layer = qobject_cast< const QgsVectorLayer * >( l );
if ( !layer )
return false;
return layer->isSpatial();
}
QgsBoundaryAlgorithm *QgsBoundaryAlgorithm::createInstance() const
{
return new QgsBoundaryAlgorithm();

View File

@ -41,6 +41,7 @@ class QgsBoundaryAlgorithm : public QgsProcessingFeatureBasedAlgorithm
QString groupId() const override;
QString shortHelpString() const override;
QList<int> inputLayerTypes() const override;
bool supportInPlaceEdit( const QgsMapLayer *layer ) const override;
QgsBoundaryAlgorithm *createInstance() const override SIP_FACTORY;
protected: