mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-06 00:07:29 -04:00
251 lines
7.0 KiB
Plaintext
251 lines
7.0 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/gui/qgsmaplayercombobox.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class QgsMapLayerComboBox : QComboBox
|
|
{
|
|
%Docstring(signature="appended")
|
|
A combobox which displays a dynamic list of layers from a QGIS project.
|
|
|
|
:py:class:`QgsMapLayerComboBox` is automatically populated with all the
|
|
layers from the project. Any changes to the project's layers are
|
|
immediately reflected in the combobox, such as addition of new layers,
|
|
layer renaming, or layer removal. Accordingly, this widget should ALWAYS
|
|
be used when presenting a choice of layers to a user, instead of
|
|
manually populated comboboxes.
|
|
|
|
In addition to the automatic layer population,
|
|
:py:class:`QgsMapLayerComboBox` also presents a user-friendly choice of
|
|
layers by showing standard icons representing the different layer types
|
|
(eg raster, mesh, or polygon/point/line icons for vector layers).
|
|
Helpful tooltips will be shown if the user hovers over any of the
|
|
layers, helping guide the user to the correct layer choice.
|
|
|
|
Optionally, the list of available layers can be filtered to a subset of
|
|
the project's layers (such as only showing raster layers, or only
|
|
spatial layers) by calling :py:func:`~setFilters`.
|
|
|
|
By default, the combobox will be populated using layers from the current
|
|
project (see :py:func:`QgsProject.instance()`), however a specific
|
|
source project can be set via :py:func:`~setProject`.
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsmaplayercombobox.h"
|
|
%End
|
|
public:
|
|
explicit QgsMapLayerComboBox( QWidget *parent /TransferThis/ = 0 );
|
|
%Docstring
|
|
QgsMapLayerComboBox creates a combo box to display the list of layers
|
|
currently in the project.
|
|
|
|
The layers can be filtered and/or ordered.
|
|
%End
|
|
|
|
void setFilters( Qgis::LayerFilters filters );
|
|
%Docstring
|
|
Sets ``filters`` for the layers displayed in the combo box.
|
|
|
|
This method allows filtering layers according to layer type and/or
|
|
geometry type.
|
|
|
|
.. seealso:: :py:func:`filters`
|
|
%End
|
|
|
|
void setFilters( int filters ) /Deprecated="Since 3.34. Use the flag signature instead."/;
|
|
%Docstring
|
|
Filters according to layer type and/or geometry type.
|
|
|
|
.. note::
|
|
|
|
for API compatibility
|
|
|
|
.. versionadded:: 3.34
|
|
|
|
.. deprecated:: 3.34
|
|
|
|
Use the flag signature instead.
|
|
%End
|
|
|
|
Qgis::LayerFilters filters() const;
|
|
%Docstring
|
|
Returns any currently used filters on the listed layers.
|
|
|
|
.. seealso:: :py:func:`setFilters`
|
|
%End
|
|
|
|
void setExceptedLayerList( const QList<QgsMapLayer *> &layerList );
|
|
%Docstring
|
|
Sets a list of layers which should be excluded from the combo box.
|
|
|
|
.. seealso:: :py:func:`exceptedLayerList`
|
|
%End
|
|
|
|
QList<QgsMapLayer *> exceptedLayerList() const;
|
|
%Docstring
|
|
Returns a list of layers which should be excluded from the combo box.
|
|
|
|
.. seealso:: :py:func:`setExceptedLayerList`
|
|
%End
|
|
|
|
void setExcludedProviders( const QStringList &providers );
|
|
%Docstring
|
|
Sets a list of data providers which should be excluded from the
|
|
combobox.
|
|
|
|
.. seealso:: :py:func:`excludedProviders`
|
|
%End
|
|
|
|
QStringList excludedProviders() const;
|
|
%Docstring
|
|
Returns the list of data providers which are excluded from the combobox.
|
|
|
|
.. seealso:: :py:func:`setExcludedProviders`
|
|
%End
|
|
|
|
void setProject( QgsProject *project );
|
|
%Docstring
|
|
Sets the ``project`` from which map layers are shown.
|
|
|
|
If ``project`` is ``None`` then :py:func:`QgsProject.instance()` will be
|
|
used.
|
|
|
|
.. versionadded:: 3.24
|
|
%End
|
|
|
|
|
|
void setAllowEmptyLayer( bool allowEmpty, const QString &text = QString(), const QIcon &icon = QIcon() );
|
|
%Docstring
|
|
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.
|
|
|
|
.. seealso:: :py:func:`allowEmptyLayer`
|
|
%End
|
|
|
|
bool allowEmptyLayer() const;
|
|
%Docstring
|
|
Returns ``True`` if the combo box allows the empty layer ("not set")
|
|
choice.
|
|
|
|
.. seealso:: :py:func:`setAllowEmptyLayer`
|
|
%End
|
|
|
|
void setShowCrs( bool showCrs );
|
|
%Docstring
|
|
Sets whether the CRS of layers is also included in the combo box text.
|
|
|
|
.. seealso:: :py:func:`showCrs`
|
|
%End
|
|
|
|
bool showCrs() const;
|
|
%Docstring
|
|
Returns ``True`` if the combo box shows the layer's CRS.
|
|
|
|
.. seealso:: :py:func:`setShowCrs`
|
|
%End
|
|
|
|
void setAdditionalItems( const QStringList &items );
|
|
%Docstring
|
|
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 project, or paths to layers which have not yet
|
|
been loaded into QGIS.
|
|
|
|
.. seealso:: :py:func:`additionalItems`
|
|
%End
|
|
|
|
QStringList additionalItems() const;
|
|
%Docstring
|
|
Returns the list of additional (non map layer) items included at the end
|
|
of the combo box.
|
|
|
|
.. seealso:: :py:func:`setAdditionalItems`
|
|
%End
|
|
|
|
void setAdditionalLayers( const QList<QgsMapLayer *> &layers );
|
|
%Docstring
|
|
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.
|
|
|
|
.. seealso:: :py:func:`additionalLayers`
|
|
|
|
.. versionadded:: 3.22
|
|
%End
|
|
|
|
QList<QgsMapLayer *> additionalLayers() const;
|
|
%Docstring
|
|
Returns the list of additional layers added to the combobox.
|
|
|
|
.. seealso:: :py:func:`setAdditionalLayers`
|
|
|
|
.. versionadded:: 3.22
|
|
%End
|
|
|
|
QgsMapLayer *currentLayer() const;
|
|
%Docstring
|
|
Returns the current layer selected in the combo box.
|
|
|
|
.. seealso:: :py:func:`layer`
|
|
%End
|
|
|
|
QgsMapLayer *layer( int layerIndex ) const;
|
|
%Docstring
|
|
Returns the layer currently shown at the specified index within the
|
|
combo box.
|
|
|
|
:param layerIndex: position of layer to return
|
|
|
|
.. seealso:: :py:func:`currentLayer`
|
|
%End
|
|
|
|
public slots:
|
|
|
|
void setLayer( QgsMapLayer *layer );
|
|
%Docstring
|
|
Sets the current ``layer`` selected in the combo box.
|
|
%End
|
|
|
|
signals:
|
|
void layerChanged( QgsMapLayer *layer );
|
|
%Docstring
|
|
Emitted whenever the currently selected layer changes.
|
|
%End
|
|
|
|
protected:
|
|
virtual void dragEnterEvent( QDragEnterEvent *event );
|
|
|
|
virtual void dragLeaveEvent( QDragLeaveEvent *event );
|
|
|
|
virtual void dropEvent( QDropEvent *event );
|
|
|
|
virtual void paintEvent( QPaintEvent *e );
|
|
|
|
|
|
protected slots:
|
|
void indexChanged( int i );
|
|
void rowsChanged();
|
|
|
|
};
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/gui/qgsmaplayercombobox.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.py again *
|
|
************************************************************************/
|