18 #include "qgis_core.h" 
   26 #include <QStringList> 
   27 #include <QDomElement> 
   28 #include <QDomDocument> 
   33 class QgsPropertyPrivate;
 
  134     QgsPropertyDefinition( 
const QString &name, 
DataType dataType, 
const QString &description, 
const QString &helpText, 
const QString &origin = QString(), 
const QString &comment = QString() );
 
  139     QString 
name()
 const { 
return mName; }
 
  144     void setName( 
const QString &name ) { mName = name; }
 
  151     QString 
origin()
 const { 
return mOrigin; }
 
  158     void setOrigin( 
const QString &origin ) { mOrigin = origin; }
 
  173     void setComment( 
const QString &comment ) { mComment = comment; }
 
  200     bool supportsAssistant() 
const;
 
  205     QString mDescription;
 
  206     DataType mTypes = DataTypeString;
 
  208     StandardPropertyTemplate mStandardType = Custom;
 
  212     static QString trString();
 
  248     static QVariantMap propertyMapToVariantMap( 
const QMap<QString, QgsProperty> &propertyMap );
 
  256     static QMap<QString, QgsProperty> variantMapToPropertyMap( 
const QVariantMap &variantMap );
 
  268     static QgsProperty fromExpression( 
const QString &expression, 
bool isActive = 
true );
 
  273     static QgsProperty fromField( 
const QString &fieldName, 
bool isActive = 
true );
 
  278     static QgsProperty fromValue( 
const QVariant &value, 
bool isActive = 
true );
 
  288     operator bool() 
const;
 
  296     Type propertyType() 
const;
 
  302     bool isActive() 
const;
 
  324     void setActive( 
bool active );
 
  331     void setStaticValue( 
const QVariant &value );
 
  338     QVariant staticValue() 
const;
 
  345     void setField( 
const QString &
field );
 
  352     QString 
field() 
const;
 
  359     void setExpressionString( 
const QString &expression );
 
  366     QString expressionString() 
const;
 
  372     QString asExpression() 
const;
 
  395     bool isProjectColor() 
const;
 
  411     QVariant value( 
const QgsExpressionContext &context, 
const QVariant &defaultValue = QVariant(), 
bool *ok 
SIP_OUT = 
nullptr ) 
const;
 
  427     QDateTime valueAsDateTime( 
const QgsExpressionContext &context, 
const QDateTime &defaultDateTime = QDateTime(), 
bool *ok 
SIP_OUT = 
nullptr ) 
const;
 
  442     QString valueAsString( 
const QgsExpressionContext &context, 
const QString &defaultString = QString(), 
bool *ok 
SIP_OUT = 
nullptr ) 
const;
 
  457     QColor valueAsColor( 
const QgsExpressionContext &context, 
const QColor &defaultColor = QColor(), 
bool *ok 
SIP_OUT = 
nullptr ) 
const;
 
  510     QVariant toVariant() 
const;
 
  518     bool loadVariant( 
const QVariant &property );
 
  540     bool convertToTransformer();
 
  543     operator QVariant()
 const 
  545       return QVariant::fromValue( *
this );
 
  550     SIP_PYOBJECT __repr__();
 
  553     QString definitionString;
 
  554     switch ( sipCpp->propertyType() )
 
  557         typeString = QStringLiteral( 
"static" );
 
  558         definitionString = sipCpp->staticValue().toString();
 
  562         typeString = QStringLiteral( 
"field" );
 
  563         definitionString = sipCpp->field();
 
  567         typeString = QStringLiteral( 
"expression" );
 
  568         definitionString = sipCpp->expressionString();
 
  572         typeString = QStringLiteral( 
"invalid" );
 
  576     QString 
str = QStringLiteral( 
"<QgsProperty: %1%2%3>" ).arg( !sipCpp->isActive() && sipCpp->propertyType() != 
QgsProperty::InvalidProperty ? QStringLiteral( 
"INACTIVE " ) : QString(),
 
  578                   definitionString.isEmpty() ? QString() : QStringLiteral( 
" (%1)" ).arg( definitionString ) );
 
  579     sipRes = PyUnicode_FromString( 
str.toUtf8().constData() );
 
  585     mutable QExplicitlySharedDataPointer<QgsPropertyPrivate> d;
 
  591     QVariant propertyValue( 
const QgsExpressionContext &context, 
const QVariant &defaultValue = QVariant(), 
bool *ok = 
nullptr ) 
const;
 
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
 
Definition for a property.
 
StandardPropertyTemplate standardTemplate() const
Returns the property's standard template, if applicable.
 
QString helpText() const
Helper text for using the property, including a description of the valid values for the property.
 
QString comment() const
Returns the comment of the property.
 
DataType dataType() const
Returns the allowable field/value data type for the property.
 
void setOrigin(const QString &origin)
Sets the origin of the property.
 
QString description() const
Descriptive name of the property.
 
StandardPropertyTemplate
Predefined standard property templates.
 
@ HorizontalAnchor
Horizontal anchor point.
 
@ Double
Double value (including negative values)
 
@ VerticalAnchor
Vertical anchor point.
 
@ Double0To1
Double value between 0-1 (inclusive)
 
@ FillStyle
Fill style (eg solid, lines)
 
@ StrokeWidth
Line stroke width.
 
@ LineStyle
Line style (eg solid/dashed)
 
@ Integer
Integer value (including negative values)
 
@ String
Any string value.
 
@ DateTime
DateTime value.
 
@ RenderUnits
Render units (eg mm/pixels/map units)
 
@ PenJoinStyle
Pen join style.
 
@ SvgPath
Path to an SVG file.
 
@ IntegerPositiveGreaterZero
Non-zero positive integer values.
 
@ IntegerPositive
Positive integer values (including 0)
 
@ CapStyle
Line cap style (eg round)
 
@ ColorNoAlpha
Color with no alpha channel.
 
@ Rotation
Rotation (value between 0-360 degrees)
 
@ Size
1D size (eg marker radius, or square marker height/width)
 
@ ColorWithAlpha
Color with alpha channel.
 
@ DoublePositive
Positive double value (including 0)
 
@ Size2D
2D size (width/height different)
 
QString name() const
Returns the name of the property.
 
QgsPropertyDefinition()=default
Constructs an empty property.
 
void setDataType(DataType type)
Sets the data type.
 
void setName(const QString &name)
Sets the name of the property.
 
QString origin() const
Returns the origin of the property.
 
void setComment(const QString &comment)
Sets comment of the property.
 
DataType
Valid data types required by property.
 
@ DataTypeBoolean
Property requires a boolean value.
 
@ DataTypeNumeric
Property requires a numeric value.
 
A store for object properties.
 
@ ExpressionBasedProperty
Expression based property (QgsExpressionBasedProperty)
 
@ StaticProperty
Static property (QgsStaticProperty)
 
@ FieldBasedProperty
Field based property (QgsFieldBasedProperty)
 
@ InvalidProperty
Invalid (not set) property.
 
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
 
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
 
Q_DECLARE_METATYPE(QgsMeshTimeSettings)