QGIS API Documentation  3.10.0-A Coruña (6c816b4204)
qgsvectorlayerserverproperties.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvectorlayerserverproperties.h
3  ------------------
4  begin : August 23, 2019
5  copyright : (C) 2019 by René-Luc D'Hont
6  email : rldhont at 3liz 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 
18 #ifndef QGSVECTORLAYERSERVERPROPERTIES_H
19 #define QGSVECTORLAYERSERVERPROPERTIES_H
20 
21 #include "qgis_sip.h"
22 #include "qgis_core.h"
23 #include <QMap>
24 #include <QString>
25 #include <QMetaType>
26 #include <QVariant>
27 
28 class QgsVectorLayer;
29 
30 class QDomNode;
31 class QDomDocument;
32 
39 {
40  Q_GADGET
41 
42  public:
43 
49  {
51  ELEVATION
52  };
54 
55 
59  struct CORE_EXPORT WmsDimensionInfo
60  {
61 
67  {
68  AllValues = 0,
69  MinValue = 1,
70  MaxValue = 2,
71  ReferenceValue = 3,
72  };
73 
77  explicit WmsDimensionInfo( const QString &dimName,
78  const QString &dimFieldName,
79  const QString &dimEndFieldName = QString(),
80  const QString &dimUnits = QString(),
81  const QString &dimUnitSymbol = QString(),
82  const int &dimDefaultDisplayType = QgsVectorLayerServerProperties::WmsDimensionInfo::AllValues,
83  const QVariant &dimReferenceValue = QVariant() )
84  : name( dimName )
85  , fieldName( dimFieldName )
86  , endFieldName( dimEndFieldName )
87  , units( dimUnits )
88  , unitSymbol( dimUnitSymbol )
89  , defaultDisplayType( dimDefaultDisplayType )
90  , referenceValue( dimReferenceValue )
91  {}
92  QString name;
93  QString fieldName;
94  QString endFieldName;
95  QString units;
96  QString unitSymbol;
98  QVariant referenceValue;
99  };
100 
107 
112  static QMap<int, QString> wmsDimensionDefaultDisplayLabels();
113 
120  bool addWmsDimension( const QgsVectorLayerServerProperties::WmsDimensionInfo &wmsDimInfo );
121 
127  bool removeWmsDimension( const QString &wmsDimName );
128 
133  const QList<QgsVectorLayerServerProperties::WmsDimensionInfo> wmsDimensions() const;
134 
135 
140  void writeXml( QDomNode &layer_node, QDomDocument &document ) const;
141 
146  void readXml( const QDomNode &layer_node );
147 
148  private: // Private attributes
149 
150  QgsVectorLayer *mLayer = nullptr;
151 
153  QList<QgsVectorLayerServerProperties::WmsDimensionInfo> mWmsDimensions;
154 };
155 
156 #endif // QGSVECTORLAYERSERVERPROPERTIES_H
Setting to define QGIS Server WMS Dimension.
WmsDimensionInfo(const QString &dimName, const QString &dimFieldName, const QString &dimEndFieldName=QString(), const QString &dimUnits=QString(), const QString &dimUnitSymbol=QString(), const int &dimDefaultDisplayType=QgsVectorLayerServerProperties::WmsDimensionInfo::AllValues, const QVariant &dimReferenceValue=QVariant())
Constructor for WmsDimensionInfo.
DefaultDisplay
Selection behavior for QGIS Server WMS Dimension default display.
PredefinedWmsDimensionName
Predefined/Restricted WMS Dimension name.
Manages QGIS Server properties for a vector layer.
Represents a vector layer which manages a vector based data sets.