21   : QSortFilterProxyModel( parent )
 
   22   , mFilters( AllTypes )
 
   25   setSourceModel( mModel );
 
   35 bool QgsFieldProxyModel::isReadOnly( 
const QModelIndex &index )
 const 
   38   if ( originVariant.isNull() )
 
   83   const QModelIndex index = sourceModel()->index( source_row, 0, source_parent );
 
   85   if ( mFilters.testFlag( 
HideReadOnly ) && isReadOnly( index ) )
 
   94   if ( typeVar.isNull() )
 
   98   const QVariant::Type type = ( QVariant::Type )typeVar.toInt( &ok );
 
  102   if ( ( mFilters.testFlag( 
String ) && type == QVariant::String ) ||
 
  103        ( mFilters.testFlag( 
LongLong ) && type == QVariant::LongLong ) ||
 
  104        ( mFilters.testFlag( 
Int ) && type == QVariant::Int ) ||
 
  105        ( mFilters.testFlag( 
Double ) && type == QVariant::Double ) ||
 
  106        ( mFilters.testFlag( 
Date ) && type == QVariant::Date ) ||
 
  107        ( mFilters.testFlag( 
Date ) && type == QVariant::DateTime ) ||
 
  108        ( mFilters.testFlag( 
DateTime ) && type == QVariant::DateTime ) ||
 
  109        ( mFilters.testFlag( 
Time ) && type == QVariant::Time ) )
 
  133   return leftId < rightId;
 
The QgsFieldModel class is a model to display the list of fields in widgets (optionally associated wi...
 
@ FieldOriginRole
Return the field origin (if a field, returns QVariant if expression)
 
@ FieldIndexRole
Return field index if index corresponds to a field.
 
@ JoinedFieldIsEditable
true if a joined field is editable (returns QVariant if not a joined field)
 
@ FieldTypeRole
Return the field type (if a field, return QVariant if expression)
 
@ EditorWidgetType
Editor widget type.
 
@ IsEmptyRole
Return if the index corresponds to the empty value.
 
@ FieldIsWidgetEditable
true if a is editable from the widget
 
The QgsFieldProxyModel class provides an easy to use model to display the list of fields of a layer.
 
const Filters & filters() const
Returns the filters controlling displayed fields.
 
@ DateTime
Datetime fieldss.
 
@ HideReadOnly
Hide read-only fields.
 
@ LongLong
Longlong fields.
 
@ AllTypes
All field types.
 
@ Date
Date or datetime fields.
 
bool lessThan(const QModelIndex &left, const QModelIndex &right) const override
 
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override
 
QgsFieldProxyModel(QObject *parent=nullptr)
QgsFieldProxModel creates a proxy model with a QgsFieldModel as source model.
 
QgsFieldProxyModel * setFilters(QgsFieldProxyModel::Filters filters)
Set flags that affect how fields are filtered in the model.
 
@ OriginExpression
Field is calculated from an expression.
 
@ OriginEdit
Field has been temporarily added in editing mode (originIndex = index in the list of added attributes...
 
@ OriginUnknown
It has not been specified where the field comes from.
 
@ OriginJoin
Field comes from a joined layer (originIndex / 1000 = index of the join, originIndex % 1000 = index w...
 
@ OriginProvider
Field comes from the underlying data provider of the vector layer (originIndex = index in provider's ...