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 "qgsalgorithmboundary.h"
#include "qgsvectorlayer.h"
///@cond PRIVATE ///@cond PRIVATE
@ -62,6 +63,15 @@ QList<int> QgsBoundaryAlgorithm::inputLayerTypes() const
return QList<int>() << QgsProcessing::TypeVectorLine << QgsProcessing::TypeVectorPolygon; 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 QgsBoundaryAlgorithm *QgsBoundaryAlgorithm::createInstance() const
{ {
return new QgsBoundaryAlgorithm(); return new QgsBoundaryAlgorithm();

View File

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