QGIS/python/gui/qgsmaplayercombobox.sip

113 lines
3.4 KiB
Plaintext

/**
* @brief The QgsMapLayerComboBox class is a combo box which displays the list of layers
* @note added in 2.3
*/
class QgsMapLayerComboBox : QComboBox
{
%TypeHeaderCode
#include "qgsmaplayercombobox.h"
%End
public:
/**
* @brief QgsMapLayerComboBox creates a combo box to dislpay the list of layers (currently in the registry).
* The layers can be filtered and/or ordered.
*/
explicit QgsMapLayerComboBox( QWidget *parent /TransferThis/ = 0 );
//! setFilters allows fitering according to layer type and/or geometry type.
void setFilters( const QgsMapLayerProxyModel::Filters& filters );
//! currently used filter on list layers
QgsMapLayerProxyModel::Filters filters() const;
//! except a list of layers not to be listed
void setExceptedLayerList( const QList<QgsMapLayer*>& layerList );
//! returns the list of excepted layers
QList<QgsMapLayer*> exceptedLayerList() const;
/**
* Sets a list of data providers which should be excluded from the combobox.
* @note added in QGIS 3.0
* @see excludedProviders()
*/
void setExcludedProviders( const QStringList& providers );
/**
* Returns the list of data providers which are excluded from the combobox.
* @see setExcludedProviders()
* @note added in QGIS 3.0
*/
QStringList excludedProviders() const;
/**
* Sets whether an optional empty layer ("not set") option is shown in the combo box.
* @see allowEmptyLayer()
* @note added in QGIS 3.0
*/
void setAllowEmptyLayer( bool allowEmpty );
/**
* Returns true if the combo box allows the empty layer ("not set") choice.
* @see setAllowEmptyLayer()
* @note added in QGIS 3.0
*/
bool allowEmptyLayer() const;
/**
* Sets whether the CRS of layers is also included in the combo box text.
* @see showCrs()
* @note added in QGIS 3.0
*/
void setShowCrs( bool showCrs );
/**
* Returns true if the combo box shows the layer's CRS.
* @see setShowCrs()
* @note added in QGIS 3.0
*/
bool showCrs() const;
/**
* Sets a list of additional (non map layer) items to include at the end of the combobox.
* These may represent additional layers such as layers which are not included in the map
* layer registry, or paths to layers which have not yet been loaded into QGIS.
* @see additionalItems()
* @note added in QGIS 3.0
*/
void setAdditionalItems( const QStringList& items );
/**
* Return the list of additional (non map layer) items included at the end of the combo box.
* @see setAdditionalItems()
* @note added in QGIS 3.0
*/
QStringList additionalItems() const;
/** Returns the current layer selected in the combo box.
* @see layer
*/
QgsMapLayer* currentLayer() const;
/** Return the layer currently shown at the specified index within the combo box.
* @param layerIndex position of layer to return
* @note added in QGIS 2.10
* @see currentLayer
*/
QgsMapLayer* layer( int layerIndex ) const;
public slots:
//! setLayer set the current layer selected in the combo
void setLayer( QgsMapLayer* layer );
signals:
//! layerChanged this signal is emitted whenever the currently selected layer changes
void layerChanged( QgsMapLayer* layer );
protected slots:
void indexChanged( int i );
void rowsChanged();
};