void QgsFilterVerticesAlgorithmBase::initParameters( const QVariantMap & ) { auto min = qgis::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "MIN" ), QObject::tr( "Minimum" ), QgsProcessingParameterNumber::Double, QVariant(), true ); min->setIsDynamic( true ); min->setDynamicPropertyDefinition( QgsPropertyDefinition( QStringLiteral( "Minimum" ), QObject::tr( "Minimum value" ), QgsPropertyDefinition::Double ) ); min->setDynamicLayerParameterName( QStringLiteral( "INPUT" ) ); addParameter( min.release() ); auto max = qgis::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "MAX" ), QObject::tr( "Maximum" ), QgsProcessingParameterNumber::Double, QVariant(), true ); max->setIsDynamic( true ); max->setDynamicPropertyDefinition( QgsPropertyDefinition( QStringLiteral( "Maximum" ), QObject::tr( "Maximum value" ), QgsPropertyDefinition::Double ) ); max->setDynamicLayerParameterName( QStringLiteral( "INPUT" ) ); addParameter( max.release() ); }
void QgsBufferAlgorithm::initAlgorithm( const QVariantMap & ) { addParameter( new QgsProcessingParameterFeatureSource( QStringLiteral( "INPUT" ), QObject::tr( "Input layer" ) ) ); auto bufferParam = qgis::make_unique < QgsProcessingParameterDistance >( QStringLiteral( "DISTANCE" ), QObject::tr( "Distance" ), 10, QStringLiteral( "INPUT" ) ); bufferParam->setIsDynamic( true ); bufferParam->setDynamicPropertyDefinition( QgsPropertyDefinition( QStringLiteral( "Distance" ), QObject::tr( "Buffer distance" ), QgsPropertyDefinition::Double ) ); bufferParam->setDynamicLayerParameterName( QStringLiteral( "INPUT" ) ); addParameter( bufferParam.release() ); addParameter( new QgsProcessingParameterNumber( QStringLiteral( "SEGMENTS" ), QObject::tr( "Segments" ), QgsProcessingParameterNumber::Integer, 5, false, 1 ) ); addParameter( new QgsProcessingParameterEnum( QStringLiteral( "END_CAP_STYLE" ), QObject::tr( "End cap style" ), QStringList() << QObject::tr( "Round" ) << QObject::tr( "Flat" ) << QObject::tr( "Square" ), false, 0 ) ); addParameter( new QgsProcessingParameterEnum( QStringLiteral( "JOIN_STYLE" ), QObject::tr( "Join style" ), QStringList() << QObject::tr( "Round" ) << QObject::tr( "Miter" ) << QObject::tr( "Bevel" ), false, 0 ) ); addParameter( new QgsProcessingParameterNumber( QStringLiteral( "MITER_LIMIT" ), QObject::tr( "Miter limit" ), QgsProcessingParameterNumber::Double, 2, false, 1 ) ); addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "DISSOLVE" ), QObject::tr( "Dissolve result" ), false ) ); addParameter( new QgsProcessingParameterFeatureSink( QStringLiteral( "OUTPUT" ), QObject::tr( "Buffered" ), QgsProcessing::TypeVectorPolygon ) ); }
void QgsJoinWithLinesAlgorithm::initAlgorithm( const QVariantMap & ) { addParameter( new QgsProcessingParameterFeatureSource( QStringLiteral( "HUBS" ), QObject::tr( "Hub layer" ) ) ); addParameter( new QgsProcessingParameterField( QStringLiteral( "HUB_FIELD" ), QObject::tr( "Hub ID field" ), QVariant(), QStringLiteral( "HUBS" ) ) ); addParameter( new QgsProcessingParameterField( QStringLiteral( "HUB_FIELDS" ), QObject::tr( "Hub layer fields to copy (leave empty to copy all fields)" ), QVariant(), QStringLiteral( "HUBS" ), QgsProcessingParameterField::Any, true, true ) ); addParameter( new QgsProcessingParameterFeatureSource( QStringLiteral( "SPOKES" ), QObject::tr( "Spoke layer" ) ) ); addParameter( new QgsProcessingParameterField( QStringLiteral( "SPOKE_FIELD" ), QObject::tr( "Spoke ID field" ), QVariant(), QStringLiteral( "SPOKES" ) ) ); addParameter( new QgsProcessingParameterField( QStringLiteral( "SPOKE_FIELDS" ), QObject::tr( "Spoke layer fields to copy (leave empty to copy all fields)" ), QVariant(), QStringLiteral( "SPOKES" ), QgsProcessingParameterField::Any, true, true ) ); addParameter( new QgsProcessingParameterBoolean( QStringLiteral( "GEODESIC" ), QObject::tr( "Create geodesic lines" ), false ) ); auto distanceParam = qgis::make_unique< QgsProcessingParameterDistance >( QStringLiteral( "GEODESIC_DISTANCE" ), QObject::tr( "Distance between vertices (geodesic lines only)" ), 1000 ); distanceParam->setFlags( distanceParam->flags() | QgsProcessingParameterDefinition::FlagAdvanced ); distanceParam->setDefaultUnit( QgsUnitTypes::DistanceKilometers ); distanceParam->setIsDynamic( true ); distanceParam->setDynamicPropertyDefinition( QgsPropertyDefinition( QStringLiteral( "Geodesic Distance" ), QObject::tr( "Distance between vertices" ), QgsPropertyDefinition::DoublePositive ) ); distanceParam->setDynamicLayerParameterName( QStringLiteral( "HUBS" ) ); addParameter( distanceParam.release() ); auto breakParam = qgis::make_unique< QgsProcessingParameterBoolean >( QStringLiteral( "ANTIMERIDIAN_SPLIT" ), QObject::tr( "Split lines at antimeridian (±180 degrees longitude)" ), false ); breakParam->setFlags( breakParam->flags() | QgsProcessingParameterDefinition::FlagAdvanced ); addParameter( breakParam.release() ); addParameter( new QgsProcessingParameterFeatureSink( QStringLiteral( "OUTPUT" ), QObject::tr( "Hub lines" ), QgsProcessing::TypeVectorLine ) ); }
// SLOT FUNCTION(s) //------------------------------------------------------------------------------ // setSlotIsDyanmic() //------------------------------------------------------------------------------ bool DialArcSegment::setSlotIsDynamic(const base::Number* const newD) { bool ok = false; if (newD != nullptr) ok = setIsDynamic(newD->getBoolean()); return ok; }