18 #include <QPushButton> 
   46       return QVariant( 
field().type() );
 
   50       return mLineEdit->text();
 
   54   return QVariant( 
field().type() );
 
   77   return mLineEdit || mLabel || mQgsWidget;
 
   80 void QgsExternalResourceWidgetWrapper::updateProperties( 
const QgsFeature &feature )
 
   85     expressionContext.setFeature( feature );
 
  102         if ( dvcString.compare( QLatin1String( 
"image" ), Qt::CaseInsensitive ) == 0 )
 
  106         else if ( dvcString.compare( QLatin1String( 
"web" ), Qt::CaseInsensitive ) == 0 )
 
  122   updateProperties( feature );
 
  128   mForm = qobject_cast<QgsAttributeForm *>( parent );
 
  138   mLineEdit = qobject_cast<QLineEdit *>( editor );
 
  139   mLabel = qobject_cast<QLabel *>( editor );
 
  140   mQgsWidget = qobject_cast<QgsExternalResourceWidget *>( editor );
 
  151     mLineEdit = editor->findChild<QLineEdit *>();
 
  157     QVariantMap cfg = 
config();
 
  159     if ( cfg.contains( QStringLiteral( 
"UseLink" ) ) )
 
  163     if ( cfg.contains( QStringLiteral( 
"FullUrl" ) ) )
 
  171       mQgsWidget->
setDefaultRoot( cfg.value( QStringLiteral( 
"DefaultRoot" ) ).toString() );
 
  173     if ( cfg.contains( QStringLiteral( 
"StorageMode" ) ) )
 
  177     if ( cfg.contains( QStringLiteral( 
"RelativeStorage" ) ) )
 
  181     if ( cfg.contains( QStringLiteral( 
"FileWidget" ) ) )
 
  185     if ( cfg.contains( QStringLiteral( 
"FileWidgetButton" ) ) )
 
  189     if ( cfg.contains( QStringLiteral( 
"DocumentViewer" ) ) )
 
  193     if ( cfg.contains( QStringLiteral( 
"FileWidgetFilter" ) ) )
 
  195       mQgsWidget->
fileWidget()->
setFilter( cfg.value( QStringLiteral( 
"FileWidgetFilter" ) ).toString() );
 
  197     if ( cfg.contains( QStringLiteral( 
"DocumentViewerHeight" ) ) )
 
  201     if ( cfg.contains( QStringLiteral( 
"DocumentViewerWidth" ) ) )
 
  208     connect( mLineEdit, &QLineEdit::textChanged, 
this, [ = ]( 
const QString & 
value )
 
  218 void QgsExternalResourceWidgetWrapper::updateValues( 
const QVariant &value, 
const QVariantList & )
 
  222     if ( 
value.isNull() )
 
  228       mLineEdit->setText( 
value.toString() );
 
  234     mLabel->setText( 
value.toString() );
 
  243     if ( 
value.isNull() )
 
  257     mLineEdit->setReadOnly( !enabled );
 
  265   Q_UNUSED( newValue );
 
  266   if ( attributeChanged )
 
  275       updateProperties( feature );
 
  280 void QgsExternalResourceWidgetWrapper::updateConstraintWidgetStatus()
 
  286       widget()->setStyleSheet( QString() );
 
  293           mLineEdit->setStyleSheet( QString() );
 
  297           mLineEdit->setStyleSheet( QStringLiteral( 
"QgsFilterLineEdit { background-color: #dd7777; }" ) );
 
  301           mLineEdit->setStyleSheet( QStringLiteral( 
"QgsFilterLineEdit { background-color: #ffd85d; }" ) );
 
QString valueAsString(int key, const QgsExpressionContext &context, const QString &defaultString=QString(), bool *ok=nullptr) const
Calculates the current value of the property with the specified key and interprets it as a string.
static QString nullRepresentation()
This string is used to represent the value NULL throughout QGIS.
static QList< QgsExpressionContextScope * > globalProjectLayerScopes(const QgsMapLayer *layer)
Creates a list of three scopes: global, layer's project and layer.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Class for parsing and evaluation of expressions (formerly called "search strings").
QSet< QString > referencedColumns() const
Gets list of columns referenced by the expression.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
QLineEdit subclass with built in support for clearing the widget's value and handling custom null val...
void setNullValue(const QString &nullValue)
Sets the string representation for null values in the widget.
QgsProperty property(int key) const override
Returns a matching property from the collection, if one exists.
bool loadVariant(const QVariant &configuration, const QgsPropertiesDefinition &definitions) override
Loads this property collection from a QVariantMap, wrapped in a QVariant.
bool isActive(int key) const override
Returns true if the collection contains an active property with the specified key.
bool hasActiveProperties() const override
Returns true if the collection has any active properties, or false if all properties within the colle...
QString expressionString() const
Returns the expression used for the property value.
Represents a vector layer which manages a vector based data sets.
#define Q_NOWARN_DEPRECATED_POP
#define Q_NOWARN_DEPRECATED_PUSH
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.