QGIS API Documentation  3.0.2-Girona (307d082)
qgspluginlayer.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgspluginlayer.cpp
3  ---------------------
4  begin : January 2010
5  copyright : (C) 2010 by Martin Dobias
6  email : wonder dot sk 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 #include "qgspluginlayer.h"
16 
17 #include "qgsmaplayerlegend.h"
18 #include "qgsmaplayerrenderer.h"
19 
20 
21 QgsPluginLayer::QgsPluginLayer( const QString &layerType, const QString &layerName )
22  : QgsMapLayer( PluginLayer, layerName )
23  , mPluginLayerType( layerType )
24 {
25  mDataProvider = new QgsPluginLayerDataProvider( layerType );
26 }
27 
29 {
30  // TODO: shall we move the responsibility of emitting the signal to plugin
31  // layer implementations before they start doing their part of cleanup...?
32  emit willBeDeleted();
33  delete mDataProvider;
34 }
35 
37 {
38  return mPluginLayerType;
39 }
40 
42 {
43  mExtent = extent;
44  static_cast<QgsPluginLayerDataProvider *>( mDataProvider )->setExtent( extent );
45 }
46 
47 void QgsPluginLayer::setSource( const QString &source )
48 {
50 }
51 
53 {
54  return mDataProvider;
55 }
56 
58 {
59  return mDataProvider;
60 }
61 
62 //
63 // QgsPluginLayerDataProvider
64 //
66 QgsPluginLayerDataProvider::QgsPluginLayerDataProvider( const QString &layerType )
67  : mName( layerType )
68 {}
69 
70 QgsCoordinateReferenceSystem QgsPluginLayerDataProvider::crs() const
71 {
73 }
74 
75 QString QgsPluginLayerDataProvider::name() const
76 {
77  return mName;
78 }
79 
80 QString QgsPluginLayerDataProvider::description() const
81 {
82  return QString();
83 }
84 
85 QgsRectangle QgsPluginLayerDataProvider::extent() const
86 {
87  return mExtent;
88 }
89 
90 bool QgsPluginLayerDataProvider::isValid() const
91 {
92  return true;
93 }
void setExtent(const QgsRectangle &extent) override
Set extent of the layer.
A rectangle specified with double values.
Definition: qgsrectangle.h:39
Base class for all map layer types.
Definition: qgsmaplayer.h:56
void willBeDeleted()
Emitted in the destructor when the layer is about to be deleted, but it is still in a perfectly valid...
Abstract base class for spatial data provider implementations.
virtual QgsRectangle extent() const
Returns the extent of the layer.
QgsRectangle mExtent
Extent of the layer.
Definition: qgsmaplayer.h:1230
QgsDataProvider * dataProvider() override
Returns the layer&#39;s data provider.
QString pluginLayerType()
Return plugin layer type (the same as used in QgsPluginLayerRegistry)
QgsDataProvider * mDataProvider
QString mDataSource
Data source description string, varies by layer type.
Definition: qgsmaplayer.h:1236
QString source() const
Returns the source for the layer.
This class represents a coordinate reference system (CRS).
QString mPluginLayerType
QgsPluginLayer(const QString &layerType, const QString &layerName=QString())
void setSource(const QString &source)
Set source string.
~QgsPluginLayer() override