QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
Public Slots | Signals | Public Member Functions | Protected Slots | Protected Member Functions | Properties | Friends | List of all members
QgsMapLayerComboBox Class Reference

The QgsMapLayerComboBox class is a combo box which displays the list of layers. More...

#include <qgsmaplayercombobox.h>

Inheritance diagram for QgsMapLayerComboBox:
Inheritance graph
[legend]

Public Slots

void setLayer (QgsMapLayer *layer)
 setLayer set the current layer selected in the combo More...
 

Signals

void layerChanged (QgsMapLayer *layer)
 Emitted whenever the currently selected layer changes. More...
 

Public Member Functions

 QgsMapLayerComboBox (QWidget *parent=nullptr)
 QgsMapLayerComboBox creates a combo box to display the list of layers (currently in the registry). More...
 
QStringList additionalItems () const
 Returns the list of additional (non map layer) items included at the end of the combo box. More...
 
QList< QgsMapLayer * > additionalLayers () const
 Returns the list of additional layers added to the combobox. More...
 
bool allowEmptyLayer () const
 Returns true if the combo box allows the empty layer ("not set") choice. More...
 
QgsMapLayercurrentLayer () const
 Returns the current layer selected in the combo box. More...
 
QList< QgsMapLayer * > exceptedLayerList () const
 returns the list of excepted layers More...
 
QStringList excludedProviders () const
 Returns the list of data providers which are excluded from the combobox. More...
 
Qgis::LayerFilters filters () const
 currently used filter on list layers More...
 
QgsMapLayerlayer (int layerIndex) const
 Returns the layer currently shown at the specified index within the combo box. More...
 
void setAdditionalItems (const QStringList &items)
 Sets a list of additional (non map layer) items to include at the end of the combobox. More...
 
void setAdditionalLayers (const QList< QgsMapLayer * > &layers)
 Sets a list of additional layers to include in the combobox. More...
 
void setAllowEmptyLayer (bool allowEmpty, const QString &text=QString(), const QIcon &icon=QIcon())
 Sets whether an optional empty layer ("not set") option is shown in the combo box. More...
 
void setExceptedLayerList (const QList< QgsMapLayer * > &layerList)
 except a list of layers not to be listed More...
 
void setExcludedProviders (const QStringList &providers)
 Sets a list of data providers which should be excluded from the combobox. More...
 
Q_DECL_DEPRECATED void setFilters (int filters)
 Filters according to layer type and/or geometry type. More...
 
void setFilters (Qgis::LayerFilters filters)
 Filters according to layer type and/or geometry type. More...
 
void setProject (QgsProject *project)
 Sets the project from which map layers are shown. More...
 
void setShowCrs (bool showCrs)
 Sets whether the CRS of layers is also included in the combo box text. More...
 
bool showCrs () const
 Returns true if the combo box shows the layer's CRS. More...
 

Protected Slots

void indexChanged (int i)
 
void rowsChanged ()
 

Protected Member Functions

void dragEnterEvent (QDragEnterEvent *event) override
 
void dragLeaveEvent (QDragLeaveEvent *event) override
 
void dropEvent (QDropEvent *event) override
 
void paintEvent (QPaintEvent *e) override
 

Properties

bool allowEmptyLayer
 
QStringList excludedProviders
 
Qgis::LayerFilters filters
 
bool showCrs
 

Friends

class QgsProcessingMapLayerComboBox
 

Detailed Description

The QgsMapLayerComboBox class is a combo box which displays the list of layers.

Definition at line 33 of file qgsmaplayercombobox.h.

Constructor & Destructor Documentation

◆ QgsMapLayerComboBox()

QgsMapLayerComboBox::QgsMapLayerComboBox ( QWidget *  parent = nullptr)
explicit

QgsMapLayerComboBox creates a combo box to display the list of layers (currently in the registry).

The layers can be filtered and/or ordered.

Definition at line 23 of file qgsmaplayercombobox.cpp.

Member Function Documentation

◆ additionalItems()

QStringList QgsMapLayerComboBox::additionalItems ( ) const

Returns the list of additional (non map layer) items included at the end of the combo box.

See also
setAdditionalItems()

Definition at line 79 of file qgsmaplayercombobox.cpp.

◆ additionalLayers()

QList< QgsMapLayer * > QgsMapLayerComboBox::additionalLayers ( ) const

Returns the list of additional layers added to the combobox.

See also
setAdditionalLayers()
Since
QGIS 3.22

Definition at line 89 of file qgsmaplayercombobox.cpp.

◆ allowEmptyLayer()

bool QgsMapLayerComboBox::allowEmptyLayer ( ) const

Returns true if the combo box allows the empty layer ("not set") choice.

See also
setAllowEmptyLayer()

Definition at line 59 of file qgsmaplayercombobox.cpp.

◆ currentLayer()

QgsMapLayer * QgsMapLayerComboBox::currentLayer ( ) const

Returns the current layer selected in the combo box.

See also
layer

Definition at line 121 of file qgsmaplayercombobox.cpp.

◆ dragEnterEvent()

void QgsMapLayerComboBox::dragEnterEvent ( QDragEnterEvent *  event)
overrideprotected

Definition at line 183 of file qgsmaplayercombobox.cpp.

◆ dragLeaveEvent()

void QgsMapLayerComboBox::dragLeaveEvent ( QDragLeaveEvent *  event)
overrideprotected

Definition at line 205 of file qgsmaplayercombobox.cpp.

◆ dropEvent()

void QgsMapLayerComboBox::dropEvent ( QDropEvent *  event)
overrideprotected

Definition at line 219 of file qgsmaplayercombobox.cpp.

◆ exceptedLayerList()

QList<QgsMapLayer *> QgsMapLayerComboBox::exceptedLayerList ( ) const
inline

returns the list of excepted layers

Definition at line 67 of file qgsmaplayercombobox.h.

◆ excludedProviders()

QStringList QgsMapLayerComboBox::excludedProviders ( ) const

Returns the list of data providers which are excluded from the combobox.

See also
setExcludedProviders()

Definition at line 49 of file qgsmaplayercombobox.cpp.

◆ filters()

Qgis::LayerFilters QgsMapLayerComboBox::filters ( ) const
inline

currently used filter on list layers

Definition at line 61 of file qgsmaplayercombobox.h.

◆ indexChanged

void QgsMapLayerComboBox::indexChanged ( int  i)
protectedslot

Definition at line 148 of file qgsmaplayercombobox.cpp.

◆ layer()

QgsMapLayer * QgsMapLayerComboBox::layer ( int  layerIndex) const

Returns the layer currently shown at the specified index within the combo box.

Parameters
layerIndexposition of layer to return
See also
currentLayer

Definition at line 126 of file qgsmaplayercombobox.cpp.

◆ layerChanged

void QgsMapLayerComboBox::layerChanged ( QgsMapLayer layer)
signal

Emitted whenever the currently selected layer changes.

◆ paintEvent()

void QgsMapLayerComboBox::paintEvent ( QPaintEvent *  e)
overrideprotected

Definition at line 244 of file qgsmaplayercombobox.cpp.

◆ rowsChanged

void QgsMapLayerComboBox::rowsChanged ( )
protectedslot

Definition at line 155 of file qgsmaplayercombobox.cpp.

◆ setAdditionalItems()

void QgsMapLayerComboBox::setAdditionalItems ( const QStringList &  items)

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 also
additionalItems()

Definition at line 74 of file qgsmaplayercombobox.cpp.

◆ setAdditionalLayers()

void QgsMapLayerComboBox::setAdditionalLayers ( const QList< QgsMapLayer * > &  layers)

Sets a list of additional layers to include in the combobox.

This method allows adding additional layers, which are not part of a project's layers, into the combobox.

See also
additionalLayers()
Since
QGIS 3.22

Definition at line 84 of file qgsmaplayercombobox.cpp.

◆ setAllowEmptyLayer()

void QgsMapLayerComboBox::setAllowEmptyLayer ( bool  allowEmpty,
const QString &  text = QString(),
const QIcon &  icon = QIcon() 
)

Sets whether an optional empty layer ("not set") option is shown in the combo box.

Since QGIS 3.20, the optional text and icon arguments allows the text and icon for the empty layer item to be set.

See also
allowEmptyLayer()

Definition at line 54 of file qgsmaplayercombobox.cpp.

◆ setExceptedLayerList()

void QgsMapLayerComboBox::setExceptedLayerList ( const QList< QgsMapLayer * > &  layerList)
inline

except a list of layers not to be listed

Definition at line 64 of file qgsmaplayercombobox.h.

◆ setExcludedProviders()

void QgsMapLayerComboBox::setExcludedProviders ( const QStringList &  providers)

Sets a list of data providers which should be excluded from the combobox.

See also
excludedProviders()

Definition at line 38 of file qgsmaplayercombobox.cpp.

◆ setFilters() [1/2]

Q_DECL_DEPRECATED void QgsMapLayerComboBox::setFilters ( int  filters)
inline

Filters according to layer type and/or geometry type.

Note
for API compatibility
Since
QGIS 3.34
Deprecated:
since QGIS 3.34 use the flag signature instead

Definition at line 58 of file qgsmaplayercombobox.h.

◆ setFilters() [2/2]

void QgsMapLayerComboBox::setFilters ( Qgis::LayerFilters  filters)
inline

Filters according to layer type and/or geometry type.

Definition at line 50 of file qgsmaplayercombobox.h.

◆ setLayer

void QgsMapLayerComboBox::setLayer ( QgsMapLayer layer)
slot

setLayer set the current layer selected in the combo

Definition at line 94 of file qgsmaplayercombobox.cpp.

◆ setProject()

void QgsMapLayerComboBox::setProject ( QgsProject project)

Sets the project from which map layers are shown.

If project is nullptr then QgsProject::instance() will be used.

Since
QGIS 3.24

Definition at line 43 of file qgsmaplayercombobox.cpp.

◆ setShowCrs()

void QgsMapLayerComboBox::setShowCrs ( bool  showCrs)

Sets whether the CRS of layers is also included in the combo box text.

See also
showCrs()

Definition at line 64 of file qgsmaplayercombobox.cpp.

◆ showCrs()

bool QgsMapLayerComboBox::showCrs ( ) const

Returns true if the combo box shows the layer's CRS.

See also
setShowCrs()

Definition at line 69 of file qgsmaplayercombobox.cpp.

Friends And Related Function Documentation

◆ QgsProcessingMapLayerComboBox

friend class QgsProcessingMapLayerComboBox
friend

Definition at line 194 of file qgsmaplayercombobox.h.

Property Documentation

◆ allowEmptyLayer

bool QgsMapLayerComboBox::allowEmptyLayer
readwrite

Definition at line 1 of file qgsmaplayercombobox.h.

◆ excludedProviders

QStringList QgsMapLayerComboBox::excludedProviders
readwrite

Definition at line 1 of file qgsmaplayercombobox.h.

◆ filters

Qgis::LayerFilters QgsMapLayerComboBox::filters
readwrite

Definition at line 1 of file qgsmaplayercombobox.h.

◆ showCrs

bool QgsMapLayerComboBox::showCrs
readwrite

Definition at line 1 of file qgsmaplayercombobox.h.


The documentation for this class was generated from the following files: