23#include <QRegularExpression> 
   33                                    const QVariant::Type type,
 
   34                                    const QVariant defaultValue )
 
   63      const QString msg = QString( 
"%1 ('%2') cannot be converted into a list of geometries" ).arg( 
name( 
mName ), 
toString() );
 
   77      const QString msg = QString( 
"%1 ('%2') cannot be converted into a rectangle" ).arg( 
name( 
mName ), 
toString() );
 
  100    const QUrl url = 
toUrl();
 
  107      const QString msg = QString( 
"%1 request error for %2" ).arg( 
name( 
mName ), url.toString() );
 
  147      const QString msg = QString( 
"%1 ('%2') cannot be converted into a list of colors" ).arg( 
name( 
mName ), 
toString() );
 
  161      const QString msg = QString( 
"%1 ('%2') cannot be converted into a list of int" ).arg( 
name( 
mName ), 
toString() );
 
  175      const QString msg = QString( 
"%1 ('%2') cannot be converted into a list of float" ).arg( 
name( 
mName ), 
toString() );
 
  202    const QMetaEnum metaEnum( QMetaEnum::fromType<QgsWmsParameter::Name>() );
 
  203    return metaEnum.valueToKey( 
name );
 
  208    const QMetaEnum metaEnum( QMetaEnum::fromType<QgsWmsParameter::Name>() );
 
  266    save( pIcLabelSpace );
 
  269    save( pItFontFamily );
 
  279    save( pItFontItalic );
 
  288                                        QVariant( 
"black" ) );
 
  289    save( pItFontColor );
 
  292    save( pHighlightGeom );
 
  297    save( pShowFeatureCount );
 
  300    save( pHighlightSymbol );
 
  303    save( pHighlightLabel );
 
  307                                           QVariant( 
"black" ) );
 
  308    save( pHighlightColor );
 
  311    save( pHighlightFontSize );
 
  314    save( pHighlightFontWeight );
 
  317    save( pHighlightFont );
 
  321        QVariant( 
"black" ) );
 
  322    save( pHighlightBufferColor );
 
  325    save( pHighlightBufferSize );
 
  328    save( pLabelRotation );
 
  331    save( pLabelDistance );
 
  422    save( pQueryLayers );
 
  427    save( pFeatureCount );
 
  435    save( pLayerFtFamily );
 
  440    save( pLayerFtBold );
 
  445    save( pLayerFtItalic );
 
  450    save( pLayerFtSize );
 
  454                                         QVariant( 
"black" ) );
 
  455    save( pLayerFtColor );
 
  493    save( pWmsPrecision );
 
  498    save( pTransparent );
 
  502                                    QVariant( 
"white" ) );
 
  534    save( pWithGeometry );
 
  544    save( pWithDisplayName );
 
  550                                    QVariant::StringList );
 
  560    save( pAddLayerGroups );
 
  569    if ( it != mWmsParameters.constEnd() && !it->toString().isEmpty() )
 
  571      const QString 
sldBody = it->loadUrl();
 
  581    return mWmsParameters.value( name );
 
  586    auto it = mWmsParameters.find( name );
 
  587    if ( it == mWmsParameters.end() )
 
  595  bool QgsWmsParameters::loadParameter( 
const QString &key, 
const QString &value )
 
  599    const thread_local QRegularExpression composerParamRegExp( QStringLiteral( 
"^MAP\\d+:" ), QRegularExpression::CaseInsensitiveOption );
 
  600    if ( key.contains( composerParamRegExp ) )
 
  602#if QT_VERSION < QT_VERSION_CHECK(5, 15, 2) 
  603      const int mapId = key.midRef( 3, key.indexOf( 
':' ) - 3 ).toInt();
 
  605      const int mapId = QStringView {key}.mid( 3, key.indexOf( 
':' ) - 3 ).toInt();
 
  607      const QString theKey = key.mid( key.indexOf( 
':' ) + 1 );
 
  612        QgsWmsParameter param = mWmsParameters.value( name );
 
  613        param.mValue = 
value;
 
  614        param.mMapId = mapId;
 
  616        if ( ! param.isValid() )
 
  630        auto it = mWmsParameters.find( name );
 
  631        if ( it == mWmsParameters.end() )
 
  632          it = mWmsParameters.insert( name, QgsWmsParameter() );
 
  635        if ( !it->isValid() )
 
  644        int separator = key.indexOf( QLatin1Char( 
':' ) );
 
  645        if ( separator >= 1 )
 
  647          QString 
id = key.left( separator );
 
  648          QString param = key.right( key.length() - separator - 1 );
 
  649          mExternalWMSParameters[id].insert( param, 
value );
 
  661    log( QStringLiteral( 
"WMS Request parameters:" ) );
 
  662    for ( 
auto it = mWmsParameters.constBegin(); it != mWmsParameters.constEnd(); ++it )
 
  664      const QString 
value = it->toString();
 
  666      if ( ! 
value.isEmpty() )
 
  670        if ( it->mMapId >= 0 )
 
  672          name = QStringLiteral( 
"%1:%2" ).arg( QString::number( it->mMapId ), name );
 
  675        log( QStringLiteral( 
" - %1 : %2" ).arg( name, 
value ) );
 
  680      log( QStringLiteral( 
" - VERSION : %1" ).arg( 
version() ) );
 
  683  void QgsWmsParameters::save( 
const QgsWmsParameter ¶meter, 
bool multi )
 
  687      mWmsParameters.insert( parameter.
mName, parameter );
 
  691      mWmsParameters.replace( parameter.
mName, parameter );
 
  718    if ( !srs.isEmpty() && 
crs.isEmpty() )
 
  720    else if ( srs.isEmpty() && !
crs.isEmpty() )
 
  722    else if ( !srs.isEmpty() && !
crs.isEmpty() )
 
  799      version = QStringLiteral( 
"1.3.0" );
 
  803      if ( ! 
wmtver().isEmpty() )
 
  809        version = QStringLiteral( 
"1.3.0" );
 
  819        version = QStringLiteral( 
"1.1.1" );
 
  823        version = QStringLiteral( 
"1.3.0" );
 
  834    if ( 
version().compare( QLatin1String( 
"1.1.1" ) ) == 0
 
  835         && req.compare( QLatin1String( 
"capabilities" ), Qt::CaseInsensitive ) == 0 )
 
  837      req = QStringLiteral( 
"GetCapabilities" );
 
  860    const QMetaEnum metaEnum( QMetaEnum::fromType<QgsWmsParameters::Format>() );
 
  861    return metaEnum.valueToKey( 
format );
 
  869    if ( fStr.compare( QLatin1String( 
"image/png" ), Qt::CaseInsensitive ) == 0 ||
 
  870         fStr.compare( QLatin1String( 
"png" ), Qt::CaseInsensitive ) == 0 )
 
  874    else if ( fStr.compare( QLatin1String( 
"jpg" ), Qt::CaseInsensitive ) == 0
 
  875              || fStr.compare( QLatin1String( 
"jpeg" ), Qt::CaseInsensitive ) == 0
 
  876              || fStr.compare( QLatin1String( 
"image/jpeg" ), Qt::CaseInsensitive ) == 0 )
 
  880    else if ( fStr.compare( QLatin1String( 
"image/svg" ), Qt::CaseInsensitive ) == 0 ||
 
  881              fStr.compare( QLatin1String( 
"image/svg+xml" ), Qt::CaseInsensitive ) == 0 ||
 
  882              fStr.compare( QLatin1String( 
"svg" ), Qt::CaseInsensitive ) == 0 )
 
  886    else if ( fStr.compare( QLatin1String( 
"application/pdf" ), Qt::CaseInsensitive ) == 0 ||
 
  887              fStr.compare( QLatin1String( 
"pdf" ), Qt::CaseInsensitive ) == 0 )
 
  891    else if ( fStr.compare( QLatin1String( 
"application/json" ), Qt::CaseInsensitive ) == 0 ||
 
  892              fStr.compare( QLatin1String( 
"json" ), Qt::CaseInsensitive ) == 0 )
 
  914    if ( fStr.isEmpty() )
 
  917    if ( fStr.startsWith( QLatin1String( 
"text/xml" ), Qt::CaseInsensitive ) )
 
  919    else if ( fStr.startsWith( QLatin1String( 
"text/html" ), Qt::CaseInsensitive ) )
 
  921    else if ( fStr.startsWith( QLatin1String( 
"text/plain" ), Qt::CaseInsensitive ) )
 
  923    else if ( fStr.startsWith( QLatin1String( 
"application/vnd.ogc.gml" ), Qt::CaseInsensitive ) )
 
  925    else if ( fStr.startsWith( QLatin1String( 
"application/json" ), Qt::CaseInsensitive )
 
  926              || fStr.startsWith( QLatin1String( 
"application/geo+json" ), Qt::CaseInsensitive ) )
 
  940    if ( fStr.startsWith( QLatin1String( 
"application/vnd.ogc.gml/3" ), Qt::CaseInsensitive ) )
 
 1259    font.fromString( 
"" );
 
 1275    font.fromString( 
"" );
 
 1488      const QStringList layersList { param.toStringList() };
 
 1489      for ( 
const QString &layerName : std::as_const( layersList ) )
 
 1491        if ( ! result.contains( layerName ) )
 
 1492          result.append( layerName );
 
 1502      const QStringList layersList { param.toStringList() };
 
 1503      for ( 
const QString &layerName : std::as_const( layersList ) )
 
 1505        if ( ! result.contains( layerName ) )
 
 1506          result.append( layerName );
 
 1521    return style << styles;
 
 1524  QMultiMap<QString, QgsWmsParametersFilter> QgsWmsParameters::layerFilters( 
const QStringList &layers )
 const 
 1526    const QString nsWfs2 = QStringLiteral( 
"http://www.opengis.net/fes/2.0" );
 
 1527    const QString prefixWfs2 = QStringLiteral( 
"<fes:" );
 
 1529    const QStringList rawFilters = 
filters();
 
 1530    QMultiMap<QString, QgsWmsParametersFilter> 
filters;
 
 1531    for ( 
int i = 0; 
i < rawFilters.size(); 
i++ )
 
 1533      const QString f = rawFilters[
i];
 
 1534      if ( f.startsWith( QLatin1Char( 
'<' ) ) \
 
 1535           && f.endsWith( QLatin1String( 
"Filter>" ) ) \
 
 1536           &&  
i < layers.size() )
 
 1543        if ( filter.
mFilter.contains( nsWfs2 ) \
 
 1544             || filter.
mFilter.contains( prefixWfs2 ) )
 
 1549        filters.insert( layers[
i], filter );
 
 1551      else if ( !f.isEmpty() )
 
 1555        const int colonIndex = f.indexOf( 
':' );
 
 1556        if ( colonIndex != -1 )
 
 1558          const QString layers = f.section( 
':', 0, 0 );
 
 1559          const QString filter = f.section( 
':', 1 );
 
 1560          const QStringList layersList = layers.split( 
',' );
 
 1561          for ( 
const QString &layer : layersList )
 
 1563            QgsWmsParametersFilter parametersFilter;
 
 1564            parametersFilter.
mFilter = filter;
 
 1566            filters.insert( layer, parametersFilter );
 
 1572          raiseError( QStringLiteral( 
"FILTER ('" ) + filterStr + QStringLiteral( 
"') is not properly formatted" ) );
 
 1581    bool force2D = 
false;
 
 1582    const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
 
 1584    if ( options.contains( DxfFormatOption::FORCE_2D ) )
 
 1586      force2D = QVariant( options[ DxfFormatOption::FORCE_2D ] ).toBool();
 
 1595    const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
 
 1597    if ( options.contains( DxfFormatOption::NO_MTEXT ) )
 
 1599      noMText = QVariant( options[ DxfFormatOption::NO_MTEXT ] ).toBool();
 
 1612    const QMultiMap<QString, QgsWmsParametersFilter> 
filters = layerFilters( layers );
 
 1616    QMultiMap<QString, QString> layerSelections;
 
 1617    for ( 
const QString &s : selection )
 
 1619      const QStringList splits = s.split( 
':' );
 
 1620      if ( splits.size() == 2 )
 
 1622        layerSelections.insert( splits[0], splits[1] );
 
 1627        raiseError( QStringLiteral( 
"SELECTION ('" ) + selStr + QStringLiteral( 
"') is not properly formatted" ) );
 
 1631    QList<QgsWmsParametersLayer> parameters;
 
 1632    for ( 
int i = 0; 
i < layers.size(); 
i++ )
 
 1634      QString layer = layers[
i];
 
 1642      if ( isExternalLayer( layer ) )
 
 1650        if ( 
i < styles.count() )
 
 1653        if ( 
filters.contains( layer ) )
 
 1655          auto it = 
filters.find( layer );
 
 1656          while ( it != 
filters.end() && it.key() == layer )
 
 1658            param.
mFilter.append( it.value() );
 
 1663        if ( layerSelections.contains( layer ) )
 
 1665          QMultiMap<QString, QString>::const_iterator it;
 
 1666          it = layerSelections.constFind( layer );
 
 1667          while ( it != layerSelections.constEnd() && it.key() == layer )
 
 1675      parameters.append( param );
 
 1683    QList<QgsWmsParametersHighlightLayer> params;
 
 1698    int nLayers = std::min( geoms.size(), slds.size() );
 
 1699    for ( 
int i = 0; 
i < nLayers; 
i++ )
 
 1702      param.
mName = QStringLiteral( 
"highlight_" ) + QString::number( 
i );
 
 1704      param.
mSld = slds[
i];
 
 1706      if ( 
i < labels.count() )
 
 1709      if ( 
i < colors.count() )
 
 1712      if ( 
i < sizes.count() )
 
 1715      if ( 
i < weights.count() )
 
 1718      if ( 
i < fonts.count() )
 
 1719        param.
mFont = fonts[ 
i ];
 
 1721      if ( 
i < bufferColors.count() )
 
 1724      if ( 
i < bufferSizes.count() )
 
 1727      if ( 
i < rotation.count() )
 
 1730      if ( 
i < distance.count() )
 
 1733      if ( 
i < hali.count() )
 
 1736      if ( 
i < vali.count() )
 
 1741      params.append( param );
 
 1749    auto notExternalLayer = []( 
const QString & name ) { 
return ! QgsWmsParameters::isExternalLayer( name ); };
 
 1751    QList<QgsWmsParametersExternalLayer> externalLayers;
 
 1754    QStringList::iterator rit = std::remove_if( layers.begin(), layers.end(), notExternalLayer );
 
 1756    for ( QStringList::iterator it = layers.begin(); it != rit; ++it )
 
 1758      externalLayers << externalLayerParameter( *it );
 
 1761    return externalLayers;
 
 1785    QString pMapId = QStringLiteral( 
"MAP" ) + QString::number( mapId );
 
 1812    double gridx( -1 ), gridy( -1 );
 
 1826    if ( gridx != -1 && gridy != -1 )
 
 1833    QStringList allLayers;
 
 1843    for ( 
const auto &layer : std::as_const( allLayers ) )
 
 1845      if ( isExternalLayer( layer ) )
 
 1848        layers << extParam.
mName;
 
 1863    QList<QgsWmsParametersLayer> lParams;
 
 1864    for ( 
int i = 0; 
i < layers.size(); 
i++ )
 
 1866      QString layer = layers[
i];
 
 1870      if ( 
i < styles.count() )
 
 1873      lParams.append( lParam );
 
 1878    QList<QgsWmsParametersHighlightLayer> hParams;
 
 1880    QList<QgsGeometry> geoms;
 
 1908    QList<QColor> colors;
 
 1929    QList<QColor> bufferColors;
 
 1936    QList<double> bufferSizes;
 
 1943    QList<double> rotations;
 
 1950    QList<double> distances;
 
 1971    int nHLayers = std::min( geoms.size(), slds.size() );
 
 1972    for ( 
int i = 0; 
i < nHLayers; 
i++ )
 
 1975      hParam.
mName = pMapId + QStringLiteral( 
"_highlight_" ) + QString::number( 
i );
 
 1977      hParam.
mSld = slds[
i];
 
 1979      if ( 
i < labels.count() )
 
 1982      if ( 
i < colors.count() )
 
 1985      if ( 
i < sizes.count() )
 
 1988      if ( 
i < weights.count() )
 
 1991      if ( 
i < fonts.count() )
 
 1992        hParam.
mFont = fonts[ 
i ];
 
 1994      if ( 
i < bufferColors.count() )
 
 1997      if ( 
i < bufferSizes.count() )
 
 2000      if ( 
i < rotations.count() )
 
 2003      if ( 
i < distances.count() )
 
 2006      if ( 
i < halis.count() )
 
 2009      if ( 
i < valis.count() )
 
 2012      hParams.append( hParam );
 
 2023    QString 
id { layerId };
 
 2025    for ( 
auto it = mExternalWMSParameters.cbegin(); it != mExternalWMSParameters.cend(); ++it )
 
 2027      if ( it.key().compare( 
id, Qt::CaseSensitivity::CaseInsensitive ) == 0 )
 
 2034    if ( !mExternalWMSParameters.contains( 
id ) )
 
 2040    const QMap<QString, QString> ¶mMap = mExternalWMSParameters[ id ];
 
 2041    QMap<QString, QString>::const_iterator paramIt = paramMap.constBegin();
 
 2042    for ( ; paramIt != paramMap.constEnd(); ++paramIt )
 
 2044      QString paramName = paramIt.key().toLower();
 
 2045      if ( paramName == QLatin1String( 
"layers" ) || paramName == QLatin1String( 
"styles" ) || paramName == QLatin1String( 
"opacities" ) )
 
 2047        const QStringList values = paramIt.value().split( 
',' );
 
 2048        for ( 
const QString &
value : values )
 
 2051      else if ( paramName == QLatin1String( 
"ignorereportedlayerextents" ) )
 
 2053        wmsUri.
setParam( QStringLiteral( 
"IgnoreReportedLayerExtents" ), paramIt.value() );
 
 2055      else if ( paramName == QLatin1String( 
"smoothpixmaptransform" ) )
 
 2057        wmsUri.
setParam( QStringLiteral( 
"SmoothPixmapTransform" ), paramIt.value() );
 
 2059      else if ( paramName == QLatin1String( 
"ignoregetmapurl" ) )
 
 2061        wmsUri.
setParam( QStringLiteral( 
"IgnoreGetMapUrl" ), paramIt.value() );
 
 2063      else if ( paramName == QLatin1String( 
"ignoregetfeatureinfourl" ) )
 
 2065        wmsUri.
setParam( QStringLiteral( 
"IgnoreGetFeatureInfoUrl" ), paramIt.value() );
 
 2067      else if ( paramName == QLatin1String( 
"ignoreaxisorientation" ) )
 
 2069        wmsUri.
setParam( QStringLiteral( 
"IgnoreAxisOrientation" ), paramIt.value() );
 
 2071      else if ( paramName == QLatin1String( 
"invertaxisorientation" ) )
 
 2073        wmsUri.
setParam( QStringLiteral( 
"InvertAxisOrientation" ), paramIt.value() );
 
 2075      else if ( paramName == QLatin1String( 
"dpimode" ) )
 
 2077        wmsUri.
setParam( QStringLiteral( 
"dpiMode" ), paramIt.value() );
 
 2079      else if ( paramName == QLatin1String( 
"stepwidth" ) )
 
 2081        wmsUri.
setParam( QStringLiteral( 
"stepWidth" ), paramIt.value() );
 
 2083      else if ( paramName == QLatin1String( 
"stepheight" ) )
 
 2085        wmsUri.
setParam( QStringLiteral( 
"stepHeight" ), paramIt.value() );
 
 2089        wmsUri.
setParam( paramName, paramIt.value() );
 
 2115  void QgsWmsParameters::log( 
const QString &msg )
 const 
 2120  void QgsWmsParameters::raiseError( 
const QString &msg )
 const 
 2125  QgsWmsParameter QgsWmsParameters::idParameter( 
const QgsWmsParameter::Name name, 
const int id )
 const 
 2129    for ( 
const auto ¶m : mWmsParameters.values( name ) )
 
 2131      if ( param.mMapId == 
id )
 
 2140  QgsWmsParametersExternalLayer QgsWmsParameters::externalLayerParameter( 
const QString &name )
 const 
 2142    QgsWmsParametersExternalLayer param;
 
 2151  bool QgsWmsParameters::isExternalLayer( 
const QString &name )
 
 2158    QStringList attributes;
 
 2159    const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
 
 2161    if ( options.contains( DxfFormatOption::LAYERATTRIBUTES ) )
 
 2163      attributes = options[ DxfFormatOption::LAYERATTRIBUTES ].split( 
',' );
 
 2172    const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
 
 2174    if ( options.contains( DxfFormatOption::USE_TITLE_AS_LAYERNAME ) )
 
 2176      use = QVariant( options[ DxfFormatOption::USE_TITLE_AS_LAYERNAME ] ).toBool();
 
 2184    const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
 
 2187    if ( options.contains( DxfFormatOption::SCALE ) )
 
 2189      scale = options[ DxfFormatOption::SCALE ].toDouble();
 
 2197    const QMap<DxfFormatOption, QString> options = formatOptions<QgsWmsParameters::DxfFormatOption>();
 
 2201    if ( ! options.contains( DxfFormatOption::MODE ) )
 
 2206    const QString mode = options[ DxfFormatOption::MODE ];
 
 2207    if ( mode.compare( QLatin1String( 
"SymbolLayerSymbology" ), Qt::CaseInsensitive ) == 0 )
 
 2209      symbol = Qgis::FeatureSymbologyExport::PerSymbolLayer;
 
 2211    else if ( mode.compare( QLatin1String( 
"FeatureSymbology" ), Qt::CaseInsensitive ) == 0 )
 
 2213      symbol = Qgis::FeatureSymbologyExport::PerFeature;
 
 2221    QString codec = QStringLiteral( 
"ISO-8859-1" );
 
 2223    if ( formatOptions<QgsWmsParameters::DxfFormatOption>().contains( DxfFormatOption::CODEC ) )
 
 2225      codec = formatOptions<QgsWmsParameters::DxfFormatOption>()[ DxfFormatOption::CODEC ];
 
 2233    bool geoPdf = 
false;
 
 2234    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2235    if ( options.contains( PdfFormatOption::WRITE_GEO_PDF ) )
 
 2237      geoPdf = QVariant( options[PdfFormatOption::WRITE_GEO_PDF] ).toBool();
 
 2244    bool forceVector = 
false;
 
 2245    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2246    if ( options.contains( PdfFormatOption::FORCE_VECTOR_OUTPUT ) )
 
 2248      forceVector = QVariant( options[PdfFormatOption::FORCE_VECTOR_OUTPUT] ).toBool();
 
 2255    bool appendGeoref = 
true;
 
 2256    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2257    if ( options.contains( PdfFormatOption::APPEND_GEOREFERENCE ) )
 
 2259      appendGeoref = QVariant( options[PdfFormatOption::APPEND_GEOREFERENCE] ).toBool();
 
 2261    return appendGeoref;
 
 2266    bool simplify = 
true;
 
 2267    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2268    if ( options.contains( PdfFormatOption::SIMPLIFY_GEOMETRY ) )
 
 2270      simplify = QVariant( options[PdfFormatOption::SIMPLIFY_GEOMETRY] ).toBool();
 
 2277    bool exportMetadata = 
false;
 
 2278    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2279    if ( options.contains( PdfFormatOption::EXPORT_METADATA ) )
 
 2281      exportMetadata = QVariant( options[PdfFormatOption::EXPORT_METADATA] ).toBool();
 
 2283    return exportMetadata;
 
 2289    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2290    if ( options.contains( PdfFormatOption::TEXT_RENDER_FORMAT ) )
 
 2292      if ( options[PdfFormatOption::TEXT_RENDER_FORMAT].compare( QStringLiteral( 
"AlwaysText" ), Qt::CaseInsensitive ) == 0 )
 
 2294        format = Qgis::TextRenderFormat::AlwaysText;
 
 2302    bool losslessCompression = 
false;
 
 2303    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2304    if ( options.contains( PdfFormatOption::LOSSLESS_IMAGE_COMPRESSION ) )
 
 2306      losslessCompression = QVariant( options[PdfFormatOption::LOSSLESS_IMAGE_COMPRESSION] ).toBool();
 
 2308    return losslessCompression;
 
 2313    bool disableTiledRaster = 
false;
 
 2314    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2315    if ( options.contains( PdfFormatOption::DISABLE_TILED_RASTER_RENDERING ) )
 
 2317      disableTiledRaster = QVariant( options[PdfFormatOption::DISABLE_TILED_RASTER_RENDERING] ).toBool();
 
 2319    return disableTiledRaster;
 
 2324    bool useIso32000 = 
true;
 
 2325    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2326    if ( options.contains( PdfFormatOption::USE_ISO_32000_EXTENSION_FORMAT_GEOREFERENCING ) )
 
 2328      useIso32000 = QVariant( options[PdfFormatOption::USE_ISO_32000_EXTENSION_FORMAT_GEOREFERENCING] ).toBool();
 
 2335    bool useOgcGeoreferencing = 
false;
 
 2336    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2337    if ( options.contains( PdfFormatOption::USE_OGC_BEST_PRACTICE_FORMAT_GEOREFERENCING ) )
 
 2339      useOgcGeoreferencing = QVariant( options[PdfFormatOption::USE_OGC_BEST_PRACTICE_FORMAT_GEOREFERENCING] ).toBool();
 
 2341    return useOgcGeoreferencing;
 
 2347    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2348    if ( options.contains( PdfFormatOption::EXPORT_THEMES ) )
 
 2350      themes = options[PdfFormatOption::EXPORT_THEMES].split( 
',' );
 
 2357    QVector<qreal> scales;
 
 2358    const QMap<QgsWmsParameters::PdfFormatOption, QString> options = formatOptions<QgsWmsParameters::PdfFormatOption>();
 
 2359    if ( options.contains( PdfFormatOption::PREDEFINED_MAP_SCALES ) )
 
 2361      const QStringList scaleList = options[PdfFormatOption::PREDEFINED_MAP_SCALES].split( 
',' );
 
 2362      for ( 
const QString &it : std::as_const( scaleList ) )
 
 2365        qreal 
scale = it.toDouble( &ok );
 
 2368          scales.append( 
scale );
 
 2377    QMap<QString, QString> dimValues;
 
 2378    const QMetaEnum pnMetaEnum( QMetaEnum::fromType<QgsMapLayerServerProperties::PredefinedWmsDimensionName>() );
 
 2380    for ( 
const QString &key : unmanagedNames )
 
 2382      if ( key.startsWith( QLatin1String( 
"DIM_" ) ) )
 
 2386      else if ( pnMetaEnum.keyToValue( key.toUpper().toStdString().c_str() ) != -1 )
 
TextRenderFormat
Options for rendering text.
 
FeatureSymbologyExport
Options for exporting features considering their symbology.
 
@ NoSymbology
Export only data.
 
Exception thrown in case of malformed request.
 
Class for storing the component parts of a RDBMS data source URI (e.g.
 
QByteArray encodedUri() const
Returns the complete encoded URI as a byte array.
 
void setParam(const QString &key, const QString &value)
Sets a generic parameter value on the URI.
 
The QgsLegendSettings class stores the appearance and layout settings for legend drawing with QgsLege...
 
void setTitle(const QString &t)
Sets the title for the legend, which will be rendered above all legend items.
 
QgsLegendStyle & rstyle(QgsLegendStyle::Style s)
Returns modifiable reference to the style for a legend component.
 
void setBoxSpace(double s)
Sets the legend box space (in millimeters), which is the empty margin around the inside of the legend...
 
void setSymbolSize(QSizeF s)
Sets the default symbol size (in millimeters) used for legend items.
 
QgsTextFormat & textFormat()
Returns the text format used for rendering this legend component.
 
void setMargin(Side side, double margin)
Sets the margin (in mm) for the specified side of the component.
 
@ Group
Legend group title.
 
@ Subgroup
Legend subgroup title.
 
@ SymbolLabel
Symbol label (excluding icon)
 
void setTextFormat(const QgsTextFormat &format)
Sets the text format used for rendering this legend component.
 
static void logMessage(const QString &message, const QString &tag=QString(), Qgis::MessageLevel level=Qgis::MessageLevel::Warning, bool notifyUser=true)
Adds a message to the log instance (and creates it if necessary).
 
A class to describe the version of a project.
 
A rectangle specified with double values.
 
bool isEmpty() const
Returns true if the rectangle is empty.
 
Definition of a parameter with basic conversion methods.
 
QList< QgsGeometry > toGeomList(bool &ok, char delimiter=',') const
Converts the parameter into a list of geometries.
 
QString loadUrl(bool &ok) const
Loads the data associated to the parameter converted into an url.
 
QUrl toUrl(bool &ok) const
Converts the parameter into an url.
 
QString toString(bool defaultValue=false) const
Converts the parameter into a string.
 
QList< double > toDoubleList(bool &ok, char delimiter=',') const
Converts the parameter into a list of doubles.
 
QStringList toStringList(char delimiter=',', bool skipEmptyParts=true) const
Converts the parameter into a list of strings.
 
virtual bool isValid() const
Returns true if the parameter is valid, false otherwise.
 
QString typeName() const
Returns the type of the parameter as a string.
 
static void raiseError(const QString &msg)
Raises an exception in case of an invalid parameters.
 
int toInt(bool &ok) const
Converts the parameter into an integer.
 
QList< int > toIntList(bool &ok, char delimiter=',') const
Converts the parameter into a list of integers.
 
QColor toColor(bool &ok) const
Converts the parameter into a color.
 
double toDouble(bool &ok) const
Converts the parameter into a double.
 
QgsRectangle toRectangle(bool &ok) const
Converts the parameter into a rectangle.
 
QList< QColor > toColorList(bool &ok, char delimiter=',') const
Converts the parameter into a list of colors.
 
QgsServerParameters provides an interface to retrieve and manipulate global parameters received from ...
 
virtual QString request() const
Returns REQUEST parameter as a string or an empty string if not defined.
 
QUrlQuery urlQuery() const
Returns a url query with underlying parameters.
 
QMap< QString, QString > mUnmanagedParameters
 
void load(const QUrlQuery &query)
Loads new parameters.
 
virtual QString version() const
Returns VERSION parameter as a string or an empty string if not defined.
 
QString value(const QString &key) const
Returns the value of a parameter.
 
void setColor(const QColor &color)
Sets the color that text will be rendered in.
 
static QgsTextFormat fromQFont(const QFont &font)
Returns a text format matching the settings from an input font.
 
@ QGIS_InvalidParameterValue
 
WMS parameter received from the client.
 
int toInt() const
Converts the parameter into an integer.
 
QList< double > toDoubleList(const char delimiter=',') const
Converts the parameter into a list of doubles.
 
QList< QColor > toColorList(const char delimiter=',') const
Converts the parameter into a list of colors.
 
double toDouble() const
Converts the parameter into a double.
 
void raiseError() const
Raises an error in case of an invalid conversion.
 
Name
Available parameters for WMS requests.
 
@ HIGHLIGHT_LABELBUFFERCOLOR
 
@ HIGHLIGHT_LABEL_DISTANCE
 
@ HIGHLIGHT_LABEL_VERTICAL_ALIGNMENT
 
@ HIGHLIGHT_LABELBUFFERSIZE
 
@ HIGHLIGHT_LABEL_HORIZONTAL_ALIGNMENT
 
@ HIGHLIGHT_LABEL_ROTATION
 
QUrl toUrl() const
Converts the parameter into an url.
 
QList< QgsGeometry > toGeomList(const char delimiter=',') const
Converts the parameter into a list of geometries.
 
bool isValid() const override
Returns true if the parameter is valid, false otherwise.
 
QString name() const
Returns the name of the parameter.
 
QgsRectangle toRectangle() const
Converts the parameter into a rectangle.
 
QgsWmsParameter(const QgsWmsParameter::Name name=QgsWmsParameter::UNKNOWN, const QVariant::Type type=QVariant::String, const QVariant defaultValue=QVariant(""))
Constructor for QgsWmsParameter.
 
QColor toColor() const
Converts the parameter into a color.
 
QgsWmsParameter::Name mName
 
QList< int > toIntList(const char delimiter=',') const
Converts the parameter into a list of integers.
 
QStringList toStyleList(const char delimiter=',') const
Converts the parameter into a list of strings and keeps empty parts Default style value is an empty s...
 
QString loadUrl() const
Loads the data associated to the parameter converted into an url.
 
Provides an interface to retrieve and manipulate WMS parameters received from the client.
 
QString rule() const
Returns RULE parameter or an empty string if none is defined.
 
QString layerTitle() const
Returns LAYERTITLE parameter or an empty string if not defined.
 
double layerSpaceAsDouble() const
Returns LAYERSPACE as a double or its default value if not defined.
 
QString boxSpace() const
Returns BOXSPACE parameter or an empty string if not defined.
 
QString wmsPrecision() const
Returns WMS_PRECISION parameter or an empty string if not defined.
 
double dxfScale() const
Returns the DXF SCALE parameter.
 
QString featureCount() const
Returns FEATURE_COUNT parameter or an empty string if none is defined.
 
QFont layerFont() const
Returns the layer font (built thanks to the LAYERFONTFAMILY, LAYERFONTSIZE, LAYERFONTBOLD,...
 
QList< int > opacitiesAsInt() const
Returns the list of opacities found in OPACITIES parameter as integers.
 
bool transparentAsBool() const
Returns TRANSPARENT parameter as a bool or its default value if not defined.
 
QString transparent() const
Returns TRANSPARENT parameter or an empty string if not defined.
 
QList< int > highlightLabelWeightAsInt() const
Returns HIGHLIGHT_LABELWEIGHT as a list of int.
 
QString iconLabelSpace() const
Returns ICONLABELSPACE parameter or an empty string if not defined.
 
QString layerTitleSpace() const
Returns LAYERTITLESPACE parameter or an empty string if not defined.
 
QString x() const
Returns X parameter or an empty string if not defined.
 
QString layerSpace() const
Returns LAYERSPACE parameter or an empty string if not defined.
 
int wmsPrecisionAsInt() const
Returns WMS_PRECISION parameter as an int or its default value if not defined.
 
QStringList highlightLabelBufferSize() const
Returns HIGHLIGHT_LABELBUFFERSIZE.
 
QStringList allLayersNickname() const
Returns nickname of layers found in LAYER and LAYERS parameters.
 
QString formatAsString() const
Returns FORMAT parameter as a string.
 
double layerFontSizeAsDouble() const
Returns LAYERFONTSIZE as a double.
 
QString externalWMSUri(const QString &id) const
Returns the external WMS uri.
 
QgsProjectVersion versionAsNumber() const
Returns VERSION parameter if defined or its default value.
 
QString scale() const
Returns SCALE parameter or an empty string if none is defined.
 
QString ruleLabel() const
Returns RULELABEL parameter or an empty string if none is defined.
 
double scaleAsDouble() const
Returns SCALE as a double.
 
bool layerFontItalicAsBool() const
Returns LAYERFONTITALIC as a boolean or its default value if not defined.
 
QgsWmsParametersComposerMap composerMapParameters(int mapId) const
Returns the requested parameters for a composer map parameter.
 
QgsRectangle bboxAsRectangle() const
Returns BBOX as a rectangle if defined and valid.
 
bool withGeometry() const
Returns if the client wants the feature info response with geometry information.
 
QStringList highlightLabelString() const
Returns HIGHLIGHT_LABELSTRING as a list of string.
 
QString tiled() const
Returns TILED parameter or an empty string if not defined.
 
QString layerFontSize() const
Returns LAYERFONTSIZE parameter or an empty string if not defined.
 
QList< QColor > highlightLabelColorAsColor() const
Returns HIGHLIGHT_LABELCOLOR as a list of color.
 
bool itemFontBoldAsBool() const
Returns ITEMFONTBOLD as a boolean or its default value if not defined.
 
QStringList highlightLabelHorizontalAlignment() const
Returns HIGHLIGHT_LABEL_HORIZONTAL_ALIGNMENT as a list of string.
 
void set(QgsWmsParameter::Name name, const QVariant &value)
Sets a parameter value thanks to its name.
 
QString pointTolerance() const
Returns FI_POINT_TOLERANCE parameter or an empty string if not defined.
 
QString filterGeom() const
Returns the filter geometry found in FILTER_GEOM parameter.
 
QString composerTemplate() const
Returns TEMPLATE parameter or an empty string if not defined.
 
Format infoFormat() const
Returns infoFormat.
 
QString dxfCodec() const
Returns the DXF CODEC parameter.
 
QString y() const
Returns Y parameter or an empty string if not defined.
 
QString srcHeight() const
Returns SRCHEIGHT parameter or an empty string if not defined.
 
double dpiAsDouble() const
Returns DPI parameter as an int or its default value if not defined.
 
QStringList highlightLabelVerticalAlignment() const
Returns HIGHLIGHT_LABEL_VERTICAL_ALIGNMENT as a list of string.
 
void dump() const
Dumps parameters.
 
int pointToleranceAsInt() const
Returns FI_POINT_TOLERANCE parameter as an integer.
 
bool withMapTip() const
withMapTip
 
QString polygonTolerance() const
Returns FI_POLYGON_TOLERANCE parameter or an empty string if not defined.
 
QStringList highlightGeom() const
Returns HIGHLIGHT_GEOM as a list of string in WKT.
 
QString i() const
Returns I parameter or an empty string if not defined.
 
bool pdfLosslessImageCompression() const
Returns true if images embedded in pdf must be compressed using a lossless algorithm.
 
QList< QColor > highlightLabelBufferColorAsColor() const
Returns HIGHLIGHT_LABELBUFFERCOLOR as a list of colors.
 
QString request() const override
Returns REQUEST parameter as a string or an empty string if not defined.
 
double layerTitleSpaceAsDouble() const
Returns LAYERTITLESPACE as a double.
 
QList< QgsWmsParametersLayer > layersParameters() const
Returns parameters for each layer found in LAYER/LAYERS.
 
int lineToleranceAsInt() const
Returns FI_LINE_TOLERANCE parameter as an integer.
 
QList< double > highlightLabelBufferSizeAsFloat() const
Returns HIGHLIGHT_LABELBUFFERSIZE as a list of float.
 
QString lineTolerance() const
Returns FI_LINE_TOLERANCE parameter or an empty string if not defined.
 
bool showFeatureCountAsBool() const
Returns SHOWFEATURECOUNT as a bool.
 
QStringList pdfExportMapThemes() const
Returns map themes for GeoPDF export.
 
bool pdfUseOgcBestPracticeFormatGeoreferencing() const
Returns true if OGC best practice georeferencing shall be used.
 
QStringList highlightLabelColor() const
Returns HIGHLIGHT_LABELCOLOR as a list of string.
 
bool pdfExportMetadata() const
Returns true if metadata shall be added to the pdf.
 
bool versionIsValid(const QString version) const
Returns true if version is valid, false otherwise.
 
QString j() const
Returns J parameter or an empty string if not defined.
 
int xAsInt() const
Returns X parameter as an int or its default value if not defined.
 
QColor layerFontColorAsColor() const
Returns LAYERFONTCOLOR as a color or its defined value if not defined.
 
QString bbox() const
Returns BBOX if defined or an empty string.
 
QgsWmsParameters()
Constructor for WMS parameters with default values only.
 
int heightAsInt() const
Returns HEIGHT parameter as an int or its default value if not defined.
 
QStringList highlightLabelWeight() const
Returns HIGHLIGHT_LABELWEIGHT as a list of string.
 
QString backgroundColor() const
Returns BGCOLOR parameter or an empty string if not defined.
 
QStringList allStyles() const
Returns styles found in STYLE and STYLES parameters.
 
double symbolWidthAsDouble() const
Returns SYMBOLWIDTH as a double or its default value if not defined.
 
QColor backgroundColorAsColor() const
Returns BGCOLOR parameter as a QColor or its default value if not defined.
 
Format format() const
Returns format.
 
QgsWmsParameter operator[](QgsWmsParameter::Name name) const
Returns the parameter corresponding to name.
 
QString itemFontSize() const
Returns ITEMFONTSIZE parameter or an empty string if not defined.
 
QStringList atlasPk() const
Returns the ATLAS_PK parameter.
 
QList< QgsGeometry > highlightGeomAsGeom() const
Returns HIGHLIGHT_GEOM as a list of geometries.
 
QString layerFontFamily() const
Returns LAYERFONTFAMILY parameter or an empty string if not defined.
 
QList< QgsWmsParametersHighlightLayer > highlightLayersParameters() const
Returns parameters for each highlight layer.
 
int iAsInt() const
Returns I parameter as an int or its default value if not defined.
 
QStringList highlightLabelBufferColor() const
Returns HIGHLIGHT_LABELBUFFERCOLOR as a list of string.
 
bool pdfAppendGeoreference() const
Returns true if georeference info shall be added to the pdf.
 
int polygonToleranceAsInt() const
Returns FI_POLYGON_TOLERANCE parameter as an integer.
 
bool ruleLabelAsBool() const
Returns RULELABEL as a bool.
 
QList< double > highlightLabelDistance() const
Returns HIGHLIGHT_LABEL_DISTANCE as a list of double.
 
QList< int > highlightLabelSizeAsInt() const
Returns HIGHLIGHT_LABELSIZE as a list of int An exception is raised if an invalid size is found.
 
int widthAsInt() const
Returns WIDTH parameter as an int or its default value if not defined.
 
QString sldBody() const
Returns SLD_body if defined or an empty string.
 
bool itemFontItalicAsBool() const
Returns ITEMFONTITALIC as a boolean or its default value if not defined.
 
bool pdfDisableTiledRasterRendering() const
Returns true if rasters shall be untiled in the pdf.
 
QColor itemFontColorAsColor() const
Returns ITEMFONTCOLOR as a color.
 
double itemFontSizeAsDouble() const
Returns ITEMFONTSIZE as a double.
 
QString layerFontColor() const
Returns LAYERFONTCOLOR parameter or an empty string if not defined.
 
QString layoutParameter(const QString &id, bool &ok) const
Returns a layout parameter thanks to its id.
 
bool dxfUseLayerTitleAsName() const
Returns the DXF USE_TITLE_AS_LAYERNAME parameter.
 
QString symbolHeight() const
Returns SYMBOLHEIGHT parameter or an empty string if not defined.
 
int imageQualityAsInt() const
Returns IMAGE_QUALITY parameter as an integer.
 
bool pdfForceVectorOutput() const
Returns if pdf should be exported as vector.
 
bool pdfUseIso32000ExtensionFormatGeoreferencing() const
Returns true, if Iso32000 georeferencing shall be used.
 
QMap< QString, QString > dimensionValues() const
Returns the dimensions parameter.
 
QList< QgsWmsParametersExternalLayer > externalLayersParameters() const
Returns parameters for each external layer.
 
bool withDisplayName() const
withDisplayName
 
int infoFormatVersion() const
Returns the infoFormat version for GML.
 
QString layerFontBold() const
Returns LAYERFONTBOLD parameter or an empty string if not defined.
 
QgsLegendSettings legendSettings() const
Returns legend settings.
 
int srcHeightAsInt() const
Returns SRCHEIGHT parameter as an int or its default value if not defined.
 
QString symbolSpace() const
Returns SYMBOLSPACE parameter or an empty string if not defined.
 
QString itemFontBold() const
Returns ITEMFONTBOLD parameter or an empty string if not defined.
 
double symbolSpaceAsDouble() const
Returns SYMBOLSPACE as a double or its default value if not defined.
 
QString infoFormatAsString() const
Returns INFO_FORMAT parameter as a string.
 
QStringList highlightLabelFont() const
Returns HIGHLIGHT_LABELFONT.
 
Qgis::TextRenderFormat pdfTextRenderFormat() const
Returns text render format for pdf export.
 
QString wmtver() const
Returns WMTVER parameter or an empty string if not defined.
 
QStringList dxfLayerAttributes() const
Returns the DXF LAYERATTRIBUTES parameter.
 
QString srcWidth() const
Returns SRCWIDTH parameter or an empty string if not defined.
 
bool writeGeoPdf() const
Returns if a GeoPDF shall be exported.
 
Qgis::FeatureSymbologyExport dxfMode() const
Returns the DXF MODE parameter.
 
QStringList highlightLabelSize() const
Returns HIGHLIGHT_LABELSIZE as a list of string.
 
QString imageQuality() const
Returns IMAGE_QUALITY parameter or an empty string if not defined.
 
QList< double > highlightLabelRotation() const
Returns HIGHLIGHT_LABEL_ROTATION as a list of double.
 
QString height() const
Returns HEIGHT parameter or an empty string if not defined.
 
QString crs() const
Returns CRS or an empty string if none is defined.
 
QStringList selections() const
Returns the list of feature selection found in SELECTION parameter.
 
int featureCountAsInt() const
Returns FEATURE_COUNT as an integer.
 
int yAsInt() const
Returns Y parameter as an int or its default value if not defined.
 
bool layerTitleAsBool() const
Returns LAYERTITLE as a bool or its default value if not defined.
 
QString itemFontColor() const
Returns ITEMFONTCOLOR parameter or an empty string if not defined.
 
double boxSpaceAsDouble() const
Returns BOXSPACE as a double or its default value if not defined.
 
bool addLayerGroups() const
Returns true if layer groups shall be added to GetLegendGraphic results.
 
QString symbolWidth() const
Returns SYMBOLWIDTH parameter or an empty string if not defined.
 
bool tiledAsBool() const
Returns TILED parameter as a boolean.
 
Format
Output format for the response.
 
QString width() const
Returns WIDTH parameter or an empty string if not defined.
 
QFont itemFont() const
Returns the item font (built thanks to the ITEMFONTFAMILY, ITEMFONTSIZE, ITEMFONTBOLD,...
 
QStringList opacities() const
Returns the list of opacities found in OPACITIES parameter.
 
QString version() const override
Returns VERSION parameter as a string or an empty string if not defined.
 
QString layerFontItalic() const
Returns LAYERFONTITALIC parameter or an empty string if not defined.
 
QString itemFontItalic() const
Returns ITEMFONTITALIC parameter or an empty string if not defined.
 
QStringList filters() const
Returns the list of filters found in FILTER parameter.
 
QString dpi() const
Returns DPI parameter or an empty string if not defined.
 
QString itemFontFamily() const
Returns ITEMFONTFAMILY parameter or an empty string if not defined.
 
int jAsInt() const
Returns J parameter as an int or its default value if not defined.
 
QVector< qreal > pdfPredefinedMapScales() const
Returns list of map scales.
 
QString showFeatureCount() const
Returns SHOWFEATURECOUNT parameter or an empty string if none is defined.
 
bool pdfSimplifyGeometries() const
Returns if geometries shall to be simplified.
 
bool layerFontBoldAsBool() const
Returns LAYERFONTBOLD as a boolean or its default value if not defined.
 
double iconLabelSpaceAsDouble() const
Returns ICONLABELSPACE as a double or its default value if not defined.
 
QStringList highlightSymbol() const
Returns HIGHLIGHT_SYMBOL as a list of string.
 
QStringList queryLayersNickname() const
Returns nickname of layers found in QUERY_LAYERS parameter.
 
double symbolHeightAsDouble() const
Returns SYMBOLHEIGHT as a double or its default value if not defined.
 
bool infoFormatIsImage() const
Checks if INFO_FORMAT parameter is one of the image formats (PNG, JPG).
 
int srcWidthAsInt() const
Returns SRCWIDTH parameter as an int or its default value if not defined.
 
Median cut implementation.
 
const QString EXTERNAL_LAYER_PREFIX
 
QList< QgsWmsParametersLayer > mLayers
 
QList< QgsWmsParametersHighlightLayer > mHighlightLayers
 
QgsWmsParametersFilter::Type mType
 
QgsOgcUtils::FilterVersion mVersion
 
QList< QgsWmsParametersFilter > mFilter