QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
qgsowssourceselect.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsowssourceselect.h - selector for WMS,WFS,WCS layers
3  -------------------
4  begin : 3 April 2005
5  original : (C) 2005 by Brendan Morley email : morb at ozemail dot com dot au
6  wms search : (C) 2009 Mathias Walker <mwa at sourcepole.ch>, Sourcepole AG
7  generalized : (C) 2012 Radim Blazek, based on qgsowsconnection.h
8 
9  ***************************************************************************/
10 
11 /***************************************************************************
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU General Public License as published by *
15  * the Free Software Foundation; either version 2 of the License, or *
16  * (at your option) any later version. *
17  * *
18  ***************************************************************************/
19 
20 #ifndef QGSOWSSOURCESELECT_H
21 #define QGSOWSSOURCESELECT_H
22 #include "ui_qgsowssourceselectbase.h"
23 #include "qgis_sip.h"
24 #include "qgsdatasourceuri.h"
25 #include "qgsguiutils.h"
26 #include "qgsproviderregistry.h"
28 
29 #include <QStringList>
30 #include <QPushButton>
31 #include <QNetworkRequest>
32 #include "qgis_gui.h"
33 
34 class QgsDataProvider;
35 class QButtonGroup;
36 class QgsTreeWidgetItem;
37 class QDomDocument;
38 class QDomElement;
39 
40 
51 class GUI_EXPORT QgsOWSSourceSelect : public QgsAbstractDataSourceWidget, protected Ui::QgsOWSSourceSelectBase
52 {
53  Q_OBJECT
54 
55  public:
58  {
59  QString format;
60  QString label;
61  };
62 
64  QgsOWSSourceSelect( const QString &service, QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::None );
65 
67  void refresh() override;
68 
69  void reset() override;
70 
71  protected slots:
73  void showError( const QString &title, const QString &format, const QString &error );
74 
76  void showStatusMessage( const QString &message );
77 
78  protected:
79 
84  virtual QList<QgsOWSSourceSelect::SupportedFormat> providerFormats();
85 
87  virtual QStringList selectedLayersFormats();
88 
90  virtual QStringList selectedLayersCrses();
91 
93  virtual QStringList selectedLayersTimes();
94 
95  //virtual QStringList layerCRS( int id );
96 
98  void populateConnectionList();
99 
101  void populateFormats();
102 
104  void clearFormats();
105 
107  void populateCrs();
108 
110  void clearCrs();
111 
113  void populateTimes();
114 
116  void clearTimes();
117 
119  QString connName();
120 
122  QString connectionInfo();
123 
125  void setConnectionListPosition();
126 
128  void addDefaultServers();
129 
131  QString mService;
132 
138  virtual void populateLayerList();
139 
144  QgsTreeWidgetItem *createItem( int id,
145  const QStringList &names,
146  QMap<int, QgsTreeWidgetItem *> &items,
147  int &layerAndStyleCount,
148  const QMap<int, int> &layerParents,
149  const QMap<int, QStringList> &layerParentNames ) SIP_FACTORY SIP_SKIP;
150 
152  QString descriptionForAuthId( const QString &authId );
153 
155  QString mLastLayerName;
156 
157  QMap<QString, QString> mCrsNames;
158 
159  virtual void enableLayersForCrs( QTreeWidgetItem *item );
160 
162  QString selectedFormat();
163 
165  QString selectedCrs();
166 
168  QString selectedTime();
169 
171  QNetworkRequest::CacheLoadControl selectedCacheLoadControl();
172 
173  QList<QTreeWidgetItem *> mCurrentSelection;
174  QTableWidgetItem *mCurrentTileset = nullptr;
175 
177  QString mConnName;
178 
181 
184 
185  private slots:
186 
188  void mNewButton_clicked();
190  void mEditButton_clicked();
192  void mDeleteButton_clicked();
194  void mSaveButton_clicked();
196  void mLoadButton_clicked();
197 
202  void mConnectButton_clicked();
203 
205  void mChangeCRSButton_clicked();
206 
208  virtual void mLayersTreeWidget_itemSelectionChanged();
209 
211  void mConnectionsComboBox_activated( int );
212 
214  void mAddDefaultButton_clicked();
215 
216 
217  private:
219  QString mSelectedCRS;
220 
222  QSet<QString> mSelectedLayersCRSs;
223 
225  QList<SupportedFormat> mProviderFormats;
226 
228  QMap<QString, QString> mMimeLabelMap;
229 
230  private slots:
231  void mTilesetsTableWidget_itemClicked( QTableWidgetItem *item );
232  void mLayerUpButton_clicked();
233  void mLayerDownButton_clicked();
234  virtual void updateButtons();
235 };
236 
237 #endif // QGSOWSSOURCESELECT_H
QgsOWSSourceSelect::mService
QString mService
Service name.
Definition: qgsowssourceselect.h:131
QgsDataSourceUri
Class for storing the component parts of a RDBMS data source URI (e.g.
Definition: qgsdatasourceuri.h:36
QgsAbstractDataSourceWidget
Abstract base Data Source Widget to create connections and add layers This class provides common func...
Definition: qgsabstractdatasourcewidget.h:43
QgsOWSSourceSelect::SupportedFormat
Formats supported by provider.
Definition: qgsowssourceselect.h:58
QgsDataProvider
Abstract base class for spatial data provider implementations.
Definition: qgsdataprovider.h:42
QgsOWSSourceSelect::mCurrentSelection
QList< QTreeWidgetItem * > mCurrentSelection
Definition: qgsowssourceselect.h:173
QgsOWSSourceSelect::mCrsNames
QMap< QString, QString > mCrsNames
Definition: qgsowssourceselect.h:157
QgsTreeWidgetItem
QTreeWidgetItem subclass with custom handling for item sorting.
Definition: qgstreewidgetitem.h:37
qgsabstractdatasourcewidget.h
QgsOWSSourceSelect::SupportedFormat::format
QString format
Definition: qgsowssourceselect.h:59
SIP_FACTORY
#define SIP_FACTORY
Definition: qgis_sip.h:76
QgsOWSSourceSelect::SupportedFormat::label
QString label
Definition: qgsowssourceselect.h:60
QgsProviderRegistry::WidgetMode
WidgetMode
Different ways a source select dialog can be used.
Definition: qgsproviderregistry.h:65
SIP_SKIP
#define SIP_SKIP
Definition: qgis_sip.h:126
qgsproviderregistry.h
qgsdatasourceuri.h
qgis_sip.h
QgsOWSSourceSelect::mConnectionInfo
QString mConnectionInfo
Connection info for selected connection.
Definition: qgsowssourceselect.h:180
QgsOWSSourceSelect::mUri
QgsDataSourceUri mUri
URI for selected connection.
Definition: qgsowssourceselect.h:183
QgsOWSSourceSelect::mConnName
QString mConnName
Name for selected connection.
Definition: qgsowssourceselect.h:177
QgsOWSSourceSelect::mLastLayerName
QString mLastLayerName
layer name derived from latest layer selection (updated as long it's not edited manually)
Definition: qgsowssourceselect.h:155
qgsguiutils.h
QgsOWSSourceSelect
Dialog to create connections and add layers WCS etc.
Definition: qgsowssourceselect.h:52
QgsAbstractDataSourceWidget::refresh
virtual void refresh()
Triggered when the provider's connections need to be refreshed The default implementation does nothin...
Definition: qgsabstractdatasourcewidget.h:61
QgsAbstractDataSourceWidget::reset
virtual void reset()
Called when this source select widget is being shown in a "new and clean" dialog.
Definition: qgsabstractdatasourcewidget.cpp:65
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:53