QGIS API Documentation 3.41.0-Master (af5edcb665c)
Loading...
Searching...
No Matches
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
31class CORE_EXPORT QgsPluginLayer : public QgsMapLayer
32{
33 Q_OBJECT
34
35 public:
36 QgsPluginLayer( const QString &layerType, const QString &layerName = QString() );
37 ~QgsPluginLayer() override;
38
39#ifdef SIP_RUN
40 SIP_PYOBJECT __repr__();
41 % MethodCode
42 QString str = QStringLiteral( "<QgsPluginLayer: '%1'>" ).arg( sipCpp->name() );
43 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
44 % End
45#endif
46
51 QgsPluginLayer *clone() const override = 0;
52
54 QString pluginLayerType();
55
57 void setExtent( const QgsRectangle &extent ) override;
58
62 void setSource( const QString &source );
63
64 QgsDataProvider *dataProvider() override;
65 const QgsDataProvider *dataProvider() const override SIP_SKIP;
66
71 virtual QIcon icon() const;
72
73 protected:
74 QString mPluginLayerType;
75 QgsDataProvider *mDataProvider;
76};
77
78#ifndef SIP_RUN
80
84class QgsPluginLayerDataProvider : public QgsDataProvider
85{
86 Q_OBJECT
87
88 public:
89 QgsPluginLayerDataProvider( const QString &layerType,
90 const QgsDataProvider::ProviderOptions &providerOptions,
92 void setExtent( const QgsRectangle &extent ) { mExtent = extent; }
93 QgsCoordinateReferenceSystem crs() const override;
94 QString name() const override;
95 QString description() const override;
96 QgsRectangle extent() const override;
97 bool isValid() const override;
98
99 private:
100 QString mName;
101 QgsRectangle mExtent;
102};
104#endif
105
106#endif // QGSPLUGINLAYER_H
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
Definition qgis.h:450
This class represents a coordinate reference system (CRS).
Abstract base class for spatial data provider implementations.
Base class for all map layer types.
Definition qgsmaplayer.h:76
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.