| 
    QGIS API Documentation
    3.26.3-Buenos Aires (65e4edfdad)
    
   | 
 
 
 
 
Go to the documentation of this file.
   28   , mFieldIdx( fieldIdx )
 
   29   , mValidConstraint( true )
 
   30   , mIsBlockingCommit( false )
 
   42   if ( vl && mFieldIdx < vl->fields().count() )
 
   57   return qobject_cast<QgsEditorWidgetWrapper *>( 
widget->property( 
"EWV2Wrapper" ).value<
QgsWidgetWrapper *>() );
 
   65     wdg->setEnabled( enabled );
 
   72   QVariantList newAdditionalFieldValues;
 
   74   for ( 
const QString &fieldName : constAdditionalFields )
 
   75     newAdditionalFieldValues << feature.
attribute( fieldName );
 
   81   isRunningDeprecatedSetValue = 
true;
 
   82   updateValues( 
value, QVariantList() );
 
   83   isRunningDeprecatedSetValue = 
false;
 
   88   updateValues( 
value, additionalValues );
 
  101   Q_UNUSED( attribute )
 
  107   if ( !mConstraintResultVisible )
 
  109     widget()->setStyleSheet( QString() );
 
  113     switch ( mConstraintResult )
 
  116         widget()->setStyleSheet( QString() );
 
  120         widget()->setStyleSheet( QStringLiteral( 
"background-color: #FFE0B2;" ) );
 
  124         widget()->setStyleSheet( QStringLiteral( 
"background-color: #FFECB3;" ) );
 
  132   return mFormFeature.
setAttribute( attributeName, attributeValue );
 
  135 void QgsEditorWidgetWrapper::updateValues( 
const QVariant &value, 
const QVariantList &additionalValues )
 
  138   Q_UNUSED( additionalValues );
 
  141   if ( !isRunningDeprecatedSetValue )
 
  148   return mConstraintResult;
 
  153   return mConstraintResultVisible;
 
  176   QStringList softErrors;
 
  177   QStringList expressions;
 
  178   QStringList descriptions;
 
  179   bool toEmit( 
false );
 
  180   bool hardConstraintsOk( 
true );
 
  181   bool softConstraintsOk( 
true );
 
  188     if ( ! expression.isEmpty() )
 
  190       expressions << expression;
 
  197       descriptions << tr( 
"Not NULL" );
 
  198       if ( !expression.isEmpty() )
 
  200         expressions << 
field.
name() + QStringLiteral( 
" IS NOT NULL" );
 
  204         expressions << QStringLiteral( 
"IS NOT NULL" );
 
  211       descriptions << tr( 
"Unique" );
 
  212       if ( !expression.isEmpty() )
 
  214         expressions << 
field.
name() + QStringLiteral( 
" IS UNIQUE" );
 
  218         expressions << QStringLiteral( 
"IS UNIQUE" );
 
  226     errors << softErrors;
 
  230     if ( ! expression.isEmpty() )
 
  232       hardConstraintsOk = 
true;
 
  233       softConstraintsOk = 
false;
 
  235       errors << QStringLiteral( 
"Invalid feature" );
 
  241   mValidConstraint = hardConstraintsOk && softConstraintsOk;
 
  242   mIsBlockingCommit = !hardConstraintsOk;
 
  244   mConstraintFailureReason = errors.join( QLatin1String( 
", " ) );
 
  248     const QString errStr = errors.isEmpty() ? tr( 
"Constraint checks passed" ) : mConstraintFailureReason;
 
  250     const QString description = descriptions.join( QLatin1String( 
", " ) );
 
  251     QString expressionDesc;
 
  252     if ( expressions.size() > 1 )
 
  253       expressionDesc = 
"( " + expressions.join( QLatin1String( 
" ) AND ( " ) ) + 
" )";
 
  254     else if ( !expressions.isEmpty() )
 
  255       expressionDesc = expressions.at( 0 );
 
  260     mConstraintResult = result;
 
  268   return mValidConstraint;
 
  273   return mIsBlockingCommit;
 
  279   return mConstraintFailureReason;
 
  284   if ( !parent ) 
return false;
 
  285   if ( qobject_cast<const QTableView *>( parent ) ) 
return true;
 
  286   return isInTable( parent->parentWidget() );
 
  291   if ( QWidget *w = 
widget() )
 
  292     w->setToolTip( hintText );
 
  
QgsVectorDataProvider * dataProvider() FINAL
Returns the layer's data provider, it may be nullptr.
 
@ ConstraintStrengthSoft
User is warned if constraint is violated but feature can still be accepted.
 
QString constraintExpression() const
Returns the constraint expression for the field, if set.
 
@ ConstraintNotNull
Field may not be null.
 
QgsFields fields() const FINAL
Returns the list of fields of this layer.
 
#define Q_NOWARN_DEPRECATED_POP
 
bool isValid() const
Returns the validity of this feature.
 
ConstraintOrigin
Origin of constraints.
 
@ ConstraintUnique
Field must have a unique value.
 
QVariant attribute(const QString &name) const
Lookup attribute value by attribute name.
 
@ ConstraintStrengthHard
Constraint must be honored before feature can be accepted.
 
QString constraintDescription() const
Returns the descriptive name for the constraint expression.
 
bool setAttribute(int field, const QVariant &attr)
Sets an attribute's value by field index.
 
Represents a vector layer which manages a vector based data sets.
 
static bool validateAttribute(const QgsVectorLayer *layer, const QgsFeature &feature, int attributeIndex, QStringList &errors, QgsFieldConstraints::ConstraintStrength strength=QgsFieldConstraints::ConstraintStrengthNotSet, QgsFieldConstraints::ConstraintOrigin origin=QgsFieldConstraints::ConstraintOriginNotSet)
Tests a feature attribute value to check whether it passes all constraints which are present on the c...
 
QgsFieldConstraints constraints
 
virtual QString defaultValueClause(int fieldIndex) const
Returns any default value clauses which are present at the provider for a specified field index.
 
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
 
QgsField at(int i) const
Returns the field at particular index (must be in range 0..N-1).
 
#define Q_NOWARN_DEPRECATED_PUSH
 
Encapsulate a field in an attribute table or data source.