QGIS API Documentation  2.99.0-Master (19b062c)
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 
29 class GUI_EXPORT QgsSublayersDialog : public QDialog, private Ui::QgsSublayersDialogBase
30 {
31  Q_OBJECT
32  public:
33 
35  {
36  Ogr,
38  Vsifile
39  };
40 
46  {
47  int layerId = -1 ;
48  QString layerName;
49  int count = -1 ;
50  QString type;
51  };
52 
57  typedef QList<QgsSublayersDialog::LayerDefinition> LayerDefinitionList;
58 
59  QgsSublayersDialog( ProviderType providerType,
60  const QString &name,
61  QWidget *parent SIP_TRANSFERTHIS = nullptr,
62  Qt::WindowFlags fl = 0 );
63 
65 
70  void populateLayerTable( const LayerDefinitionList &list );
71 
76  LayerDefinitionList selection();
77 
82  void setShowAddToGroupCheckbox( bool showAddToGroupCheckbox ) { mShowAddToGroupCheckbox = showAddToGroupCheckbox; }
83 
88  bool showAddToGroupCheckbox() const { return mShowAddToGroupCheckbox; }
89 
94  bool addToGroupCheckbox() const { return mCheckboxAddToGroup->isChecked(); }
95 
100  int countColumn() const { return mShowCount ? 2 : -1; }
101 
102  public slots:
103  int exec();
104 
105  protected:
106  QString mName;
107  QStringList mSelectedSubLayers;
108  bool mShowCount = false;
109  bool mShowType = false;
110 
111  private:
112 
113  bool mShowAddToGroupCheckbox = false;
114  QCheckBox *mCheckboxAddToGroup = nullptr;
115 };
116 
117 #endif
QString layerName
Name of the layer (not necessarily unique)
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
QList< QgsSublayersDialog::LayerDefinition > LayerDefinitionList
List of layer definitions for the purpose of this dialog.
QStringList mSelectedSubLayers
bool showAddToGroupCheckbox() const
If we should display the add to group checkbox.
void setShowAddToGroupCheckbox(bool showAddToGroupCheckbox)
Set if we should display the add to group checkbox.
QString type
Extra type depending on the use (e.g. geometry type for vector sublayers)
bool addToGroupCheckbox() const
If we should add layers in a group.
int countColumn() const
Return column with count or -1.
A structure that defines layers for the purpose of this dialog.