class QgsPropertyDefinition { %TypeHeaderCode #include %End public: enum StandardPropertyTemplate { Boolean, Integer, IntegerPositive, IntegerPositiveGreaterZero, Double, DoublePositive, Double0To1, Rotation, String, Transparency, RenderUnits, ColorWithAlpha, ColorNoAlpha, PenJoinStyle, BlendMode, Point, Size, Size2D, LineStyle, StrokeWidth, FillStyle, CapStyle, HorizontalAnchor, VerticalAnchor, SvgPath, Offset, Custom, }; enum DataType { DataTypeString, DataTypeNumeric, DataTypeBoolean, }; QgsPropertyDefinition(); QgsPropertyDefinition( const QString& name, const QString& description, StandardPropertyTemplate type ); QgsPropertyDefinition( const QString& name, DataType dataTypes, const QString& description, const QString& helpText ); QString name() const; QString description() const; QString helpText() const; DataType dataType() const; StandardPropertyTemplate standardTemplate() const; bool supportsAssistant() const; }; class QgsProperty { %TypeHeaderCode #include %End public: //! Property types enum Type { InvalidProperty, //! Invalid (not set) property StaticProperty, //!< Static property (QgsStaticProperty) FieldBasedProperty, //!< Field based property (QgsFieldBasedProperty) ExpressionBasedProperty, //!< Expression based property (QgsExpressionBasedProperty) }; QgsProperty(); virtual ~QgsProperty(); static QgsProperty fromExpression( const QString& expression, bool isActive = true ); static QgsProperty fromField( const QString& fieldName, bool isActive = true ); static QgsProperty fromValue( const QVariant& value, bool isActive = true ); QgsProperty( const QgsProperty& other ); operator bool() const; bool operator==( const QgsProperty& other ) const; bool operator!=( const QgsProperty& other ) const; Type propertyType() const; bool isActive() const; void setActive( bool active ); void setStaticValue( const QVariant& value ); QVariant staticValue() const; void setField( const QString& field ); QString field() const; void setExpressionString( const QString& expression ); QString expressionString() const; virtual QString asExpression() const; virtual bool prepare( const QgsExpressionContext& context = QgsExpressionContext() ) const; virtual QSet< QString > referencedFields( const QgsExpressionContext& context = QgsExpressionContext() ) const; QVariant value( const QgsExpressionContext& context, const QVariant& defaultValue = QVariant(), bool* ok /Out/ = nullptr ) const; QString valueAsString( const QgsExpressionContext& context, const QString& defaultString = QString(), bool* ok /Out/ = nullptr ) const; QColor valueAsColor( const QgsExpressionContext& context, const QColor& defaultColor = QColor(), bool* ok /Out/ = nullptr ) const; double valueAsDouble( const QgsExpressionContext& context, double defaultValue = 0.0, bool* ok /Out/ = nullptr ) const; int valueAsInt( const QgsExpressionContext& context, int defaultValue = 0, bool* ok /Out/ = nullptr ) const; bool valueAsBool( const QgsExpressionContext& context, bool defaultValue = false, bool* ok /Out/ = nullptr ) const; QVariant toVariant() const; bool loadVariant( const QVariant &property ); void setTransformer( QgsPropertyTransformer* transformer /Transfer/ ); const QgsPropertyTransformer* transformer() const; bool convertToTransformer(); };