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
|
/*!
* \brief Dialog to create connections and add layers from WMS, WFS, WCS etc.
*
* This dialog allows the user to define and save connection information
* for WMS servers, etc.
*
* The user can then connect and add
* layers from the WMS server to the map canvas.
*/
class QgsOWSSourceSelect : QDialog
{
%TypeHeaderCode
#include <qgsowssourceselect.h>
%End
public:
/** Formats supported by provider */
struct SupportedFormat
{
QString format;
QString label;
};
//! Constructor
QgsOWSSourceSelect( QString service, QWidget *parent = 0, Qt::WindowFlags fl = QgisGui::ModalDialogFlags, bool managerMode = false, bool embeddedMode = false );
//! Destructor
~QgsOWSSourceSelect();
public slots:
//! Opens the create connection dialog to build a new connection
void on_mNewButton_clicked();
//! Opens a dialog to edit an existing connection
void on_mEditButton_clicked();
//! Deletes the selected connection
void on_mDeleteButton_clicked();
//! Saves connections to the file
void on_mSaveButton_clicked();
//! Loads connections from the file
void on_mLoadButton_clicked();
/*! Connects to the database using the stored connection parameters.
* Once connected, available layers are displayed.
*/
void on_mConnectButton_clicked();
//! Determines the layers the user selected
virtual void addClicked();
void searchFinished();
//! Opens the Spatial Reference System dialog.
void on_mChangeCRSButton_clicked();
//! Signaled when a layer selection is changed.
virtual void on_mLayersTreeWidget_itemSelectionChanged();
//! Set status message to theMessage
void showStatusMessage( const QString &theMessage );
//! show whatever error is exposed.
void showError( const QString &theTitle, const QString &theFormat, const QString &theError );
//! Stores the selected datasource whenerver it is changed
void on_mConnectionsComboBox_activated( int );
//! Add some default wms servers to the list
void on_mAddDefaultButton_clicked();
void on_mDialogButtonBox_helpRequested();
signals:
void addRasterLayer( const QString & rasterLayerPath,
const QString & baseName,
const QString & providerKey );
void connectionsChanged();
protected:
/**
* List of image formats (encodings) supported by provider
* @return list of format/label pairs
*/
virtual QList<QgsOWSSourceSelect::SupportedFormat> providerFormats();
//! List of formats supported for currently selected layer item(s)
virtual QStringList selectedLayersFormats();
//! Server CRS supported for currently selected layer item(s)
virtual QStringList selectedLayersCRSs();
//! List of times (temporalDomain timePosition/timePeriod for currently selected layer item(s)
virtual QStringList selectedLayersTimes();
//virtual QStringList layerCRS( int id );
//! Populate the connection list combo box
void populateConnectionList();
//! Populate supported formats
void populateFormats();
//! Clear previously set formats
void clearFormats();
//! Set supported CRSs
void populateCRS();
//! Clear CRSs
void clearCRS();
//! Populate times
void populateTimes();
//! Clear times
void clearTimes();
//! Connection name
QString connName();
//! Connection info (uri)
QString connectionInfo();
//! Set the server connection combo box to that stored in the config file.
void setConnectionListPosition();
//! Add a few example servers to the list.
void addDefaultServers();
/**
* \brief Populate the layer list.
*
* \retval false if the layers could not be retrieved or parsed
*/
virtual void populateLayerList( );
//! create an item including possible parents
//! @note not available in python bindings
/*
QgsNumericSortTreeWidgetItem *createItem( int id,
const QStringList &names,
QMap<int, QgsNumericSortTreeWidgetItem *> &items,
int &layerAndStyleCount,
const QMap<int, int> &layerParents,
const QMap<int, QStringList> &layerParentNames ) /Factory/;
*/
//! Returns a textual description for the authority id
QString descriptionForAuthId( QString authId );
void addWMSListRow( const QDomElement& item, int row );
void addWMSListItem( const QDomElement& el, int row, int column );
virtual void enableLayersForCrs( QTreeWidgetItem *item );
//! Returns currently selected format
QString selectedFormat();
//! Returns currently selected Crs
QString selectedCRS();
//! Returns currently selected time
QString selectedTime();
//! Returns currently selected cache load control
QNetworkRequest::CacheLoadControl selectedCacheLoadControl();
};
|