QGIS API Documentation 3.32.0-Lima (311a8cb8a6)
qgssublayersdialog.h
Go to the documentation of this file.
1/***************************************************************************
2 qgssublayersdialog.h - dialog for selecting sublayers
3 ---------------------
4 begin : January 2009
5 copyright : (C) 2009 by Florian El Ahdab
6 email : felahdab at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
16#ifndef QGSSUBLAYERSDIALOG_H
17#define QGSSUBLAYERSDIALOG_H
18
19#include <QDialog>
20#include <QCheckBox>
21#include "ui_qgssublayersdialogbase.h"
22#include "qgis_sip.h"
23#include "qgis_gui.h"
24#include "qgis.h"
25
31class GUI_EXPORT QgsSublayersDialog : public QDialog, private Ui::QgsSublayersDialogBase
32{
33 Q_OBJECT
34 public:
35
41 {
42
47
52
57
61 PromptLoadAll
62 };
63 Q_ENUM( PromptMode )
64
66 {
70 Mdal
71 };
72
78 {
80 int layerId = -1;
81
83 QString layerName;
84
86 int count = -1;
87
89 QString type;
90
96 QString description;
97 };
98
103 typedef QList<QgsSublayersDialog::LayerDefinition> LayerDefinitionList;
104
106
118 Q_DECL_DEPRECATED QgsSublayersDialog( ProviderType providerType,
119 const QString &name,
120 QWidget *parent SIP_TRANSFERTHIS = nullptr,
121 Qt::WindowFlags fl = Qt::WindowFlags(),
122 const QString &dataSourceUri = QString() ) SIP_DEPRECATED;
123
124 ~QgsSublayersDialog() override;
125
130 void populateLayerTable( const LayerDefinitionList &list );
131
136 LayerDefinitionList selection();
137
142 void setShowAddToGroupCheckbox( bool showAddToGroupCheckbox ) { mShowAddToGroupCheckbox = showAddToGroupCheckbox; }
143
148 bool showAddToGroupCheckbox() const { return mShowAddToGroupCheckbox; }
149
154 bool addToGroupCheckbox() const { return mCbxAddToGroup->isChecked(); }
155
160 int countColumn() const { return mShowCount ? 2 : -1; }
161
162 public slots:
163 int exec() override;
164
165 private slots:
166 void layersTable_selectionChanged( const QItemSelection &, const QItemSelection & );
167 void mBtnDeselectAll_pressed();
168
169 protected:
170
174 QString mName;
176
178 bool mShowCount = false;
180 bool mShowType = false;
182 bool mShowDescription = false;
183
184 private:
186 bool mShowAddToGroupCheckbox = false;
187};
188
189#endif
QList< QgsSublayersDialog::LayerDefinition > LayerDefinitionList
List of layer definitions for the purpose of this dialog.
PromptMode
Prompt behavior of the QgsSublayersDialog.
@ PromptNever
never prompt, will not load anything
@ PromptAlways
always ask if there are existing sublayers
@ PromptIfNeeded
always ask if there are existing sublayers, but skip if there are bands for rasters
bool showAddToGroupCheckbox() const
If we should display the add to group checkbox.
QStringList mSelectedSubLayers
int countColumn() const
Returns column with count or -1.
bool addToGroupCheckbox() const
If we should add layers in a group.
QString mName
Provider type name.
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53
A structure that defines layers for the purpose of this dialog.
QString layerName
Name of the layer (not necessarily unique)
QString type
Extra type depending on the use (e.g. geometry type for vector sublayers)