mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
113 lines
3.4 KiB
Plaintext
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();
|
|
};
|