1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250
|
/************************************************************************
* 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/;
%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 *
************************************************************************/
|