mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
52 lines
1.4 KiB
Plaintext
52 lines
1.4 KiB
Plaintext
/**
|
|
* @brief The QgsMapLayerProxModel class provides an easy to use model to display the list of layers in widgets.
|
|
* @note added in 2.3
|
|
*/
|
|
class QgsMapLayerProxyModel : QSortFilterProxyModel
|
|
{
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsmaplayerproxymodel.h"
|
|
%End
|
|
|
|
public:
|
|
enum Filter
|
|
{
|
|
RasterLayer = 1,
|
|
NoGeometry = 2,
|
|
PointLayer = 4,
|
|
LineLayer = 8,
|
|
PolygonLayer = 16,
|
|
HasGeometry = 28,
|
|
VectorLayer = 30,
|
|
PluginLayer = 32,
|
|
All = 63
|
|
};
|
|
typedef QFlags<QgsMapLayerProxyModel::Filter> Filters;
|
|
|
|
/**
|
|
* @brief QgsMapLayerProxModel creates a proxy model with a QgsMapLayerModel as source model.
|
|
* It can be used to filter the layers list in a widget.
|
|
*/
|
|
explicit QgsMapLayerProxyModel( QObject *parent /TransferThis/ = 0 );
|
|
|
|
/**
|
|
* @brief layerModel returns the QgsMapLayerModel used in this QSortFilterProxyModel
|
|
*/
|
|
QgsMapLayerModel* sourceLayerModel() ;
|
|
|
|
/**
|
|
* @brief setFilters set flags that affect how layers are filtered
|
|
* @param filters are Filter flags
|
|
* @note added in 2.3
|
|
*/
|
|
QgsMapLayerProxyModel* setFilters( Filters filters );
|
|
const Filters& filters() const ;
|
|
|
|
// QSortFilterProxyModel interface
|
|
public:
|
|
bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const;
|
|
bool lessThan( const QModelIndex &left, const QModelIndex &right ) const;
|
|
};
|
|
|