File: qgsmaplayercombobox.sip.in

package info (click to toggle)
qgis 3.40.10%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,183,672 kB
  • sloc: cpp: 1,595,771; python: 372,544; xml: 23,474; sh: 3,761; perl: 3,664; ansic: 2,257; sql: 2,137; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 161
file content (250 lines) | stat: -rw-r--r-- 7,094 bytes parent folder | download | duplicates (8)
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   *
 ************************************************************************/