27#include <QStringListModel> 
   53  if ( fkeys.isEmpty() )
 
   60    Q_ASSERT( fieldPairs.count() == fkeys.count() );
 
   61    for ( 
int i = 0; i < fieldPairs.count(); i++ )
 
   63      if ( fieldPairs.at( i ).referencingField() == 
layer()->fields().at( 
fieldIndex() ).name() )
 
 
   87    return fieldName + 
" IS NULL";
 
   89    return fieldName + 
" IS NOT NULL";
 
   91  const QVariant v = 
value();
 
   99    case QVariant::Double:
 
  100    case QVariant::LongLong:
 
  101    case QVariant::ULongLong:
 
  106          return fieldName + 
" IS NULL";
 
  107        return fieldName + 
'=' + v.toString();
 
  112          return fieldName + 
" IS NOT NULL";
 
  113        return fieldName + 
"<>" + v.toString();
 
  121        return fieldName + 
"='" + v.toString() + 
'\'';
 
  123        return fieldName + 
"<>'" + v.toString() + 
'\'';
 
 
  143    mWidget->setEnabled( enabled );
 
 
  154  onValuesChanged( QVariantList() << 
value );
 
 
  157void QgsRelationReferenceSearchWidgetWrapper::onValuesChanged( 
const QVariantList &values )
 
  159  if ( values.isEmpty() )
 
  168    const QVariant 
value = values.at( 0 );
 
  182  if ( exp == nullValue )
 
  188    str = QStringLiteral( 
"%1 = '%3'" )
 
  190                exp.replace( 
'\'', QLatin1String( 
"''" ) )
 
 
  203  mWidget = qobject_cast<QgsRelationReferenceWidget *>( editor );
 
  215  const bool fetchLimitActive = 
config( QStringLiteral( 
"FetchLimitActive" ), 
QgsSettings().
value( QStringLiteral( 
"maxEntriesRelationWidget" ), 100, 
QgsSettings::Gui ).toInt() > 0 ).toBool();
 
  216  if ( fetchLimitActive )
 
  221  if ( 
config( QStringLiteral( 
"FilterFields" ), QVariant() ).isValid() )
 
  232  mWidget->
setRelation( relation, 
config( QStringLiteral( 
"AllowNULL" ) ).toBool() );
 
 
static QString nullRepresentation()
This string is used to represent the value NULL throughout QGIS.
static QString quotedColumnRef(QString name)
Returns a quoted column reference (in double quotes)
QgsField at(int i) const
Returns the field at particular index (must be in range 0..N-1).
Map canvas is a class for displaying all GIS data types on a canvas.
QgsRelationManager * relationManager
static QgsProject * instance()
Returns the QgsProject singleton instance.
Q_INVOKABLE QgsRelation relation(const QString &id) const
Gets access to a relation by its id.
QList< QgsRelation::FieldPair > fieldPairs() const
Returns the field pairs which form this relation The first element of each pair are the field names o...
This class is a composition of two QSettings instances:
static bool isNull(const QVariant &variant, bool silenceNullWarnings=false)
Returns true if the specified variant should be considered a NULL value.
Represents a vector layer which manages a vector based data sets.
QgsFields fields() const FINAL
Returns the list of fields of this layer.
QList< QgsRelation > referencingRelations(int idx) const
Returns the layer's relations, where the foreign key is on this layer.