QGIS API Documentation 3.99.0-Master (26c88405ac0)
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 "qgsdataprovider.h"
20#include "qgsmaplayer.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() const;
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:
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:486
Represents a coordinate reference system (CRS).
Abstract base class for spatial data provider implementations.
QString name
Definition qgsmaplayer.h:84
virtual QgsRectangle extent() const
Returns the extent of the layer.
QString source() const
Returns the source for the layer.
QgsCoordinateReferenceSystem crs
Definition qgsmaplayer.h:87
QgsMapLayer(Qgis::LayerType type=Qgis::LayerType::Vector, const QString &name=QString(), const QString &source=QString())
Constructor for QgsMapLayer.
QgsMapLayer::LayerFlags flags
Definition qgsmaplayer.h:96
virtual void setExtent(const QgsRectangle &rect)
Sets the extent.
virtual Q_INVOKABLE QgsDataProvider * dataProvider()
Returns the layer's data provider, it may be nullptr.
QgsPluginLayer(const QString &layerType, const QString &layerName=QString())
void setSource(const QString &source)
Set source string.
QString mPluginLayerType
QString pluginLayerType() const
Returns plugin layer type (the same as used in QgsPluginLayerRegistry).
virtual QIcon icon() const
Returns an icon for the layer.
void setExtent(const QgsRectangle &extent) override
Sets extent of the layer.
QgsDataProvider * mDataProvider
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:134
Setting options for creating vector data providers.