QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
qgslayeritem.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayeritem.h
3 -------------------
4 begin : 2011-04-01
5 copyright : (C) 2011 Radim Blazek
6 email : radim dot blazek at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17#ifndef QGSLAYERITEM_H
18#define QGSLAYERITEM_H
19
20#include "qgis_sip.h"
21#include "qgis_core.h"
22#include "qgis.h"
23#include "qgsdataitem.h"
24#include "qgslayermetadata.h"
25
30class CORE_EXPORT QgsLayerItem : public QgsDataItem
31{
32 Q_OBJECT
33
34 public:
35
39 QgsLayerItem( QgsDataItem *parent, const QString &name, const QString &path, const QString &uri, Qgis::BrowserLayerType layerType, const QString &providerKey );
40
41#ifdef SIP_RUN
42 SIP_PYOBJECT __repr__();
43 % MethodCode
44 QString str = QStringLiteral( "<QgsLayerItem: \"%1\" %2>" ).arg( sipCpp->name(), sipCpp->path() );
45 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
46 % End
47#endif
48
49 // --- reimplemented from QgsDataItem ---
50
51 bool equal( const QgsDataItem *other ) override;
52
53 bool hasDragEnabled() const override { return true; }
54
55 QgsMimeDataUtils::UriList mimeUris() const override;
56
57 // --- New virtual methods for layer item derived classes ---
58
60 QgsMapLayerType mapLayerType() const;
61
66 static Qgis::BrowserLayerType typeFromMapLayer( QgsMapLayer *layer );
67
69 QString uri() const { return mUri; }
70
72 QString providerKey() const { return mProviderKey; }
73
78 QStringList supportedCrs() const { return mSupportedCRS; }
79
84 QStringList supportedFormats() const { return mSupportFormats; }
85
90 virtual QString comments() const { return QString(); }
91
96 static QString layerTypeAsString( Qgis::BrowserLayerType layerType );
97
102 static QString iconName( Qgis::BrowserLayerType layerType );
103
110 Q_DECL_DEPRECATED virtual bool deleteLayer() SIP_DEPRECATED;
111
112 protected:
114 QString mUri;
116 Qgis::BrowserLayerType mLayerType;
118 QStringList mSupportedCRS;
120 QStringList mSupportFormats;
121
122 public:
123
128 static QIcon iconForWkbType( QgsWkbTypes::Type type );
129
130 static QIcon iconPoint();
131 static QIcon iconLine();
132 static QIcon iconPolygon();
133 static QIcon iconTable();
134 static QIcon iconRaster();
135 static QIcon iconDefault();
137 static QIcon iconMesh();
139 static QIcon iconVectorTile();
141 static QIcon iconPointCloud();
143 virtual QString layerName() const { return name(); }
145
151 const QgsLayerMetadata &layerMetadata() const;
152
157 void setLayerMetadata( const QgsLayerMetadata &metadata );
158
159 private:
160
161 QgsLayerMetadata mLayerMetadata;
162
163};
164
165#endif // QGSLAYERITEM_H
166
167
The Qgis class provides global constants for use throughout the application.
Definition: qgis.h:72
BrowserLayerType
Browser item layer types.
Definition: qgis.h:403
The QgsAbstractDatabaseProviderConnection class provides common functionality for DB based connection...
Base class for all items in the model.
Definition: qgsdataitem.h:46
virtual QgsAbstractDatabaseProviderConnection * databaseConnection() const
For data items that represent a DB connection or one of its children, this method returns a connectio...
QString name() const
Returns the name of the item (the displayed text for the item).
Definition: qgsdataitem.h:345
virtual QgsMimeDataUtils::UriList mimeUris() const
Returns mime URIs for the data item, most data providers will only return a single URI but some data ...
QString mProviderKey
Definition: qgsdataitem.h:450
virtual bool equal(const QgsDataItem *other)
Returns true if this item is equal to another item (by testing item type and path).
Item that represents a layer that can be opened with one of the providers.
Definition: qgslayeritem.h:31
QStringList supportedFormats() const
Returns the supported formats.
Definition: qgslayeritem.h:84
QString uri() const
Returns layer uri or empty string if layer cannot be created.
Definition: qgslayeritem.h:69
QStringList supportedCrs() const
Returns the supported CRS.
Definition: qgslayeritem.h:78
virtual QString comments() const
Returns comments of the layer.
Definition: qgslayeritem.h:90
QString providerKey() const
Returns provider key.
Definition: qgslayeritem.h:72
bool hasDragEnabled() const override
Returns true if the item may be dragged.
Definition: qgslayeritem.h:53
A structured metadata store for a map layer.
Base class for all map layer types.
Definition: qgsmaplayer.h:73
QList< QgsMimeDataUtils::Uri > UriList
Handles storage of information regarding WKB types and their properties.
Definition: qgswkbtypes.h:42
QgsMapLayerType
Types of layers that can be added to a map.
Definition: qgis.h:47
#define str(x)
Definition: qgis.cpp:37
#define SIP_DEPRECATED
Definition: qgis_sip.h:106