/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/proj/qgsrecentcoordinatereferencesystemsmodel.h              *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/





class QgsRecentCoordinateReferenceSystemsModel : QAbstractItemModel
{
%Docstring(signature="appended")
A model for display of recently used coordinate reference systems.

.. versionadded:: 3.36
%End

%TypeHeaderCode
#include "qgsrecentcoordinatereferencesystemsmodel.h"
%End
  public:

    enum class CustomRole /BaseType=IntEnum/
    {
      Crs,
      AuthId,
    };

    QgsRecentCoordinateReferenceSystemsModel( QObject *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsRecentCoordinateReferenceSystemsModel, with the
specified ``parent`` object.
%End

    virtual Qt::ItemFlags flags( const QModelIndex &index ) const;

    virtual QVariant data( const QModelIndex &index, int role ) const;

    virtual int rowCount( const QModelIndex &parent = QModelIndex() ) const;

    virtual int columnCount( const QModelIndex & = QModelIndex() ) const;

    virtual QModelIndex index( int row, int column, const QModelIndex &parent = QModelIndex() ) const;

    virtual QModelIndex parent( const QModelIndex &index ) const;


    QgsCoordinateReferenceSystem crs( const QModelIndex &index ) const;
%Docstring
Returns the CRS for the corresponding ``index``.

Returns an invalid CRS if the index is not valid.
%End

};


class QgsRecentCoordinateReferenceSystemsProxyModel : QSortFilterProxyModel
{
%Docstring(signature="appended")
A sort/filter proxy model for recent coordinate reference systems.

.. versionadded:: 3.36
%End

%TypeHeaderCode
#include "qgsrecentcoordinatereferencesystemsmodel.h"
%End
  public:
    explicit QgsRecentCoordinateReferenceSystemsProxyModel( QObject *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsRecentCoordinateReferenceSystemsProxyModel, with the
given ``parent`` object.
%End

    QgsRecentCoordinateReferenceSystemsModel *recentCoordinateReferenceSystemsModel();
%Docstring
Returns the underlying source model.
%End


    void setFilters( QgsCoordinateReferenceSystemProxyModel::Filters filters );
%Docstring
Set ``filters`` that affect how CRS are filtered.
%End

    void setFilterDeprecated( bool filter );
%Docstring
Sets whether deprecated CRS should be filtered from the results.
%End

    void setFilterString( const QString &filter );
%Docstring
Sets a ``filter`` string, such that only coordinate reference systems
matching the specified string will be shown.
%End

    QgsCoordinateReferenceSystemProxyModel::Filters filters() const;
%Docstring
Returns any filters that affect how CRS are filtered.

.. seealso:: :py:func:`setFilters`
%End

    virtual bool filterAcceptsRow( int sourceRow, const QModelIndex &sourceParent ) const;


    QgsCoordinateReferenceSystem crs( const QModelIndex &index ) const;
%Docstring
Returns the CRS for the corresponding ``index``.

Returns an invalid CRS if the index is not valid.
%End

};


/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/proj/qgsrecentcoordinatereferencesystemsmodel.h              *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
