QGIS API Documentation 3.43.0-Master (b60ef06885e)
qgspluginlayer.h
Go to the documentation of this file.
1/***************************************************************************
2 qgspluginlayer.h
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#ifndef QGSPLUGINLAYER_H
16#define QGSPLUGINLAYER_H
17
18#include "qgis_core.h"
19#include "qgsmaplayer.h"
20#include "qgsdataprovider.h"
21
33class CORE_EXPORT QgsPluginLayer : public QgsMapLayer
34{
35 Q_OBJECT
36
37 public:
38 QgsPluginLayer( const QString &layerType, const QString &layerName = QString() );
39 ~QgsPluginLayer() override;
40
41#ifdef SIP_RUN
42 SIP_PYOBJECT __repr__();
43 % MethodCode
44 QString str = QStringLiteral( "<QgsPluginLayer: '%1'>" ).arg( sipCpp->name() );
45 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
46 % End
47#endif
48
53 QgsPluginLayer *clone() const override = 0;
54
56 QString pluginLayerType();
57
59 void setExtent( const QgsRectangle &extent ) override;
60
64 void setSource( const QString &source );
65
66 QgsDataProvider *dataProvider() override;
67 const QgsDataProvider *dataProvider() const override SIP_SKIP;
68
73 virtual QIcon icon() const;
74
75 protected:
76 QString mPluginLayerType;
77 QgsDataProvider *mDataProvider;
78};
79
80#ifndef SIP_RUN
82
86class QgsPluginLayerDataProvider : public QgsDataProvider
87{
88 Q_OBJECT
89
90 public:
91 QgsPluginLayerDataProvider( const QString &layerType,
92 const QgsDataProvider::ProviderOptions &providerOptions,
94 void setExtent( const QgsRectangle &extent ) { mExtent = extent; }
95 QgsCoordinateReferenceSystem crs() const override;
96 QString name() const override;
97 QString description() const override;
98 QgsRectangle extent() const override;
99 bool isValid() const override;
100
101 private:
102 QString mName;
103 QgsRectangle mExtent;
104};
106#endif
107
108#endif // QGSPLUGINLAYER_H
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:450
Represents a coordinate reference system (CRS).
Abstract base class for spatial data provider implementations.
Base class for all map layer types.
Definition qgsmaplayer.h:77
virtual void setExtent(const QgsRectangle &rect)
Sets the extent.
virtual Q_INVOKABLE QgsDataProvider * dataProvider()
Returns the layer's data provider, it may be nullptr.
Base class for plugin layers.
QgsPluginLayer * clone() const override=0
Returns a new instance equivalent to this one.
A rectangle specified with double values.
#define SIP_SKIP
Definition qgis_sip.h:126
const QgsCoordinateReferenceSystem & crs
Setting options for creating vector data providers.