Example #1
0
void TestQgsFields::allAttrsList()
{
    QgsFields fields;
    QgsAttributeList attrList = fields.allAttributesList();
    QVERIFY( attrList.isEmpty() );

    QgsField field( QString( "testfield" ) );
    fields.append( field );
    QgsField field2( QString( "testfield2" ) );
    fields.append( field2 );
    QgsField field3( QString( "testfield3" ) );
    fields.append( field3 );

    attrList = fields.allAttributesList();
    QCOMPARE( attrList.at( 0 ), 0 );
    QCOMPARE( attrList.at( 1 ), 1 );
    QCOMPARE( attrList.at( 2 ), 2 );
}
Example #2
0
QSet<int> QgsExpression::referencedAttributeIndexes( const QgsFields &fields ) const
{
  if ( !d->mRootNode )
    return QSet<int>();

  const QSet<QString> referencedFields = d->mRootNode->referencedColumns();
  QSet<int> referencedIndexes;

  for ( const QString &fieldName : referencedFields )
  {
    if ( fieldName == QgsFeatureRequest::ALL_ATTRIBUTES )
    {
      referencedIndexes = fields.allAttributesList().toSet();
      break;
    }
    referencedIndexes << fields.lookupField( fieldName );
  }

  return referencedIndexes;
}