22 #include <QSharedDataPointer> 23 #include "qgis_core.h" 38 class QgsFieldPrivate;
53 Q_PROPERTY(
bool isNumeric READ isNumeric )
54 Q_PROPERTY(
bool isDateOrTime READ isDateOrTime )
55 Q_PROPERTY(
int length READ length WRITE setLength )
57 Q_PROPERTY( QVariant::Type type READ type WRITE setType )
58 Q_PROPERTY( QString comment READ comment WRITE setComment )
59 Q_PROPERTY( QString name READ name WRITE setName )
60 Q_PROPERTY( QString alias READ alias WRITE setAlias )
61 Q_PROPERTY(
QgsDefaultValue defaultValueDefinition READ defaultValueDefinition WRITE setDefaultValueDefinition )
63 Q_PROPERTY( ConfigurationFlags configurationFlags READ configurationFlags WRITE setConfigurationFlags )
64 Q_PROPERTY(
bool isReadOnly READ isReadOnly WRITE setReadOnly )
78 #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0) 85 NotSearchable = 1 << 1,
91 #if QT_VERSION < QT_VERSION_CHECK(5, 12, 0) 93 Q_ENUM( ConfigurationFlags )
95 Q_FLAG( ConfigurationFlags )
114 QgsField(
const QString &name = QString(),
115 QVariant::Type type = QVariant::Invalid,
116 const QString &
typeName = QString(),
119 const QString &comment = QString(),
120 QVariant::Type subType = QVariant::Invalid );
125 QgsField(
const QgsField &other );
130 QgsField &operator =(
const QgsField &other )
SIP_SKIP;
134 bool operator==(
const QgsField &other )
const;
135 bool operator!=(
const QgsField &other )
const;
142 QString name()
const;
151 QString displayName()
const;
164 QString displayNameWithAlias()
const;
175 QString displayType(
bool showConstraints =
false )
const;
178 QVariant::Type type()
const;
186 QVariant::Type subType()
const;
211 QString comment()
const;
219 bool isNumeric()
const;
226 bool isDateOrTime()
const;
232 void setName(
const QString &name );
237 void setType( QVariant::Type type );
245 void setSubType( QVariant::Type subType );
251 void setTypeName(
const QString &typeName );
257 void setLength(
int len );
263 void setPrecision(
int precision );
268 void setComment(
const QString &comment );
286 void setDefaultValueDefinition(
const QgsDefaultValue &defaultValueDefinition );
308 QString alias()
const;
316 void setAlias(
const QString &alias );
322 QgsField::ConfigurationFlags configurationFlags()
const SIP_SKIP;
328 void setConfigurationFlags( QgsField::ConfigurationFlags configurationFlags )
SIP_SKIP;
331 QString displayString(
const QVariant &v )
const;
349 bool convertCompatible( QVariant &v, QString *errorMessage =
nullptr )
const;
359 bool convertCompatible( QVariant &v )
const;
361 PyObject *sipParseErr = NULL;
366 const QgsField *sipCpp;
368 if ( sipParseArgs( &sipParseErr, sipArgs,
"BJ1", &sipSelf, sipType_QgsField, &sipCpp, sipType_QVariant, &a0, &a0State ) )
371 QString errorMessage;
373 Py_BEGIN_ALLOW_THREADS
382 sipReleaseType( a0, sipType_QVariant, a0State );
383 sipRaiseUnknownException();
391 PyErr_SetString( PyExc_ValueError,
392 QString(
"Value could not be converted to field type %1: %2" ).arg(
QMetaType::typeName( sipCpp->
type() ), errorMessage ).toUtf8().constData() );
397 PyObject *res = sipConvertFromType( a0, sipType_QVariant, NULL );
398 sipReleaseType( a0, sipType_QVariant, a0State );
405 sipNoMethod( sipParseErr, sipName_QgsField, sipName_convertCompatible, doc_QgsField_convertCompatible );
415 operator QVariant()
const 417 return QVariant::fromValue( *
this );
442 void setReadOnly(
bool readOnly );
449 bool isReadOnly()
const;
452 SIP_PYOBJECT __repr__();
454 QString str = QStringLiteral(
"<QgsField: %1 (%2)>" ).arg( sipCpp->name() ).arg( sipCpp->typeName() );
455 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
461 QSharedDataPointer<QgsFieldPrivate> d;
The QgsDefaultValue class provides a container for managing client side default values for fields...
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.
Stores information about constraints which may be present on a field.
ConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Q_DECLARE_METATYPE(QgsMeshTimeSettings)
std::ostream & operator<<(std::ostream &os, const QgsCoordinateReferenceSystem &r)
Output stream operator.
Encapsulate a field in an attribute table or data source.
bool convertCompatible(QVariant &v, QString *errorMessage=nullptr) const
Converts the provided variant to a compatible format.
QList< int > QgsAttributeList
CORE_EXPORT QDataStream & operator>>(QDataStream &in, QgsField &field)
Reads a field from stream in into field. QGIS version compatibility is not guaranteed.