QGIS API Documentation 3.41.0-Master (d5b93354e9c)
Loading...
Searching...
No Matches
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
34class QgsDataProvider;
35class QButtonGroup;
37class QDomDocument;
38class QDomElement;
40
41
52class GUI_EXPORT QgsOWSSourceSelect : public QgsAbstractDataSourceWidget, protected Ui::QgsOWSSourceSelectBase
53{
54 Q_OBJECT
55
56 public:
59 {
60 QString format;
61 QString label;
62 };
63
65 QgsOWSSourceSelect( const QString &service, QWidget *parent SIP_TRANSFERTHIS = nullptr, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags, QgsProviderRegistry::WidgetMode widgetMode = QgsProviderRegistry::WidgetMode::Standalone );
66
68 void refresh() override;
69
70 void reset() override;
71
72 void setMapCanvas( QgsMapCanvas *mapCanvas ) override;
73
74
75 protected slots:
77 void showError( const QString &title, const QString &format, const QString &error );
78
80 void showStatusMessage( const QString &message );
81
82 protected:
87 virtual QList<QgsOWSSourceSelect::SupportedFormat> providerFormats();
88
90 virtual QStringList selectedLayersFormats();
91
93 virtual QStringList selectedLayersCrses();
94
96 virtual QStringList selectedLayersTimes();
97
98 //virtual QStringList layerCRS( int id );
99
101 void populateConnectionList();
102
104 void populateFormats();
105
107 void clearFormats();
108
110 void populateCrs();
111
113 void clearCrs();
114
116 void populateTimes();
117
119 void clearTimes();
120
122 QString connName();
123
125 QString connectionInfo();
126
128 void setConnectionListPosition();
129
131 void addDefaultServers();
132
134 QString mService;
135
139 virtual void populateLayerList();
140
145 QgsTreeWidgetItem *createItem( int id, const QStringList &names, QMap<int, QgsTreeWidgetItem *> &items, int &layerAndStyleCount, const QMap<int, int> &layerParents, const QMap<int, QStringList> &layerParentNames ) SIP_FACTORY SIP_SKIP;
146
148 QString descriptionForAuthId( const QString &authId );
149
152
153 QMap<QString, QString> mCrsNames;
154
155 virtual void enableLayersForCrs( QTreeWidgetItem *item );
156
158 QString selectedFormat();
159
161 QString selectedCrs();
162
164 QString selectedTime();
165
167 QNetworkRequest::CacheLoadControl selectedCacheLoadControl();
168
176 void prepareExtent();
177
178 QList<QTreeWidgetItem *> mCurrentSelection;
179 QTableWidgetItem *mCurrentTileset = nullptr;
180
182 QString mConnName;
183
186
189
190 private slots:
191
193 void mNewButton_clicked();
195 void mEditButton_clicked();
197 void mDeleteButton_clicked();
199 void mSaveButton_clicked();
201 void mLoadButton_clicked();
202
207 void mConnectButton_clicked();
208
210 void mChangeCRSButton_clicked();
211
213 virtual void mLayersTreeWidget_itemSelectionChanged();
214
216 void mConnectionsComboBox_activated( int );
217
219 void mAddDefaultButton_clicked();
220
221
222 private:
224 QString mSelectedCRS;
225
227 QSet<QString> mSelectedLayersCRSs;
228
230 QList<SupportedFormat> mProviderFormats;
231
233 QMap<QString, QString> mMimeLabelMap;
234
235 private slots:
236 void mTilesetsTableWidget_itemClicked( QTableWidgetItem *item );
237 void mLayerUpButton_clicked();
238 void mLayerDownButton_clicked();
239 virtual void updateButtons();
240};
241
242#endif // QGSOWSSOURCESELECT_H
Abstract base Data Source Widget to create connections and add layers This class provides common func...
virtual void setMapCanvas(QgsMapCanvas *mapCanvas)
Sets the dialog map canvas.
virtual void refresh()
Triggered when the provider's connections need to be refreshed The default implementation does nothin...
virtual void reset()
Called when this source select widget is being shown in a "new and clean" dialog.
Abstract base class for spatial data provider implementations.
Class for storing the component parts of a RDBMS data source URI (e.g.
Map canvas is a class for displaying all GIS data types on a canvas.
Dialog to create connections and add layers WCS etc.
QString mService
Service name.
QString mLastLayerName
layer name derived from latest layer selection (updated as long it's not edited manually)
QString mConnName
Name for selected connection.
QgsDataSourceUri mUri
URI for selected connection.
QString mConnectionInfo
Connection info for selected connection.
QList< QTreeWidgetItem * > mCurrentSelection
QMap< QString, QString > mCrsNames
This widget sets and updates OWS layers source URI.
WidgetMode
Different ways a source select dialog can be used.
@ Standalone
Basic mode when the widget is used as a standalone dialog.
QTreeWidgetItem subclass with custom handling for item sorting.
#define SIP_TRANSFERTHIS
Definition qgis_sip.h:53
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_FACTORY
Definition qgis_sip.h:76
Formats supported by provider.