Skip to content

Commit 41e4dea

Browse files
author
mhugent
committed
possibility to add WMS layers through plugin interface
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@8593 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 3e3d160 commit 41e4dea

File tree

6 files changed

+18
-3
lines changed

6 files changed

+18
-3
lines changed

python/gui/qgisinterface.sip

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ class QgisInterface : QObject
3939
virtual QgsVectorLayer* addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey)=0;
4040
//! Add a raster layer given a raster layer file name
4141
virtual QgsRasterLayer* addRasterLayer(QString rasterLayerPath, QString baseName = QString())=0;
42+
//! Add a WMS layer
43+
virtual QgsRasterLayer* addRasterLayer(const QString& url, const QString& layerName, const QString& providerKey, const QStringList& layers, const QStringList& styles, const QString& format, const QString& crs) = 0;
4244

4345
//! Add a project
4446
virtual bool addProject(QString theProject)=0;

src/app/qgisapp.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5216,7 +5216,7 @@ QgsRasterLayer* QgisApp::addRasterLayer(QString const & rasterFile, QString cons
52165216
\note Copied from the equivalent addVectorLayer function in this file
52175217
TODO Make it work for rasters specifically.
52185218
*/
5219-
void QgisApp::addRasterLayer(QString const & rasterLayerPath,
5219+
QgsRasterLayer* QgisApp::addRasterLayer(QString const & rasterLayerPath,
52205220
QString const & baseName,
52215221
QString const & providerKey,
52225222
QStringList const & layers,
@@ -5232,7 +5232,7 @@ void QgisApp::addRasterLayer(QString const & rasterLayerPath,
52325232

52335233
if(mMapCanvas && mMapCanvas->isDrawing())
52345234
{
5235-
return;
5235+
return 0;
52365236
}
52375237

52385238
mMapCanvas->freeze();
@@ -5278,6 +5278,7 @@ void QgisApp::addRasterLayer(QString const & rasterLayerPath,
52785278
// draw the map
52795279
mMapCanvas->freeze(false);
52805280
mMapCanvas->refresh();
5281+
return layer;
52815282

52825283
// Let render() do its own cursor management
52835284
// QApplication::restoreOverrideCursor();

src/app/qgisapp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ class QgisApp : public QMainWindow
9696
* Note this is included to support WMS layers only at this stage,
9797
* GDAL layer support via a Provider is not yet implemented.
9898
*/
99-
void addRasterLayer(QString const & rasterLayerPath,
99+
QgsRasterLayer* addRasterLayer(QString const & rasterLayerPath,
100100
QString const & baseName,
101101
QString const & providerKey,
102102
QStringList const & layers,

src/app/qgisappinterface.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ QgsRasterLayer* QgisAppInterface::addRasterLayer(QString rasterLayerPath, QStrin
7777
return qgis->addRasterLayer(rasterLayerPath, baseName);
7878
}
7979

80+
QgsRasterLayer* QgisAppInterface::addRasterLayer(const QString& url, const QString& baseName, const QString& providerKey, \
81+
const QStringList& layers, const QStringList& styles, const QString& format, const QString& crs)
82+
{
83+
return qgis->addRasterLayer(url, baseName, providerKey, layers, styles, format, crs);
84+
}
85+
8086

8187
bool QgisAppInterface::addProject(QString theProjectName)
8288
{

src/app/qgisappinterface.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ class QgisAppInterface : public QgisInterface
5454
QgsVectorLayer* addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey);
5555
//! Add a raster layer given its file name
5656
QgsRasterLayer* addRasterLayer(QString rasterLayerPath, QString baseName);
57+
//! Add a WMS layer
58+
QgsRasterLayer* addRasterLayer(const QString& url, const QString& baseName, const QString& providerKey, \
59+
const QStringList& layers, const QStringList& styles, const QString& format, const QString& crs);
5760

5861
//! Add a project
5962
bool addProject(QString theProjectName);

src/gui/qgisinterface.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,9 @@ class GUI_EXPORT QgisInterface : public QObject
7272
virtual QgsVectorLayer* addVectorLayer(QString vectorLayerPath, QString baseName, QString providerKey)=0;
7373
//! Add a raster layer given a raster layer file name
7474
virtual QgsRasterLayer* addRasterLayer(QString rasterLayerPath, QString baseName = QString())=0;
75+
//! Add a WMS layer
76+
virtual QgsRasterLayer* addRasterLayer(const QString& url, const QString& layerName, const QString& providerKey, const QStringList& layers, \
77+
const QStringList& styles, const QString& format, const QString& crs) = 0;
7578

7679
//! Add a project
7780
virtual bool addProject(QString theProject)=0;

0 commit comments

Comments
 (0)