Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Remove duplicate enum
  • Loading branch information
nyalldawson committed May 15, 2023
1 parent 82d2063 commit 888dc33
Show file tree
Hide file tree
Showing 16 changed files with 74 additions and 76 deletions.
8 changes: 8 additions & 0 deletions python/core/__init__.py.in
Expand Up @@ -134,6 +134,14 @@ QgsMapLayerType.GroupLayer.is_monkey_patched = True
QgsMapLayerType.GroupLayer.__doc__ = "Composite group layer. Added in QGIS 3.24"
QgsMapLayerType.baseClass = Qgis

# Monkey patch QgsDxfExport
QgsDxfExport.SymbologyExport = Qgis.FeatureSymbologyExport
QgsDxfExport.SymbologyExport.FeatureSymbology = Qgis.FeatureSymbologyExport.PerFeature
QgsDxfExport.SymbologyExport.SymbolLayerSymbology = Qgis.FeatureSymbologyExport.PerSymbolLayer
QgsDxfExport.NoSymbology = Qgis.FeatureSymbologyExport.NoSymbology
QgsDxfExport.FeatureSymbology = Qgis.FeatureSymbologyExport.PerFeature
QgsDxfExport.SymbolLayerSymbology = Qgis.FeatureSymbologyExport.PerSymbolLayer

GEOWKT = geoWkt()
PROJECT_SCALES = Qgis.defaultProjectScales()
GEOPROJ4 = geoProj4()
Expand Down
11 changes: 2 additions & 9 deletions python/core/auto_generated/dxf/qgsdxfexport.sip.in
Expand Up @@ -53,13 +53,6 @@ unique value.

};

enum SymbologyExport
{
NoSymbology,
FeatureSymbology,
SymbolLayerSymbology
};

enum Flag
{
FlagNoMText,
Expand Down Expand Up @@ -198,14 +191,14 @@ Returns the destination CRS, or an invalid CRS if no reprojection will be done.
.. versionadded:: 3.0
%End

void setSymbologyExport( QgsDxfExport::SymbologyExport e );
void setSymbologyExport( Qgis::FeatureSymbologyExport e );
%Docstring
Set symbology export mode

:param e: the mode
%End

QgsDxfExport::SymbologyExport symbologyExport() const;
Qgis::FeatureSymbologyExport symbologyExport() const;
%Docstring
Gets symbology export mode

Expand Down
2 changes: 1 addition & 1 deletion src/analysis/processing/qgsalgorithmdxfexport.cpp
Expand Up @@ -85,7 +85,7 @@ QVariantMap QgsDxfExportAlgorithm::processAlgorithm( const QVariantMap &paramete
mapLayers.push_back( layer.layer() );
}

const QgsDxfExport::SymbologyExport symbologyMode = static_cast< QgsDxfExport::SymbologyExport >( parameterAsInt( parameters, QStringLiteral( "SYMBOLOGY_MODE" ), context ) );
const Qgis::FeatureSymbologyExport symbologyMode = static_cast< Qgis::FeatureSymbologyExport >( parameterAsInt( parameters, QStringLiteral( "SYMBOLOGY_MODE" ), context ) );
const double symbologyScale = parameterAsDouble( parameters, QStringLiteral( "SYMBOLOGY_SCALE" ), context );
const QString encoding = parameterAsEnumString( parameters, QStringLiteral( "ENCODING" ), context );
const QgsCoordinateReferenceSystem crs = parameterAsCrs( parameters, QStringLiteral( "CRS" ), context );
Expand Down
8 changes: 4 additions & 4 deletions src/app/main.cpp
Expand Up @@ -578,7 +578,7 @@ int main( int argc, char *argv[] )
bool myCustomization = true;

QString dxfOutputFile;
QgsDxfExport::SymbologyExport dxfSymbologyMode = QgsDxfExport::SymbolLayerSymbology;
Qgis::FeatureSymbologyExport dxfSymbologyMode = Qgis::FeatureSymbologyExport::PerSymbolLayer;
double dxfScale = 50000.0;
QString dxfEncoding = QStringLiteral( "CP1252" );
QString dxfMapTheme;
Expand Down Expand Up @@ -801,15 +801,15 @@ int main( int argc, char *argv[] )
QString mode( args[++i] );
if ( mode == QLatin1String( "none" ) )
{
dxfSymbologyMode = QgsDxfExport::NoSymbology;
dxfSymbologyMode = Qgis::FeatureSymbologyExport::NoSymbology;
}
else if ( mode == QLatin1String( "symbollayer" ) )
{
dxfSymbologyMode = QgsDxfExport::SymbolLayerSymbology;
dxfSymbologyMode = Qgis::FeatureSymbologyExport::PerSymbolLayer;
}
else if ( mode == QLatin1String( "feature" ) )
{
dxfSymbologyMode = QgsDxfExport::FeatureSymbology;
dxfSymbologyMode = Qgis::FeatureSymbologyExport::PerFeature;
}
else
{
Expand Down
2 changes: 1 addition & 1 deletion src/app/qgisapp.cpp
Expand Up @@ -8425,7 +8425,7 @@ QString QgisApp::saveAsVectorFileGeneral( QgsVectorLayer *vlayer, bool symbology

if ( !symbologyOption )
{
options &= ~QgsVectorLayerSaveAsDialog::Option::Symbology;
options &= ~static_cast< int >( QgsVectorLayerSaveAsDialog::Option::Symbology );
}

QgsVectorLayerSaveAsDialog *dialog = new QgsVectorLayerSaveAsDialog( vlayer, options, this );
Expand Down
9 changes: 6 additions & 3 deletions src/app/qgsdxfexportdialog.cpp
Expand Up @@ -474,6 +474,10 @@ QgsDxfExportDialog::QgsDxfExportDialog( QWidget *parent, Qt::WindowFlags f )
setOkEnabled();
} );

mSymbologyModeComboBox->addItem( tr( "No Symbology" ), QVariant::fromValue( Qgis::FeatureSymbologyExport::NoSymbology ) );
mSymbologyModeComboBox->addItem( tr( "Feature Symbology" ), QVariant::fromValue( Qgis::FeatureSymbologyExport::PerFeature ) );
mSymbologyModeComboBox->addItem( tr( "Symbol Layer Symbology" ), QVariant::fromValue( Qgis::FeatureSymbologyExport::PerSymbolLayer ) );

//last dxf symbology mode
mSymbologyModeComboBox->setCurrentIndex( QgsProject::instance()->readEntry( QStringLiteral( "dxf" ), QStringLiteral( "/lastDxfSymbologyMode" ), settings.value( QStringLiteral( "qgis/lastDxfSymbologyMode" ), "2" ).toString() ).toInt() );

Expand Down Expand Up @@ -582,12 +586,11 @@ QString QgsDxfExportDialog::saveFile() const
}


QgsDxfExport::SymbologyExport QgsDxfExportDialog::symbologyMode() const
Qgis::FeatureSymbologyExport QgsDxfExportDialog::symbologyMode() const
{
return ( QgsDxfExport::SymbologyExport )mSymbologyModeComboBox->currentIndex();
return mSymbologyModeComboBox->currentData().value< Qgis::FeatureSymbologyExport >();
}


void QgsDxfExportDialog::setOkEnabled()
{
QPushButton *btn = buttonBox->button( QDialogButtonBox::Ok );
Expand Down
2 changes: 1 addition & 1 deletion src/app/qgsdxfexportdialog.h
Expand Up @@ -85,7 +85,7 @@ class QgsDxfExportDialog : public QDialog, private Ui::QgsDxfExportDialogBase
QList< QgsDxfExport::DxfLayer > layers() const;

double symbologyScale() const;
QgsDxfExport::SymbologyExport symbologyMode() const;
Qgis::FeatureSymbologyExport symbologyMode() const;
QString saveFile() const;
bool exportMapExtent() const;
bool layerTitleAsName() const;
Expand Down
39 changes: 27 additions & 12 deletions src/core/dxf/qgsdxfexport.cpp
Expand Up @@ -323,9 +323,17 @@ void QgsDxfExport::writeTables()
// Iterate through all layers and get symbol layer pointers
QgsRenderContext context = renderContext();
QList< QPair< QgsSymbolLayer *, QgsSymbol * > > slList;
if ( mSymbologyExport != NoSymbology )
switch ( mSymbologyExport )
{
slList = symbolLayers( context );
case Qgis::FeatureSymbologyExport::PerFeature:
case Qgis::FeatureSymbologyExport::PerSymbolLayer:
{
slList = symbolLayers( context );
break;
}

case Qgis::FeatureSymbologyExport::NoSymbology:
break;
}

// Line types
Expand Down Expand Up @@ -584,9 +592,16 @@ void QgsDxfExport::writeBlocks()

// Iterate through all layers and get symbol layer pointers
QList< QPair< QgsSymbolLayer *, QgsSymbol * > > slList;
if ( mSymbologyExport != NoSymbology )
switch ( mSymbologyExport )
{
slList = symbolLayers( ct );
case Qgis::FeatureSymbologyExport::PerFeature:
case Qgis::FeatureSymbologyExport::PerSymbolLayer:
{
slList = symbolLayers( ct );
break;
}
case Qgis::FeatureSymbologyExport::NoSymbology:
break;
}

for ( const auto &symbolLayer : std::as_const( slList ) )
Expand Down Expand Up @@ -651,7 +666,7 @@ void QgsDxfExport::writeEntities()
{
QgsSymbolRenderContext sctx( mRenderContext, Qgis::RenderUnit::Millimeters, 1.0, false, Qgis::SymbolRenderHints(), nullptr );

if ( mSymbologyExport == QgsDxfExport::SymbolLayerSymbology &&
if ( mSymbologyExport == Qgis::FeatureSymbologyExport::PerSymbolLayer &&
( job->renderer->capabilities() & QgsFeatureRenderer::SymbolLevels ) &&
job->renderer->usingSymbolLevels() )
{
Expand Down Expand Up @@ -680,7 +695,7 @@ void QgsDxfExport::writeEntities()
if ( !job->renderer->willRenderFeature( fet, mRenderContext ) )
continue;

if ( mSymbologyExport == NoSymbology )
if ( mSymbologyExport == Qgis::FeatureSymbologyExport::NoSymbology )
{
addFeature( sctx, ct, lName, nullptr, nullptr ); // no symbology at all
}
Expand All @@ -689,7 +704,7 @@ void QgsDxfExport::writeEntities()
const QgsSymbolList symbolList = job->renderer->symbolsForFeature( fet, mRenderContext );
bool hasSymbology = symbolList.size() > 0;

if ( hasSymbology && mSymbologyExport == QgsDxfExport::SymbolLayerSymbology ) // symbol layer symbology, but layer does not use symbol levels
if ( hasSymbology && mSymbologyExport == Qgis::FeatureSymbologyExport::PerSymbolLayer ) // symbol layer symbology, but layer does not use symbol levels
{
for ( QgsSymbol *symbol : symbolList )
{
Expand Down Expand Up @@ -1560,7 +1575,7 @@ void QgsDxfExport::addFeature( QgsSymbolRenderContext &ctx, const QgsCoordinateT

QColor penColor;
QColor brushColor;
if ( mSymbologyExport != NoSymbology && symbolLayer )
if ( mSymbologyExport != Qgis::FeatureSymbologyExport::NoSymbology && symbolLayer )
{
penColor = colorFromSymbolLayer( symbolLayer, ctx );
brushColor = symbolLayer->dxfBrushColor( ctx );
Expand All @@ -1571,7 +1586,7 @@ void QgsDxfExport::addFeature( QgsSymbolRenderContext &ctx, const QgsCoordinateT
double width = -1;
double offset = 0.0;
double angle = 0.0;
if ( mSymbologyExport != NoSymbology && symbolLayer )
if ( mSymbologyExport != Qgis::FeatureSymbologyExport::NoSymbology && symbolLayer )
{
width = symbolLayer->dxfWidth( *this, ctx );
offset = symbolLayer->dxfOffset( *this, ctx );
Expand All @@ -1584,7 +1599,7 @@ void QgsDxfExport::addFeature( QgsSymbolRenderContext &ctx, const QgsCoordinateT
}

QString lineStyleName = QStringLiteral( "CONTINUOUS" );
if ( mSymbologyExport != NoSymbology )
if ( mSymbologyExport != Qgis::FeatureSymbologyExport::NoSymbology )
{
lineStyleName = lineStyleFromSymbolLayer( symbolLayer );
}
Expand Down Expand Up @@ -1876,7 +1891,7 @@ QList< QPair< QgsSymbolLayer *, QgsSymbol * > > QgsDxfExport::symbolLayers( QgsR
for ( QgsSymbol *symbol : symbols )
{
int maxSymbolLayers = symbol->symbolLayerCount();
if ( mSymbologyExport != SymbolLayerSymbology )
if ( mSymbologyExport != Qgis::FeatureSymbologyExport::PerSymbolLayer )
{
maxSymbolLayers = 1;
}
Expand Down Expand Up @@ -2141,7 +2156,7 @@ bool QgsDxfExport::layerIsScaleBasedVisible( const QgsMapLayer *layer ) const
if ( !layer )
return false;

if ( mSymbologyExport == QgsDxfExport::NoSymbology )
if ( mSymbologyExport == Qgis::FeatureSymbologyExport::NoSymbology )
return true;

return layer->isInScaleRange( mSymbologyScale );
Expand Down
13 changes: 3 additions & 10 deletions src/core/dxf/qgsdxfexport.h
Expand Up @@ -100,13 +100,6 @@ class CORE_EXPORT QgsDxfExport : public QgsLabelSink
int mLayerOutputAttributeIndex = -1;
};

enum SymbologyExport
{
NoSymbology = 0, //!< Export only data
FeatureSymbology, //!< Keeps the number of features and export symbology per feature (using the first symbol level)
SymbolLayerSymbology //!< Exports one feature per symbol layer (considering symbol levels)
};

//! Export flags
enum Flag
{
Expand Down Expand Up @@ -252,14 +245,14 @@ class CORE_EXPORT QgsDxfExport : public QgsLabelSink
* Set symbology export mode
* \param e the mode
*/
void setSymbologyExport( QgsDxfExport::SymbologyExport e ) { mSymbologyExport = e; }
void setSymbologyExport( Qgis::FeatureSymbologyExport e ) { mSymbologyExport = e; }

/**
* Gets symbology export mode
* \returns mode
* \see setSymbologyExport
*/
QgsDxfExport::SymbologyExport symbologyExport() const { return mSymbologyExport; }
Qgis::FeatureSymbologyExport symbologyExport() const { return mSymbologyExport; }

/**
* Set extent of area to export
Expand Down Expand Up @@ -547,7 +540,7 @@ class CORE_EXPORT QgsDxfExport : public QgsLabelSink
QgsRectangle mExtent;
//! Scale for symbology export (used if symbols units are mm)
double mSymbologyScale = 1.0;
SymbologyExport mSymbologyExport = NoSymbology;
Qgis::FeatureSymbologyExport mSymbologyExport = Qgis::FeatureSymbologyExport::NoSymbology;
Qgis::DistanceUnit mMapUnits = Qgis::DistanceUnit::Meters;
bool mLayerTitleAsName = false;

Expand Down
1 change: 1 addition & 0 deletions src/server/services/wms/qgswmsgetcontext.cpp
Expand Up @@ -28,6 +28,7 @@
#include "qgslayertreelayer.h"
#include "qgslayertree.h"
#include "qgsmaplayerstylemanager.h"
#include "qgscoordinatetransform.h"

#include "qgsexception.h"

Expand Down
1 change: 1 addition & 0 deletions src/server/services/wms/qgswmsgetlegendgraphics.cpp
Expand Up @@ -30,6 +30,7 @@
#include "qgswmsgetlegendgraphics.h"
#include "qgswmsrenderer.h"
#include "qgsserverprojectutils.h"
#include "qgsmapsettings.h"

#include <QImage>
#include <QJsonObject>
Expand Down
8 changes: 4 additions & 4 deletions src/server/services/wms/qgswmsparameters.cpp
Expand Up @@ -2192,11 +2192,11 @@ namespace QgsWms
return scale;
}

QgsDxfExport::SymbologyExport QgsWmsParameters::dxfMode() const
Qgis::FeatureSymbologyExport QgsWmsParameters::dxfMode() const
{
const QMap<DxfFormatOption, QString> options = dxfFormatOptions();

QgsDxfExport::SymbologyExport symbol = QgsDxfExport::NoSymbology;
Qgis::FeatureSymbologyExport symbol = Qgis::FeatureSymbologyExport::NoSymbology;

if ( ! options.contains( DxfFormatOption::MODE ) )
{
Expand All @@ -2206,11 +2206,11 @@ namespace QgsWms
const QString mode = options[ DxfFormatOption::MODE ];
if ( mode.compare( QLatin1String( "SymbolLayerSymbology" ), Qt::CaseInsensitive ) == 0 )
{
symbol = QgsDxfExport::SymbolLayerSymbology;
symbol = Qgis::FeatureSymbologyExport::PerSymbolLayer;
}
else if ( mode.compare( QLatin1String( "FeatureSymbology" ), Qt::CaseInsensitive ) == 0 )
{
symbol = QgsDxfExport::FeatureSymbology;
symbol = Qgis::FeatureSymbologyExport::PerFeature;
}

return symbol;
Expand Down
3 changes: 1 addition & 2 deletions src/server/services/wms/qgswmsparameters.h
Expand Up @@ -27,7 +27,6 @@
#include "qgsprojectversion.h"
#include "qgsogcutils.h"
#include "qgsserverparameters.h"
#include "qgsdxfexport.h"

namespace QgsWms
{
Expand Down Expand Up @@ -1345,7 +1344,7 @@ namespace QgsWms
* Returns the DXF MODE parameter.
* \since QGIS 3.8
*/
QgsDxfExport::SymbologyExport dxfMode() const;
Qgis::FeatureSymbologyExport dxfMode() const;

/**
* Returns the DXF CODEC parameter.
Expand Down
18 changes: 1 addition & 17 deletions src/ui/qgsdxfexportdialogbase.ui
Expand Up @@ -41,23 +41,7 @@
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="mSymbologyModeComboBox">
<item>
<property name="text">
<string>No symbology</string>
</property>
</item>
<item>
<property name="text">
<string>Feature symbology</string>
</property>
</item>
<item>
<property name="text">
<string>Symbol layer symbology</string>
</property>
</item>
</widget>
<widget class="QComboBox" name="mSymbologyModeComboBox"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="mSymbologyScaleLabel">
Expand Down

0 comments on commit 888dc33

Please sign in to comment.