QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
QgsFeaturePickerModelBase Class Referenceabstract

Provides a list of features based on filter conditions. More...

#include <qgsfeaturepickermodelbase.h>

Inheritance diagram for QgsFeaturePickerModelBase:

Public Types

enum class  CustomRole : int {
  IdentifierValue = Qt::UserRole , IdentifierValues , Value , Feature ,
  FeatureId
}
 Extra roles that can be used to fetch data from this model. More...

Signals

void allowNullChanged ()
 Add a NULL entry to the list.
void beginUpdate ()
 Notification that the model is about to be changed because a job was completed.
void currentFeatureChanged ()
 Emitted when the current feature in the model has changed This emitted both when the extra value changes and when the extra value status changes.
void displayExpressionChanged ()
 The display expression will be used for.
void endUpdate ()
 Notification that the model change is finished.
void extraIdentifierValueChanged ()
 Allows specifying one value that does not need to match the filter criteria but will still be available in the model.
void extraIdentifierValueIndexChanged (int index)
 The index at which the extra identifier value is available within the model.
void extraValueDoesNotExistChanged (bool found)
 Notification whether the model has found a feature tied to the extraIdentifierValue or not.
void fetchGeometryChanged ()
 Emitted when the fetching of the geometry changes.
void fetchLimitChanged ()
 Emitted when the fetching limit for the feature request changes.
void filterExpressionChanged ()
 An additional filter expression to apply, next to the filterValue.
void filterJobCompleted ()
 Indicates that a filter job has been completed and new data may be available.
void filterValueChanged ()
 This value will be used to filter the features available from this model.
void formFeatureChanged ()
 An attribute form feature to be used alongside the filter expression.
void isLoadingChanged ()
 Indicator if the model is currently performing any feature iteration in the background.
void orderExpressionChanged ()
 An expression for generating values for sorting.
void parentFormFeatureChanged ()
 A parent attribute form feature to be used alongside the filter expression.
void sortOrderChanged ()
 The direction used for sorting.
void sourceLayerChanged ()
 The source layer from which features will be fetched.

Public Member Functions

 QgsFeaturePickerModelBase (QObject *parent=nullptr)
 Create a new QgsFeaturePickerModelBase, optionally specifying a parent.
 ~QgsFeaturePickerModelBase () override
bool allowNull () const
 Add a NULL entry to the list.
int columnCount (const QModelIndex &parent) const override
QVariant data (const QModelIndex &index, int role) const override
QString displayExpression () const
 The display expression will be used for.
int extraIdentifierValueIndex () const
 The index at which the extra identifier value is available within the model.
bool extraValueDoesNotExist () const
 Flag indicating that the extraIdentifierValue does not exist in the data.
bool fetchGeometry () const
 Returns if the geometry is fetched.
int fetchLimit () const
 Returns the feature request fetch limit.
QString filterExpression () const
 An additional filter expression to apply, next to the filterValue.
QString filterValue () const
 This value will be used to filter the features available from this model.
QgsFeature formFeature () const
 Returns an attribute form feature to be used with the filter expression.
QModelIndex index (int row, int column, const QModelIndex &parent) const override
bool isLoading () const
 Indicator if the model is currently performing any feature iteration in the background.
QString orderExpression () const
 The order expression will be used for sort values in the combobox.
QModelIndex parent (const QModelIndex &child) const override
QgsFeature parentFormFeature () const
 Returns a parent attribute form feature to be used with the filter expression.
int rowCount (const QModelIndex &parent) const override
void setAllowNull (bool allowNull)
 Add a NULL entry to the list.
void setDisplayExpression (const QString &displayExpression)
 The display expression will be used for.
virtual void setExtraIdentifierValueToNull ()=0
 Allows specifying one value that does not need to match the filter criteria but will still be available in the model as NULL value(s).
void setFetchGeometry (bool fetchGeometry)
 Defines if the geometry will be fetched.
void setFetchLimit (int fetchLimit)
 Defines the feature request fetch limit If set to 0, no limit is applied when fetching.
void setFilterExpression (const QString &filterExpression)
 An additional filter expression to apply, next to the filterValue.
void setFilterValue (const QString &filterValue)
 This value will be used to filter the features available from this model.
void setFormFeature (const QgsFeature &feature)
 Sets an attribute form feature to be used with the filter expression.
void setOrderExpression (const QString &orderExpression)
 The order expression will be used for sort values in the combobox.
void setParentFormFeature (const QgsFeature &feature)
 Sets a parent attribute form feature to be used with the filter expression.
void setSortOrder (const Qt::SortOrder sortOrder)
 The order direction will be used for sort values in the combobox.
void setSourceLayer (QgsVectorLayer *sourceLayer)
 The source layer from which features will be fetched.
Qt::SortOrder sortOrder () const
 The order direction will be used for sort values in the combobox.
QgsVectorLayersourceLayer () const
 The source layer from which features will be fetched.

Protected Member Functions

virtual bool compareEntries (const QgsFeatureExpressionValuesGatherer::Entry &a, const QgsFeatureExpressionValuesGatherer::Entry &b) const =0
 Returns true if the 2 entries refers to the same feature.
virtual QgsFeatureExpressionValuesGatherer::Entry createEntry (const QVariant &identifier) const =0
 Creates an entry with just the identifier so the feature can be retrieved in a next iteration.
virtual QgsFeatureExpressionValuesGatherer * createValuesGatherer (const QgsFeatureRequest &request) const =0
 Creates the value gatherer.
virtual QVariant entryIdentifier (const QgsFeatureExpressionValuesGatherer::Entry &entry) const =0
 Returns the identifier of the given entry.
QVariant extraIdentifierValue () const
 Allows specifying one value that does not need to match the filter criteria but will still be available in the model.
virtual bool identifierIsNull (const QVariant &identifier) const =0
 Returns true if the entry is null The identifier can be either the feature ID or the list of identifier fields.
virtual QVariant nullIdentifier () const =0
 Returns a null identifier.
virtual QSet< QString > requestedAttributes () const
 Returns the attributes to be fetched in the request.
virtual void requestToReloadCurrentFeature (QgsFeatureRequest &request)=0
 Update the request to match the current feature to be reloaded.
void setExtraIdentifierValue (const QVariant &extraIdentifierValue)
 Allows specifying one value that does not need to match the filter criteria but will still be available in the model.
void setExtraIdentifierValueUnguarded (const QVariant &identifierValue)
 This will set the identifier value to be set in the model even if it doesn't exist currently in the data.

Protected Attributes

QVector< QgsFeatureExpressionValuesGatherer::Entry > mEntries
QVariant mExtraIdentifierValue
 The current identifier value.
int mExtraValueIndex = -1
 The current index.

Properties

bool allowNull
QString displayExpression
int extraIdentifierValueIndex
bool fetchGeometry
int fetchLimit
QString filterExpression
QString filterValue
QString orderExpression
Qt::SortOrder sortOrder
QgsVectorLayersourceLayer

Friends

class TestQgsFeatureListComboBox

Detailed Description

Provides a list of features based on filter conditions.

Features are fetched asynchronously.

Since
QGIS 3.14

Definition at line 32 of file qgsfeaturepickermodelbase.h.

Member Enumeration Documentation

◆ CustomRole

enum class QgsFeaturePickerModelBase::CustomRole : int
strong

Extra roles that can be used to fetch data from this model.

Note
Prior to QGIS 3.36 this was available as QgsFeaturePickerModelBase::Role
Since
QGIS 3.36
Enumerator
IdentifierValue 

Used to retrieve the identifier value (primary key) of a feature.

Deprecated
QGIS 3.40. Use IdentifierValuesRole instead.
IdentifierValues 

Used to retrieve the identifierValues (primary keys) of a feature.

Value 

Used to retrieve the displayExpression of a feature.

Feature 

Used to retrieve the feature, it might be incomplete if the request doesn't fetch all attributes or geometry.

FeatureId 

Used to retrieve the id of a feature.

Definition at line 57 of file qgsfeaturepickermodelbase.h.

Constructor & Destructor Documentation

◆ QgsFeaturePickerModelBase()

QgsFeaturePickerModelBase::QgsFeaturePickerModelBase ( QObject * parent = nullptr)
explicit

Create a new QgsFeaturePickerModelBase, optionally specifying a parent.

Definition at line 26 of file qgsfeaturepickermodelbase.cpp.

◆ ~QgsFeaturePickerModelBase()

QgsFeaturePickerModelBase::~QgsFeaturePickerModelBase ( )
override

Definition at line 39 of file qgsfeaturepickermodelbase.cpp.

Member Function Documentation

◆ allowNull()

bool QgsFeaturePickerModelBase::allowNull ( ) const

Add a NULL entry to the list.

Definition at line 627 of file qgsfeaturepickermodelbase.cpp.

◆ allowNullChanged

void QgsFeaturePickerModelBase::allowNullChanged ( )
signal

Add a NULL entry to the list.

◆ beginUpdate

void QgsFeaturePickerModelBase::beginUpdate ( )
signal

Notification that the model is about to be changed because a job was completed.

◆ columnCount()

int QgsFeaturePickerModelBase::columnCount ( const QModelIndex & parent) const
inlineoverride

Definition at line 117 of file qgsfeaturepickermodelbase.h.

◆ compareEntries()

virtual bool QgsFeaturePickerModelBase::compareEntries ( const QgsFeatureExpressionValuesGatherer::Entry & a,
const QgsFeatureExpressionValuesGatherer::Entry & b ) const
protectedpure virtual

Returns true if the 2 entries refers to the same feature.

◆ createEntry()

virtual QgsFeatureExpressionValuesGatherer::Entry QgsFeaturePickerModelBase::createEntry ( const QVariant & identifier) const
protectedpure virtual

Creates an entry with just the identifier so the feature can be retrieved in a next iteration.

◆ createValuesGatherer()

virtual QgsFeatureExpressionValuesGatherer * QgsFeaturePickerModelBase::createValuesGatherer ( const QgsFeatureRequest & request) const
protectedpure virtual

Creates the value gatherer.

◆ currentFeatureChanged

void QgsFeaturePickerModelBase::currentFeatureChanged ( )
signal

Emitted when the current feature in the model has changed This emitted both when the extra value changes and when the extra value status changes.

It allows being notified when the feature is fetched after the extra value has been set.

Since
QGIS 3.16.5

◆ data()

QVariant QgsFeaturePickerModelBase::data ( const QModelIndex & index,
int role ) const
override

Definition at line 188 of file qgsfeaturepickermodelbase.cpp.

◆ displayExpression()

QString QgsFeaturePickerModelBase::displayExpression ( ) const

The display expression will be used for.

  • displaying values in the combobox
  • filtering based on filterValue

Definition at line 69 of file qgsfeaturepickermodelbase.cpp.

◆ displayExpressionChanged

void QgsFeaturePickerModelBase::displayExpressionChanged ( )
signal

The display expression will be used for.

  • displaying values in the combobox
  • filtering based on filterValue

◆ endUpdate

void QgsFeaturePickerModelBase::endUpdate ( )
signal

Notification that the model change is finished.

Will always be emitted in sync with beginUpdate.

◆ entryIdentifier()

virtual QVariant QgsFeaturePickerModelBase::entryIdentifier ( const QgsFeatureExpressionValuesGatherer::Entry & entry) const
protectedpure virtual

Returns the identifier of the given entry.

◆ extraIdentifierValue()

QVariant QgsFeaturePickerModelBase::extraIdentifierValue ( ) const
protected

Allows specifying one value that does not need to match the filter criteria but will still be available in the model.

Definition at line 160 of file qgsfeaturepickermodelbase.cpp.

◆ extraIdentifierValueChanged

void QgsFeaturePickerModelBase::extraIdentifierValueChanged ( )
signal

Allows specifying one value that does not need to match the filter criteria but will still be available in the model.

◆ extraIdentifierValueIndex()

int QgsFeaturePickerModelBase::extraIdentifierValueIndex ( ) const

The index at which the extra identifier value is available within the model.

Definition at line 691 of file qgsfeaturepickermodelbase.cpp.

◆ extraIdentifierValueIndexChanged

void QgsFeaturePickerModelBase::extraIdentifierValueIndexChanged ( int index)
signal

The index at which the extra identifier value is available within the model.

◆ extraValueDoesNotExist()

bool QgsFeaturePickerModelBase::extraValueDoesNotExist ( ) const

Flag indicating that the extraIdentifierValue does not exist in the data.

Definition at line 675 of file qgsfeaturepickermodelbase.cpp.

◆ extraValueDoesNotExistChanged

void QgsFeaturePickerModelBase::extraValueDoesNotExistChanged ( bool found)
signal

Notification whether the model has found a feature tied to the extraIdentifierValue or not.

◆ fetchGeometry()

bool QgsFeaturePickerModelBase::fetchGeometry ( ) const

Returns if the geometry is fetched.

Definition at line 644 of file qgsfeaturepickermodelbase.cpp.

◆ fetchGeometryChanged

void QgsFeaturePickerModelBase::fetchGeometryChanged ( )
signal

Emitted when the fetching of the geometry changes.

◆ fetchLimit()

int QgsFeaturePickerModelBase::fetchLimit ( ) const

Returns the feature request fetch limit.

Definition at line 658 of file qgsfeaturepickermodelbase.cpp.

◆ fetchLimitChanged

void QgsFeaturePickerModelBase::fetchLimitChanged ( )
signal

Emitted when the fetching limit for the feature request changes.

◆ filterExpression()

QString QgsFeaturePickerModelBase::filterExpression ( ) const

An additional filter expression to apply, next to the filterValue.

Can be used for spatial filtering etc.

Definition at line 103 of file qgsfeaturepickermodelbase.cpp.

◆ filterExpressionChanged

void QgsFeaturePickerModelBase::filterExpressionChanged ( )
signal

An additional filter expression to apply, next to the filterValue.

Can be used for spatial filtering etc.

◆ filterJobCompleted

void QgsFeaturePickerModelBase::filterJobCompleted ( )
signal

Indicates that a filter job has been completed and new data may be available.

◆ filterValue()

QString QgsFeaturePickerModelBase::filterValue ( ) const

This value will be used to filter the features available from this model.

Whenever a substring of the displayExpression of a feature matches the filter value, it will be accessible by this model.

Definition at line 86 of file qgsfeaturepickermodelbase.cpp.

◆ filterValueChanged

void QgsFeaturePickerModelBase::filterValueChanged ( )
signal

This value will be used to filter the features available from this model.

Whenever a substring of the displayExpression of a feature matches the filter value, it will be accessible by this model.

◆ formFeature()

QgsFeature QgsFeaturePickerModelBase::formFeature ( ) const

Returns an attribute form feature to be used with the filter expression.

Since
QGIS 3.42.2

Definition at line 119 of file qgsfeaturepickermodelbase.cpp.

◆ formFeatureChanged

void QgsFeaturePickerModelBase::formFeatureChanged ( )
signal

An attribute form feature to be used alongside the filter expression.

Since
QGIS 3.42.2

◆ identifierIsNull()

virtual bool QgsFeaturePickerModelBase::identifierIsNull ( const QVariant & identifier) const
protectedpure virtual

Returns true if the entry is null The identifier can be either the feature ID or the list of identifier fields.

◆ index()

QModelIndex QgsFeaturePickerModelBase::index ( int row,
int column,
const QModelIndex & parent ) const
override

Definition at line 166 of file qgsfeaturepickermodelbase.cpp.

◆ isLoading()

bool QgsFeaturePickerModelBase::isLoading ( ) const

Indicator if the model is currently performing any feature iteration in the background.

Definition at line 155 of file qgsfeaturepickermodelbase.cpp.

◆ isLoadingChanged

void QgsFeaturePickerModelBase::isLoadingChanged ( )
signal

Indicator if the model is currently performing any feature iteration in the background.

◆ nullIdentifier()

virtual QVariant QgsFeaturePickerModelBase::nullIdentifier ( ) const
protectedpure virtual

Returns a null identifier.

◆ orderExpression()

QString QgsFeaturePickerModelBase::orderExpression ( ) const

The order expression will be used for sort values in the combobox.

Since
QGIS 4.0

Definition at line 723 of file qgsfeaturepickermodelbase.cpp.

◆ orderExpressionChanged

void QgsFeaturePickerModelBase::orderExpressionChanged ( )
signal

An expression for generating values for sorting.

Can be used for combo boxes etc.

Since
QGIS 4.0

◆ parent()

QModelIndex QgsFeaturePickerModelBase::parent ( const QModelIndex & child) const
override

Definition at line 173 of file qgsfeaturepickermodelbase.cpp.

◆ parentFormFeature()

QgsFeature QgsFeaturePickerModelBase::parentFormFeature ( ) const

Returns a parent attribute form feature to be used with the filter expression.

Since
QGIS 3.42.2

Definition at line 137 of file qgsfeaturepickermodelbase.cpp.

◆ parentFormFeatureChanged

void QgsFeaturePickerModelBase::parentFormFeatureChanged ( )
signal

A parent attribute form feature to be used alongside the filter expression.

Since
QGIS 3.42.2

◆ requestedAttributes()

virtual QSet< QString > QgsFeaturePickerModelBase::requestedAttributes ( ) const
inlineprotectedvirtual

Returns the attributes to be fetched in the request.

Returns an empty set if all attributes should be fetched.

Definition at line 381 of file qgsfeaturepickermodelbase.h.

◆ requestToReloadCurrentFeature()

virtual void QgsFeaturePickerModelBase::requestToReloadCurrentFeature ( QgsFeatureRequest & request)
protectedpure virtual

Update the request to match the current feature to be reloaded.

◆ rowCount()

int QgsFeaturePickerModelBase::rowCount ( const QModelIndex & parent) const
override

Definition at line 180 of file qgsfeaturepickermodelbase.cpp.

◆ setAllowNull()

void QgsFeaturePickerModelBase::setAllowNull ( bool allowNull)

Add a NULL entry to the list.

Definition at line 633 of file qgsfeaturepickermodelbase.cpp.

◆ setDisplayExpression()

void QgsFeaturePickerModelBase::setDisplayExpression ( const QString & displayExpression)

The display expression will be used for.

  • displaying values in the combobox
  • filtering based on filterValue

Definition at line 75 of file qgsfeaturepickermodelbase.cpp.

◆ setExtraIdentifierValue()

void QgsFeaturePickerModelBase::setExtraIdentifierValue ( const QVariant & extraIdentifierValue)
protected

Allows specifying one value that does not need to match the filter criteria but will still be available in the model.

Definition at line 703 of file qgsfeaturepickermodelbase.cpp.

◆ setExtraIdentifierValueToNull()

virtual void QgsFeaturePickerModelBase::setExtraIdentifierValueToNull ( )
pure virtual

Allows specifying one value that does not need to match the filter criteria but will still be available in the model as NULL value(s).

Implemented in QgsFeatureFilterModel, and QgsFeaturePickerModel.

◆ setExtraIdentifierValueUnguarded()

void QgsFeaturePickerModelBase::setExtraIdentifierValueUnguarded ( const QVariant & identifierValue)
protected

This will set the identifier value to be set in the model even if it doesn't exist currently in the data.

Definition at line 556 of file qgsfeaturepickermodelbase.cpp.

◆ setFetchGeometry()

void QgsFeaturePickerModelBase::setFetchGeometry ( bool fetchGeometry)

Defines if the geometry will be fetched.

Definition at line 649 of file qgsfeaturepickermodelbase.cpp.

◆ setFetchLimit()

void QgsFeaturePickerModelBase::setFetchLimit ( int fetchLimit)

Defines the feature request fetch limit If set to 0, no limit is applied when fetching.

Definition at line 663 of file qgsfeaturepickermodelbase.cpp.

◆ setFilterExpression()

void QgsFeaturePickerModelBase::setFilterExpression ( const QString & filterExpression)

An additional filter expression to apply, next to the filterValue.

Can be used for spatial filtering etc.

Definition at line 109 of file qgsfeaturepickermodelbase.cpp.

◆ setFilterValue()

void QgsFeaturePickerModelBase::setFilterValue ( const QString & filterValue)

This value will be used to filter the features available from this model.

Whenever a substring of the displayExpression of a feature matches the filter value, it will be accessible by this model.

Definition at line 92 of file qgsfeaturepickermodelbase.cpp.

◆ setFormFeature()

void QgsFeaturePickerModelBase::setFormFeature ( const QgsFeature & feature)

Sets an attribute form feature to be used with the filter expression.

Since
QGIS 3.42.2

Definition at line 124 of file qgsfeaturepickermodelbase.cpp.

◆ setOrderExpression()

void QgsFeaturePickerModelBase::setOrderExpression ( const QString & orderExpression)

The order expression will be used for sort values in the combobox.

Since
QGIS 4.0

Definition at line 729 of file qgsfeaturepickermodelbase.cpp.

◆ setParentFormFeature()

void QgsFeaturePickerModelBase::setParentFormFeature ( const QgsFeature & feature)

Sets a parent attribute form feature to be used with the filter expression.

Since
QGIS 3.42.2

Definition at line 142 of file qgsfeaturepickermodelbase.cpp.

◆ setSortOrder()

void QgsFeaturePickerModelBase::setSortOrder ( const Qt::SortOrder sortOrder)

The order direction will be used for sort values in the combobox.

Ascending or descending.

Since
QGIS 4.0

Definition at line 746 of file qgsfeaturepickermodelbase.cpp.

◆ setSourceLayer()

void QgsFeaturePickerModelBase::setSourceLayer ( QgsVectorLayer * sourceLayer)

The source layer from which features will be fetched.

Definition at line 52 of file qgsfeaturepickermodelbase.cpp.

◆ sortOrder()

Qt::SortOrder QgsFeaturePickerModelBase::sortOrder ( ) const

The order direction will be used for sort values in the combobox.

Ascending or descending.

Since
QGIS 4.0

Definition at line 740 of file qgsfeaturepickermodelbase.cpp.

◆ sortOrderChanged

void QgsFeaturePickerModelBase::sortOrderChanged ( )
signal

The direction used for sorting.

Can be used for combo boxes etc.

Since
QGIS 4.0

◆ sourceLayer()

QgsVectorLayer * QgsFeaturePickerModelBase::sourceLayer ( ) const

The source layer from which features will be fetched.

Definition at line 46 of file qgsfeaturepickermodelbase.cpp.

◆ sourceLayerChanged

void QgsFeaturePickerModelBase::sourceLayerChanged ( )
signal

The source layer from which features will be fetched.

◆ TestQgsFeatureListComboBox

friend class TestQgsFeatureListComboBox
friend

Definition at line 446 of file qgsfeaturepickermodelbase.h.

Member Data Documentation

◆ mEntries

QVector<QgsFeatureExpressionValuesGatherer::Entry> QgsFeaturePickerModelBase::mEntries
protected

Definition at line 404 of file qgsfeaturepickermodelbase.h.

◆ mExtraIdentifierValue

QVariant QgsFeaturePickerModelBase::mExtraIdentifierValue
protected

The current identifier value.

Definition at line 408 of file qgsfeaturepickermodelbase.h.

◆ mExtraValueIndex

int QgsFeaturePickerModelBase::mExtraValueIndex = -1
protected

The current index.

Definition at line 411 of file qgsfeaturepickermodelbase.h.

Property Documentation

◆ allowNull

bool QgsFeaturePickerModelBase::allowNull
readwrite

Definition at line 42 of file qgsfeaturepickermodelbase.h.

◆ displayExpression

QString QgsFeaturePickerModelBase::displayExpression
readwrite

Definition at line 37 of file qgsfeaturepickermodelbase.h.

◆ extraIdentifierValueIndex

int QgsFeaturePickerModelBase::extraIdentifierValueIndex
read

Definition at line 45 of file qgsfeaturepickermodelbase.h.

◆ fetchGeometry

bool QgsFeaturePickerModelBase::fetchGeometry
readwrite

Definition at line 43 of file qgsfeaturepickermodelbase.h.

◆ fetchLimit

int QgsFeaturePickerModelBase::fetchLimit
readwrite

Definition at line 44 of file qgsfeaturepickermodelbase.h.

◆ filterExpression

QString QgsFeaturePickerModelBase::filterExpression
readwrite

Definition at line 39 of file qgsfeaturepickermodelbase.h.

◆ filterValue

QString QgsFeaturePickerModelBase::filterValue
readwrite

Definition at line 38 of file qgsfeaturepickermodelbase.h.

◆ orderExpression

QString QgsFeaturePickerModelBase::orderExpression
readwrite

Definition at line 40 of file qgsfeaturepickermodelbase.h.

◆ sortOrder

Qt::SortOrder QgsFeaturePickerModelBase::sortOrder
readwrite

Definition at line 41 of file qgsfeaturepickermodelbase.h.

◆ sourceLayer

QgsVectorLayer * QgsFeaturePickerModelBase::sourceLayer
readwrite

Definition at line 36 of file qgsfeaturepickermodelbase.h.


The documentation for this class was generated from the following files: