mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
64 lines
2.0 KiB
Plaintext
64 lines
2.0 KiB
Plaintext
/**
|
|
* @brief The QgsMapLayerProxyModel 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,
|
|
NoGeometry,
|
|
PointLayer,
|
|
LineLayer,
|
|
PolygonLayer,
|
|
HasGeometry,
|
|
VectorLayer,
|
|
PluginLayer,
|
|
WritableLayer,
|
|
All
|
|
};
|
|
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() const;
|
|
|
|
/**
|
|
* @brief setFilters set flags that affect how layers are filtered
|
|
* @param filters are Filter flags
|
|
* @note added in 2.3
|
|
*/
|
|
QgsMapLayerProxyModel* setFilters( const Filters& filters );
|
|
const Filters& filters() const;
|
|
|
|
//! offer the possibility to except some layers to be listed
|
|
void setExceptedLayerList( const QList<QgsMapLayer*>& exceptList );
|
|
//! Get the list of maplayers which are excluded from the list
|
|
QList<QgsMapLayer*> exceptedLayerList();
|
|
|
|
//! Set the list of maplayer ids which are excluded from the list
|
|
void setExceptedLayerIds( const QStringList& ids );
|
|
//! Get the list of maplayer ids which are excluded from the list
|
|
QStringList exceptedLayerIds() const;
|
|
|
|
// QSortFilterProxyModel interface
|
|
public:
|
|
bool filterAcceptsRow( int source_row, const QModelIndex &source_parent ) const;
|
|
bool lessThan( const QModelIndex &left, const QModelIndex &right ) const;
|
|
};
|
|
|
|
QFlags<QgsMapLayerProxyModel::Filter> operator|(QgsMapLayerProxyModel::Filter f1, QFlags<QgsMapLayerProxyModel::Filter> f2);
|