Skip to content

Commit

Permalink
Fix build
Browse files Browse the repository at this point in the history
(was using api from the mid 1970's... well.. a few weeks ago anyway)
  • Loading branch information
nyalldawson committed Sep 19, 2016
1 parent 62ea90c commit 172c12b
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 34 deletions.
14 changes: 14 additions & 0 deletions python/core/dxf/qgsdxfexport.sip
Expand Up @@ -72,6 +72,20 @@ class QgsDxfExport
*/
QgsUnitTypes::DistanceUnit mapUnits() const;

/**
* Set destination CRS
* @see destinationCrs()
* @note added in QGIS 3.0
*/
void setDestinationCrs( const QgsCoordinateReferenceSystem& crs );

/**
* Returns the destination CRS, or an invalid CRS if no reprojection will be done.
* @see setDestinationCrs()
* @note added in QGIS 3.0
*/
QgsCoordinateReferenceSystem destinationCrs() const;

/**
* Set symbology export mode
* @param e the mode
Expand Down
21 changes: 10 additions & 11 deletions src/app/qgsdxfexportdialog.cpp
Expand Up @@ -460,13 +460,12 @@ QgsDxfExportDialog::QgsDxfExportDialog( QWidget *parent, Qt::WindowFlags f )
buttonBox->button( QDialogButtonBox::Ok )->setEnabled( false );
restoreGeometry( s.value( "/Windows/DxfExport/geometry" ).toByteArray() );

mCRS = QgsProject::instance()->readEntry( "dxf", "/lastDxfCrs",
s.value( "qgis/lastDxfCrs", QString::number( QgisApp::instance()->mapCanvas()->mapSettings().destinationCrs().srsid() ) ).toString()
).toLong();

QgsCoordinateReferenceSystem crs = QgsCRSCache::instance()->crsBySrsId( mCRS );
mCrsSelector->setCrs( crs );
mCrsSelector->setLayerCrs( crs );
long crsid = QgsProject::instance()->readEntry( "dxf", "/lastDxfCrs",
s.value( "qgis/lastDxfCrs", QString::number( QgisApp::instance()->mapCanvas()->mapSettings().destinationCrs().srsid() ) ).toString()
).toLong();
mCRS = QgsCoordinateReferenceSystem::fromSrsId( crsid );
mCrsSelector->setCrs( mCRS );
mCrsSelector->setLayerCrs( mCRS );
mCrsSelector->dialog()->setMessage( tr( "Select the coordinate reference system for the dxf file. "
"The data points will be transformed from the layer coordinate reference system." ) );

Expand Down Expand Up @@ -613,15 +612,15 @@ void QgsDxfExportDialog::saveSettings()
s.setValue( "qgis/lastDxfMapRectangle", mMapExtentCheckBox->isChecked() );
s.setValue( "qgis/lastDxfLayerTitleAsName", mLayerTitleAsName->isChecked() );
s.setValue( "qgis/lastDxfEncoding", mEncoding->currentText() );
s.setValue( "qgis/lastDxfCrs", QString::number( mCRS ) );
s.setValue( "qgis/lastDxfCrs", QString::number( mCRS.srsid() ) );

QgsProject::instance()->writeEntry( "dxf", "/lastDxfSymbologyMode", mSymbologyModeComboBox->currentIndex() );
QgsProject::instance()->writeEntry( "dxf", "/lastSymbologyExportScale", mScaleWidget->scale() );
QgsProject::instance()->writeEntry( "dxf", "/lastDxfLayerTitleAsName", mLayerTitleAsName->isChecked() );
QgsProject::instance()->writeEntry( "dxf", "/lastDxfMapRectangle", mMapExtentCheckBox->isChecked() );
QgsProject::instance()->writeEntry( "dxf", "/lastDxfEncoding", mEncoding->currentText() );
QgsProject::instance()->writeEntry( "dxf", "/lastVisibilityPreset", mVisibilityPresets->currentText() );
QgsProject::instance()->writeEntry( "dxf", "/lastDxfCrs", QString::number( mCRS ) );
QgsProject::instance()->writeEntry( "dxf", "/lastDxfCrs", QString::number( mCRS.srsid() ) );
}


Expand All @@ -632,10 +631,10 @@ QString QgsDxfExportDialog::encoding() const

void QgsDxfExportDialog::on_mCrsSelector_crsChanged( const QgsCoordinateReferenceSystem &crs )
{
mCRS = crs.srsid();
mCRS = crs;
}

long QgsDxfExportDialog::crs() const
QgsCoordinateReferenceSystem QgsDxfExportDialog::crs() const
{
return mCRS;
}
4 changes: 2 additions & 2 deletions src/app/qgsdxfexportdialog.h
Expand Up @@ -88,7 +88,7 @@ class QgsDxfExportDialog : public QDialog, private Ui::QgsDxfExportDialogBase
bool exportMapExtent() const;
bool layerTitleAsName() const;
QString encoding() const;
long crs() const;
QgsCoordinateReferenceSystem crs() const;

public slots:
/** Change the selection of layers in the list */
Expand All @@ -107,7 +107,7 @@ class QgsDxfExportDialog : public QDialog, private Ui::QgsDxfExportDialogBase
QgsLayerTreeGroup *mLayerTreeGroup;
FieldSelectorDelegate *mFieldSelectorDelegate;

long mCRS;
QgsCoordinateReferenceSystem mCRS;
};

#endif // QGSDXFEXPORTDIALOG_H
31 changes: 15 additions & 16 deletions src/core/dxf/qgsdxfexport.cpp
Expand Up @@ -373,7 +373,6 @@ QgsDxfExport::QgsDxfExport()
, mSymbolLayerCounter( 0 )
, mNextHandleId( DXF_HANDSEED )
, mBlockCounter( 0 )
, mCrs( -1 )
{
}

Expand All @@ -392,7 +391,7 @@ QgsDxfExport& QgsDxfExport::operator=( const QgsDxfExport & dxfExport )
mSymbolLayerCounter = 0; // internal counter
mNextHandleId = 0;
mBlockCounter = 0;
mCrs = -1;
mCrs = QgsCoordinateReferenceSystem();
return *this;
}

Expand Down Expand Up @@ -524,12 +523,12 @@ int QgsDxfExport::writeToFile( QIODevice* d, const QString& encoding )
mMapSettings.setExtent( mExtent );

int dpi = 96;
mFactor = 1000 * dpi / mSymbologyScaleDenominator / 25.4 * QgsUnitTypes::fromUnitToUnitFactor( mMapUnits, QGis::Meters );
mFactor = 1000 * dpi / mSymbologyScaleDenominator / 25.4 * QgsUnitTypes::fromUnitToUnitFactor( mMapUnits, QgsUnitTypes::DistanceMeters );
mMapSettings.setOutputSize( QSize( mExtent.width() * mFactor, mExtent.height() * mFactor ) );
mMapSettings.setOutputDpi( dpi );
if ( mCrs >= 0 )
mMapSettings.setDestinationCrs( QgsCRSCache::instance()->crsBySrsId( mCrs ) );
mMapSettings.setCrsTransformEnabled( mCrs >= 0 );
if ( mCrs.isValid() )
mMapSettings.setDestinationCrs( mCrs );
mMapSettings.setCrsTransformEnabled( mCrs.isValid() );

writeHeader( dxfEncoding( encoding ) );
writeTables();
Expand All @@ -553,11 +552,11 @@ void QgsDxfExport::writeHeader( const QString& codepage )

// EXTMIN
writeGroup( 9, "$EXTMIN" );
writeGroup( 0, QgsPointV2( QgsWKBTypes::PointZ, mExtent.xMinimum(), mExtent.yMinimum() ) );
writeGroup( 0, QgsPointV2( QgsWkbTypes::PointZ, mExtent.xMinimum(), mExtent.yMinimum() ) );

// EXTMAX
writeGroup( 9, "$EXTMAX" );
writeGroup( 0, QgsPointV2( QgsWKBTypes::PointZ, mExtent.xMaximum(), mExtent.yMaximum() ) );
writeGroup( 0, QgsPointV2( QgsWkbTypes::PointZ, mExtent.xMaximum(), mExtent.yMaximum() ) );

// Global linetype scale
writeGroup( 9, "$LTSCALE" );
Expand Down Expand Up @@ -1015,7 +1014,7 @@ void QgsDxfExport::writeEntities()

QgsFeatureIterator featureIt = vl->getFeatures( freq );

const QgsCoordinateTransform *ct = mMapSettings.hasCrsTransformEnabled() ? mMapSettings.layerTransform( vl ) : nullptr;
QgsCoordinateTransform ct = mMapSettings.hasCrsTransformEnabled() ? mMapSettings.layerTransform( vl ) : QgsCoordinateTransform();

QgsFeature fet;
while ( featureIt.nextFeature( fet ) )
Expand Down Expand Up @@ -1150,7 +1149,7 @@ void QgsDxfExport::writeEntitiesSymbolLevels( QgsVectorLayer* layer )
}
}

const QgsCoordinateTransform *ct = mMapSettings.hasCrsTransformEnabled() ? mMapSettings.layerTransform( layer ) : nullptr;
QgsCoordinateTransform ct = mMapSettings.hasCrsTransformEnabled() ? mMapSettings.layerTransform( layer ) : QgsCoordinateTransform();

// export symbol layers and symbology
for ( int l = 0; l < levels.count(); l++ )
Expand Down Expand Up @@ -3642,7 +3641,7 @@ void QgsDxfExport::writeMText( const QString& layer, const QString& text, const
writeGroup( 7, "STANDARD" ); // so far only support for standard font
}

void QgsDxfExport::addFeature( QgsSymbolRenderContext& ctx, const QgsCoordinateTransform *ct, const QString& layer, const QgsSymbolLayer* symbolLayer, const QgsSymbol* symbol )
void QgsDxfExport::addFeature( QgsSymbolRenderContext& ctx, const QgsCoordinateTransform& ct, const QString& layer, const QgsSymbolLayer* symbolLayer, const QgsSymbol* symbol )
{
const QgsFeature *fet = ctx.feature();
if ( !fet )
Expand All @@ -3651,10 +3650,10 @@ void QgsDxfExport::addFeature( QgsSymbolRenderContext& ctx, const QgsCoordinateT
if ( !fet->hasGeometry() )
return;

QScopedPointer<QgsAbstractGeometry> geom( fet->constGeometry()->geometry()->clone() );
if ( ct )
QScopedPointer<QgsAbstractGeometry> geom( fet->geometry().geometry()->clone() );
if ( ct.isValid() )
{
geom->transform( *ct );
geom->transform( ct );
}

QgsWkbTypes::Type geometryType = geom->wkbType();
Expand Down Expand Up @@ -4389,12 +4388,12 @@ void QgsDxfExport::registerDxfLayer( QString layerId, QgsFeatureId fid, QString
mDxfLayerNames[layerId][fid] = layerName;
}

void QgsDxfExport::setDestinationCrs( long crs )
void QgsDxfExport::setDestinationCrs( const QgsCoordinateReferenceSystem& crs )
{
mCrs = crs;
}

long QgsDxfExport::destinationCrs()
QgsCoordinateReferenceSystem QgsDxfExport::destinationCrs() const
{
return mCrs;
}
14 changes: 9 additions & 5 deletions src/core/dxf/qgsdxfexport.h
Expand Up @@ -98,13 +98,17 @@ class CORE_EXPORT QgsDxfExport

/**
* Set destination CRS
* @see destinationCrs()
* @note added in QGIS 3.0
*/
void setDestinationCrs( long crs );
void setDestinationCrs( const QgsCoordinateReferenceSystem& crs );

/**
* Set destination CRS
* Returns the destination CRS, or an invalid CRS if no reprojection will be done.
* @see setDestinationCrs()
* @note added in QGIS 3.0
*/
long destinationCrs();
QgsCoordinateReferenceSystem destinationCrs() const;

/**
* Set symbology export mode
Expand Down Expand Up @@ -362,7 +366,7 @@ class CORE_EXPORT QgsDxfExport
void writeSymbolLayerLinetype( const QgsSymbolLayer *symbolLayer );
void writeLinetype( const QString &styleName, const QVector<qreal> &pattern, QgsUnitTypes::RenderUnit u );

void addFeature( QgsSymbolRenderContext &ctx, const QgsCoordinateTransform *ct, const QString &layer, const QgsSymbolLayer *symbolLayer, const QgsSymbol *symbol );
void addFeature( QgsSymbolRenderContext &ctx, const QgsCoordinateTransform& ct, const QString &layer, const QgsSymbolLayer *symbolLayer, const QgsSymbol *symbol );

//returns dxf palette index from symbol layer color
static QColor colorFromSymbolLayer( const QgsSymbolLayer *symbolLayer, QgsSymbolRenderContext &ctx );
Expand Down Expand Up @@ -390,7 +394,7 @@ class CORE_EXPORT QgsDxfExport

//! DXF layer name for each label feature
QMap< QString, QMap<QgsFeatureId, QString> > mDxfLayerNames;
long mCrs;
QgsCoordinateReferenceSystem mCrs;
QgsMapSettings mMapSettings;
double mFactor;
};
Expand Down

0 comments on commit 172c12b

Please sign in to comment.