QGIS/python/core/qgspropertytransformer.sip

230 lines
7.1 KiB
Plaintext
Raw Normal View History

class QgsCurveTransform
{
%TypeHeaderCode
#include <qgspropertytransformer.h>
%End
public:
QgsCurveTransform();
QgsCurveTransform( const QList< QgsPoint >& controlPoints );
~QgsCurveTransform();
QgsCurveTransform( const QgsCurveTransform& other );
//QgsCurveTransform& operator=( const QgsCurveTransform& other );
QList< QgsPoint > controlPoints() const;
void setControlPoints( const QList< QgsPoint >& points );
void addControlPoint( double x, double y );
void removeControlPoint( double x, double y );
double y( double x ) const;
QVector< double > y( const QVector< double >& x ) const;
bool readXml( const QDomElement& elem, const QDomDocument& doc );
bool writeXml( QDomElement& transformElem, QDomDocument& doc ) const;
};
class QgsPropertyTransformer
{
%TypeHeaderCode
2017-02-14 08:32:01 +10:00
#include <qgspropertytransformer.h>
%End
%ConvertToSubClassCode
2017-02-14 08:32:01 +10:00
if (sipCpp->transformerType() == QgsPropertyTransformer::GenericNumericTransformer)
sipType = sipType_QgsGenericNumericTransformer;
else if (sipCpp->transformerType() == QgsPropertyTransformer::SizeScaleTransformer)
sipType = sipType_QgsSizeScaleTransformer;
2017-01-19 18:54:16 +10:00
else if (sipCpp->transformerType() == QgsPropertyTransformer::ColorRampTransformer)
2017-02-14 08:32:01 +10:00
sipType = sipType_QgsColorRampTransformer;
else
2017-02-14 08:32:01 +10:00
sipType = sipType_QgsPropertyTransformer;
%End
public:
enum Type
{
2017-02-14 08:32:01 +10:00
GenericNumericTransformer,
SizeScaleTransformer,
ColorRampTransformer,
};
static QgsPropertyTransformer* create( Type type ) /Factory/;
QgsPropertyTransformer( double minValue = 0.0, double maxValue = 1.0 );
QgsPropertyTransformer( const QgsPropertyTransformer& other );
virtual ~QgsPropertyTransformer();
virtual Type transformerType() const = 0;
virtual QgsPropertyTransformer* clone() = 0 /Factory/;
virtual bool readXml( const QDomElement& transformerElem, const QDomDocument& doc );
virtual bool writeXml( QDomElement& transformerElem, QDomDocument& doc ) const;
double minValue() const;
void setMinValue( double min );
double maxValue() const;
void setMaxValue( double max );
QgsCurveTransform* curveTransform() const;
void setCurveTransform( QgsCurveTransform* transform /Transfer/ );
virtual QVariant transform( const QgsExpressionContext& context, const QVariant& value ) const = 0;
virtual QString toExpression( const QString& baseExpression ) const = 0;
static QgsPropertyTransformer* fromExpression( const QString& expression, QString& baseExpression /Out/, QString& fieldName /Out/ ) /Factory/;
protected:
double transformNumeric( double input ) const;
};
2017-02-14 08:32:01 +10:00
class QgsGenericNumericTransformer : QgsPropertyTransformer
{
%TypeHeaderCode
#include <qgspropertytransformer.h>
%End
public:
QgsGenericNumericTransformer( double minValue = 0.0,
double maxValue = 1.0,
double minOutput = 0.0,
double maxOutput = 1.0,
double nullOutput = 0.0,
double exponent = 1.0 );
QgsGenericNumericTransformer( const QgsGenericNumericTransformer& other );
2017-02-14 08:32:01 +10:00
virtual Type transformerType() const;
virtual QgsGenericNumericTransformer* clone() /Factory/;
virtual bool writeXml( QDomElement& transformerElem, QDomDocument& doc ) const;
virtual bool readXml( const QDomElement& transformerElem, const QDomDocument& doc );
virtual QVariant transform( const QgsExpressionContext& context, const QVariant& value ) const;
virtual QString toExpression( const QString& baseExpression ) const;
static QgsGenericNumericTransformer* fromExpression( const QString& expression, QString& baseExpression, QString& fieldName ) /Factory/;
double value( double input ) const;
double minOutputValue() const;
void setMinOutputValue( double size );
double maxOutputValue() const;
void setMaxOutputValue( double size );
double nullOutputValue() const;
void setNullOutputValue( double size );
double exponent() const;
void setExponent( double exponent );
2017-02-14 08:32:01 +10:00
};
class QgsSizeScaleTransformer : QgsPropertyTransformer
{
%TypeHeaderCode
2017-02-14 08:32:01 +10:00
#include <qgspropertytransformer.h>
%End
public:
//! Size scaling methods
enum ScaleType
{
Linear, /*!< Linear scaling */
Area, /*!< Area based scaling */
Flannery, /*!< Flannery scaling method */
Exponential, /*!< Scale using set exponent */
};
QgsSizeScaleTransformer( ScaleType type = Linear,
double minValue = 0.0,
double maxValue = 1.0,
double minSize = 0.0,
double maxSize = 1.0,
double nullSize = 0.0,
double exponent = 1.0 );
QgsSizeScaleTransformer( const QgsSizeScaleTransformer& other );
virtual Type transformerType() const;
virtual QgsSizeScaleTransformer* clone() /Factory/;
virtual bool writeXml( QDomElement& transformerElem, QDomDocument& doc ) const;
virtual bool readXml( const QDomElement& transformerElem, const QDomDocument& doc );
virtual QVariant transform( const QgsExpressionContext& context, const QVariant& value ) const;
virtual QString toExpression( const QString& baseExpression ) const;
static QgsSizeScaleTransformer* fromExpression( const QString& expression, QString& baseExpression /Out/, QString& fieldName /Out/ ) /Factory/;
double size( double value ) const;
double minSize() const;
void setMinSize( double size );
double maxSize() const;
void setMaxSize( double size );
double nullSize() const;
void setNullSize( double size );
double exponent() const;
void setExponent( double exponent );
ScaleType type() const;
void setType( ScaleType type );
};
class QgsColorRampTransformer : QgsPropertyTransformer
{
%TypeHeaderCode
2017-02-14 08:32:01 +10:00
#include <qgspropertytransformer.h>
%End
public:
QgsColorRampTransformer( double minValue = 0.0,
double maxValue = 1.0,
QgsColorRamp* ramp /Transfer/ = 0,
const QColor& nullColor = QColor( 0, 0, 0, 0 ) );
QgsColorRampTransformer( const QgsColorRampTransformer& other );
//QgsColorRampTransformer& operator=( const QgsColorRampTransformer& other );
~QgsColorRampTransformer();
virtual Type transformerType() const;
virtual QgsColorRampTransformer* clone() /Factory/;
virtual bool writeXml( QDomElement& transformerElem, QDomDocument& doc ) const;
virtual bool readXml( const QDomElement& transformerElem, const QDomDocument& doc );
virtual QVariant transform( const QgsExpressionContext& context, const QVariant& value ) const;
virtual QString toExpression( const QString& baseExpression ) const;
QColor color( double value ) const;
QgsColorRamp* colorRamp() const;
void setColorRamp( QgsColorRamp* ramp /Transfer/ );
QColor nullColor() const;
void setNullColor( const QColor& color );
QString rampName() const;
void setRampName( const QString& name );
};