20 #ifndef QGSWMSRENDERER_H 
   21 #define QGSWMSRENDERER_H 
   28 #include "qgseditformconfig.h" 
   29 #include <QDomDocument> 
   49 class QgsAttributeEditorElement;
 
   50 class QgsEditFormConfig;
 
  110       typedef QHash<QgsVectorLayer *, SymbolSet> 
HitTest;
 
  130       std::unique_ptr<QgsDxfExport> 
getDxf();
 
  153       QList<QgsMapLayer *> highlightLayers( QList<QgsWmsParametersHighlightLayer> params );
 
  156       QPainter *layersRendering( 
const QgsMapSettings &mapSettings, QImage &image ) 
const;
 
  159       void annotationsRendering( QPainter *painter, 
const QgsMapSettings &mapSettings ) 
const;
 
  162       void setLayerOpacity( 
QgsMapLayer *layer, 
int opacity ) 
const;
 
  165       void setLayerFilter( 
QgsMapLayer *layer, 
const QList<QgsWmsParametersFilter> &filters );
 
  170       void setLayerAccessControlFilter( 
QgsMapLayer *layer ) 
const;
 
  173       void setLayerSelection( 
QgsMapLayer *layer, 
const QStringList &fids ) 
const;
 
  179       QImage *scaleImage( 
const QImage *image ) 
const;
 
  187       QImage *createImage( 
const QSize &size ) 
const;
 
  196       void configureMapSettings( 
const QPaintDevice *paintDevice, 
QgsMapSettings &mapSettings, 
bool mandatoryCrsParam = 
true ) 
const;
 
  198       QDomDocument featureInfoDocument( QList<QgsMapLayer *> &layers, 
const QgsMapSettings &mapSettings,
 
  199                                         const QImage *outputImage, 
const QString &version ) 
const;
 
  219                                        QDomDocument &infoDocument,
 
  220                                        QDomElement &layerElement,
 
  223                                        const QString &version,
 
  238       void writeAttributesTabGroup( 
const QgsAttributeEditorElement *group, 
QgsVectorLayer *layer, 
const QgsFields &fields, 
QgsAttributes &featureAttributes, QDomDocument &doc, QDomElement &featureElem, 
QgsRenderContext &renderContext, QStringList *attributes = 
nullptr ) 
const;
 
  251       void writeAttributesTabLayout( QgsEditFormConfig &config, 
QgsVectorLayer *layer, 
const QgsFields &fields, 
QgsAttributes &featureAttributes, QDomDocument &doc, QDomElement &featureElem, 
QgsRenderContext &renderContext, QStringList *attributes = 
nullptr ) 
const;
 
  270                                        QDomDocument &infoDocument,
 
  271                                        QDomElement &layerElement,
 
  272                                        const QString &version ) 
const;
 
  283       bool testFilterStringSafety( 
const QString &filter ) 
const;
 
  285       static void groupStringList( QStringList &list, 
const QString &groupString );
 
  288       void convertFeatureInfoToSia2045( QDomDocument &doc ) 
const;
 
  291       QByteArray convertFeatureInfoToHtml( 
const QDomDocument &doc ) 
const;
 
  294       QByteArray convertFeatureInfoToText( 
const QDomDocument &doc ) 
const;
 
  297       QByteArray convertFeatureInfoToJson( 
const QList<QgsMapLayer *> &layers, 
const QDomDocument &doc ) 
const;
 
  299       QDomElement createFeatureGML(
 
  308         QStringList *attributes = 
nullptr ) 
const;
 
  311       static QString replaceValueMapAndRelation( 
QgsVectorLayer *vl, 
int idx, 
const QVariant &attributeVal );
 
  324       void removeTemporaryLayers();
 
  326       void handlePrintErrors( 
const QgsLayout *layout ) 
const;
 
  328       void setLayerStyle( 
QgsMapLayer *layer, 
const QString &style ) 
const;
 
  330       void setLayerSld( 
QgsMapLayer *layer, 
const QDomElement &sld ) 
const;
 
  337       QList<QgsMapLayer *> mTemporaryLayers;
 
A helper class that centralizes restrictions given by all the access control filter plugins.
This class represents a coordinate reference system (CRS).
Exports QGIS layers to the DXF format.
A feature filter provider allowing to set filter expressions on a per-layer basis.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Container of fields for a vector layer.
A geometry is the spatial representation of a feature.
Layer tree group node serves as a container for layers and further groups.
The QgsLegendRendererItem class is abstract interface for legend items returned from QgsMapLayerLegen...
The QgsLayerTreeModel class is model implementation for Qt item views framework.
Namespace with helper functions for layer tree operations.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
The QgsLegendSettings class stores the appearance and layout settings for legend drawing with QgsLege...
Base class for all map layer types.
The QgsMapSettings class contains configuration for rendering of the map.
A class to represent a 2D point.
Print layout, a QgsLayout subclass for static or atlas-based layouts.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Represents a raster layer.
A rectangle specified with double values.
Contains information about the context of a rendering operation.
QgsServerInterface Class defining interfaces exposed by QGIS Server and made available to plugins.
Represents a vector layer which manages a vector based data sets.
Map renderer for WMS requests.
QgsRenderer(const QgsWmsRenderContext &context)
Constructor for QgsRenderer.
QHash< QgsVectorLayer *, SymbolSet > HitTest
QByteArray getPrint()
Returns printed page as binary.
HitTest symbols()
Returns the hit test according to the current context.
std::unique_ptr< QgsDxfExport > getDxf()
Returns the map as DXF data.
QSet< QString > SymbolSet
void configureLayers(QList< QgsMapLayer * > &layers, QgsMapSettings *settings=nullptr)
Configures layers for rendering optionally considering the map settings.
QJsonObject getLegendGraphicsAsJson(QgsLayerTreeModel &model)
Returns the map legend as a JSON object.
QByteArray getFeatureInfo(const QString &version="1.3.0")
Creates an xml document that describes the result of the getFeatureInfo request.
QImage * getLegendGraphics(QgsLayerTreeModel &model)
Returns the map legend as an image (or nullptr in case of error).
QImage * getMap()
Returns the map as an image (or nullptr in case of error).
~QgsRenderer()
Destructor for QgsRenderer.
Provides an interface to retrieve and manipulate WMS parameters received from the client.
Rendering context for the WMS renderer.
Median cut implementation.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
const QgsCoordinateReferenceSystem & crs