Skip to content

Commit

Permalink
Add DXF server export params NO_MTEXT and FORCE_2D
Browse files Browse the repository at this point in the history
  • Loading branch information
m-kuhn committed Nov 29, 2019
1 parent 23fb486 commit d10ec07
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 1 deletion.
26 changes: 26 additions & 0 deletions src/server/services/wms/qgswmsparameters.cpp
Expand Up @@ -1480,6 +1480,32 @@ namespace QgsWms
return filters;
}

bool QgsWmsParameters::force2D() const
{
bool force2D = false;
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();

if ( options.contains( DxfFormatOption::FORCE_2D ) )
{
force2D = QVariant( options[ DxfFormatOption::FORCE_2D ] ).toBool();
}

return force2D;
}

bool QgsWmsParameters::noMText() const
{
bool noMText = false;
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();

if ( options.contains( DxfFormatOption::NO_MTEXT ) )
{
noMText = QVariant( options[ DxfFormatOption::NO_MTEXT ] ).toBool();
}

return noMText;
}

QList<QgsWmsParametersLayer> QgsWmsParameters::layersParameters() const
{
const QStringList layers = allLayersNickname();
Expand Down
21 changes: 20 additions & 1 deletion src/server/services/wms/qgswmsparameters.h
Expand Up @@ -349,7 +349,9 @@ namespace QgsWms
MODE,
LAYERATTRIBUTES,
USE_TITLE_AS_LAYERNAME,
CODEC
CODEC,
NO_MTEXT,
FORCE_2D
};
Q_ENUM( DxfFormatOption )

Expand Down Expand Up @@ -1309,6 +1311,22 @@ namespace QgsWms
*/
QMap<QString, QString> dimensionValues() const;

/**
* \returns true if the FORCE_MTEXT parameter is set and the DXF should
* be produced with MTEXT instead of TEXT.
*
* \since QGIS 3.12
*/
bool noMText() const;

/**
* \returns true if the FORCE_2D parameter is set and the DXF should
* be produced in 2D.
*
* \since QGIS 3.12
*/
bool force2D() const;

private:
static bool isExternalLayer( const QString &name );

Expand All @@ -1325,6 +1343,7 @@ namespace QgsWms

QMultiMap<QString, QgsWmsParametersFilter> layerFilters( const QStringList &layers ) const;


QMap<QgsWmsParameter::Name, QgsWmsParameter> mWmsParameters;
QMap<QString, QMap<QString, QString> > mExternalWMSParameters;
QList<QgsProjectVersion> mVersions;
Expand Down
7 changes: 7 additions & 0 deletions src/server/services/wms/qgswmsrenderer.cpp
Expand Up @@ -848,6 +848,13 @@ namespace QgsWms
dxf->setSymbologyScale( mWmsParameters.dxfScale() );
}

dxf->setForce2d( mWmsParameters.force2D() );
QgsDxfExport::Flags flags;
if ( mWmsParameters.noMText() )
flags.setFlag( QgsDxfExport::Flag::FlagNoMText );

dxf->setFlags( flags );

return dxf;
}

Expand Down

0 comments on commit d10ec07

Please sign in to comment.