Allow direct QVariant creation from some QGIS metatypes

This commit is contained in:
Nyall Dawson 2016-05-20 09:48:18 +10:00
parent b956874f02
commit 0fcff9f2a0
8 changed files with 46 additions and 0 deletions

View File

@ -774,5 +774,8 @@ class QgsGeometry
*/
static void convertPointList( const QList<QgsPointV2>& input, QList<QgsPoint>& output );
//! Allows direct construction of QVariants from geometry.
operator QVariant() const;
}; // class QgsGeometry

View File

@ -496,6 +496,9 @@ class QgsFeature
*/
int fieldNameIndex( const QString& fieldName ) const;
//! Allows direct construction of QVariants from features.
operator QVariant() const;
}; // class QgsFeature
typedef QSet<qint64> QgsFeatureIds;

View File

@ -167,6 +167,10 @@ class QgsField
return NULL;
%End
//! Allows direct construction of QVariants from fields.
operator QVariant() const;
}; // class QgsField
@ -364,6 +368,9 @@ class QgsFields
}
%End
//! Allows direct construction of QVariants from fields.
operator QVariant() const;
/* SIP_PYOBJECT __getitem__(int key);
%MethodCode
if (a0 = sipConvertFromSequenceIndex(a0, sipCpp->count()) < 0)

View File

@ -132,5 +132,8 @@ class QgsInterval
*/
static QgsInterval fromString( const QString& string );
//! Allows direct construction of QVariants from intervals.
operator QVariant() const;
};

View File

@ -819,6 +819,12 @@ class CORE_EXPORT QgsGeometry
*/
static void convertPointList( const QgsPointSequenceV2 &input, QList<QgsPoint> &output );
//! Allows direct construction of QVariants from geometry.
operator QVariant() const
{
return QVariant::fromValue( *this );
}
private:
QgsGeometryPrivate* d; //implicitely shared data pointer

View File

@ -413,6 +413,12 @@ class CORE_EXPORT QgsFeature
*/
int fieldNameIndex( const QString& fieldName ) const;
//! Allows direct construction of QVariants from features.
operator QVariant() const
{
return QVariant::fromValue( *this );
}
private:
QExplicitlySharedDataPointer<QgsFeaturePrivate> d;

View File

@ -153,6 +153,12 @@ class CORE_EXPORT QgsField
*/
bool convertCompatible( QVariant& v ) const;
//! Allows direct construction of QVariants from fields.
operator QVariant() const
{
return QVariant::fromValue( *this );
}
private:
QSharedDataPointer<QgsFieldPrivate> d;
@ -288,6 +294,12 @@ class CORE_EXPORT QgsFields
*/
QIcon iconForField( int fieldIdx ) const;
//! Allows direct construction of QVariants from fields.
operator QVariant() const
{
return QVariant::fromValue( *this );
}
///@cond PRIVATE
class const_iterator;

View File

@ -155,6 +155,12 @@ class CORE_EXPORT QgsInterval
*/
static QgsInterval fromString( const QString& string );
//! Allows direct construction of QVariants from intervals.
operator QVariant() const
{
return QVariant::fromValue( *this );
}
private:
//! Duration of interval in seconds