Skip to content

Commit

Permalink
Pass labeling engine version to pal
Browse files Browse the repository at this point in the history
  • Loading branch information
nyalldawson committed Nov 28, 2019
1 parent 634a815 commit 938ddfd
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/core/pal/pal.cpp
Expand Up @@ -370,7 +370,7 @@ std::unique_ptr<Problem> Pal::extract( const QgsRectangle &extent, const QgsGeom
for ( std::size_t j = 0; j < feat->candidates.size(); j++, idlp++ )
{
//lp->insertIntoIndex(prob->candidates);
feat->candidates[ j ]->setProblemIds( static_cast< int >( i ), idlp ); // bugfix #1 (maxence 10/23/2008)
feat->candidates[ j ]->setProblemIds( static_cast< int >( i ), idlp );
}
features.emplace_back( std::move( feat ) );
}
Expand Down
2 changes: 1 addition & 1 deletion src/core/pal/pal.h
Expand Up @@ -261,7 +261,7 @@ namespace pal
*/
bool mShowPartialLabels = true;

QgsLabelingEngineSettings::PlacementEngineVersion mPlacementVersion = QgsLabelingEngineSettings::PlacementEngineVersion2;
QgsLabelingEngineSettings::PlacementEngineVersion mPlacementVersion = QgsLabelingEngineSettings::PlacementEngineVersion1;

//! Callback that may be called from PAL to check whether the job has not been canceled in meanwhile
FnIsCanceled fnIsCanceled = nullptr;
Expand Down
2 changes: 1 addition & 1 deletion src/core/qgslabelingengine.cpp
Expand Up @@ -278,7 +278,7 @@ void QgsLabelingEngine::registerLabels( QgsRenderContext &context )
mPal->setMaximumNumberOfPolygonCandidates( candPolygon );

mPal->setShowPartialLabels( settings.testFlag( QgsLabelingEngineSettings::UsePartialCandidates ) );

mPal->setPlacementVersion( settings.placementVersion() );

// for each provider: get labels and register them in PAL
for ( QgsAbstractLabelProvider *provider : qgis::as_const( mProviders ) )
Expand Down
40 changes: 40 additions & 0 deletions tests/src/core/testqgslabelingengine.cpp
Expand Up @@ -86,6 +86,7 @@ class TestQgsLabelingEngine : public QObject
QString mReport;

void setDefaultLabelParams( QgsPalLayerSettings &settings );
QgsLabelingEngineSettings createLabelEngineSettings();
bool imageCheck( const QString &testName, QImage &image, int mismatchCount );

};
Expand Down Expand Up @@ -201,10 +202,18 @@ void TestQgsLabelingEngine::setDefaultLabelParams( QgsPalLayerSettings &settings
settings.setFormat( format );
}

QgsLabelingEngineSettings TestQgsLabelingEngine::createLabelEngineSettings()
{
QgsLabelingEngineSettings settings;
settings.setPlacementVersion( QgsLabelingEngineSettings::PlacementEngineVersion1 );
return settings;
}

void TestQgsLabelingEngine::testBasic()
{
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -256,6 +265,7 @@ void TestQgsLabelingEngine::testDiagrams()
{
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -300,6 +310,7 @@ void TestQgsLabelingEngine::testRuleBased()
{
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -383,6 +394,7 @@ void TestQgsLabelingEngine::zOrder()
{
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -558,6 +570,7 @@ void TestQgsLabelingEngine::testSubstitutions()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -590,6 +603,7 @@ void TestQgsLabelingEngine::testCapitalization()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -654,6 +668,7 @@ void TestQgsLabelingEngine::testNumberFormat()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -792,6 +807,7 @@ void TestQgsLabelingEngine::testRegisterFeatureUnprojectible()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
QgsCoordinateReferenceSystem tgtCrs;
tgtCrs.createFromString( QStringLiteral( "EPSG:3857" ) );
mapSettings.setDestinationCrs( tgtCrs );
Expand Down Expand Up @@ -844,6 +860,7 @@ void TestQgsLabelingEngine::testRotateHidePartial()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
QgsCoordinateReferenceSystem tgtCrs;
tgtCrs.createFromString( QStringLiteral( "EPSG:4326" ) );
mapSettings.setDestinationCrs( tgtCrs );
Expand Down Expand Up @@ -915,6 +932,7 @@ void TestQgsLabelingEngine::testParallelLabelSmallFeature()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
QgsCoordinateReferenceSystem tgtCrs;
tgtCrs.createFromString( QStringLiteral( "EPSG:3148" ) );
mapSettings.setDestinationCrs( tgtCrs );
Expand Down Expand Up @@ -981,6 +999,7 @@ void TestQgsLabelingEngine::testAdjacentParts()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1035,6 +1054,7 @@ void TestQgsLabelingEngine::testTouchingParts()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1100,6 +1120,7 @@ void TestQgsLabelingEngine::testMergingLinesWithForks()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1154,6 +1175,7 @@ void TestQgsLabelingEngine::testCurvedLabelsWithTinySegments()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1210,6 +1232,7 @@ void TestQgsLabelingEngine::testCurvedLabelCorrectLinePlacement()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1273,6 +1296,7 @@ void TestQgsLabelingEngine::testCurvedLabelNegativeDistance()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1325,6 +1349,7 @@ void TestQgsLabelingEngine::testCurvedLabelOnSmallLineNearCenter()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1378,6 +1403,7 @@ void TestQgsLabelingEngine::testRepeatDistanceWithSmallLine()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1431,6 +1457,7 @@ void TestQgsLabelingEngine::testParallelPlacementPreferAbove()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -1487,6 +1514,7 @@ void TestQgsLabelingEngine::testLabelBoundary()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
QgsCoordinateReferenceSystem tgtCrs;
tgtCrs.createFromString( QStringLiteral( "EPSG:4326" ) );
mapSettings.setDestinationCrs( tgtCrs );
Expand Down Expand Up @@ -1555,6 +1583,7 @@ void TestQgsLabelingEngine::testLabelBlockingRegion()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
QgsCoordinateReferenceSystem tgtCrs;
tgtCrs.createFromString( QStringLiteral( "EPSG:4326" ) );
mapSettings.setDestinationCrs( tgtCrs );
Expand Down Expand Up @@ -1638,6 +1667,7 @@ void TestQgsLabelingEngine::testLabelRotationWithReprojection()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
QgsCoordinateReferenceSystem tgtCrs( QStringLiteral( "EPSG:3857" ) );
mapSettings.setDestinationCrs( tgtCrs );

Expand Down Expand Up @@ -1717,6 +1747,7 @@ void TestQgsLabelingEngine::drawUnplaced()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
QgsCoordinateReferenceSystem tgtCrs( QStringLiteral( "EPSG:3857" ) );
mapSettings.setDestinationCrs( tgtCrs );

Expand Down Expand Up @@ -1777,6 +1808,7 @@ void TestQgsLabelingEngine::labelingResults()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
QgsCoordinateReferenceSystem tgtCrs( QStringLiteral( "EPSG:3857" ) );
mapSettings.setDestinationCrs( tgtCrs );

Expand Down Expand Up @@ -2192,6 +2224,7 @@ void TestQgsLabelingEngine::parallelOverrun()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -2270,6 +2303,7 @@ void TestQgsLabelingEngine::testDataDefinedLabelAllParts()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand All @@ -2296,6 +2330,7 @@ void TestQgsLabelingEngine::testVerticalOrientation()
{
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -2340,6 +2375,7 @@ void TestQgsLabelingEngine::testVerticalOrientationLetterLineSpacing()
{
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -2389,6 +2425,7 @@ void TestQgsLabelingEngine::testRotationBasedOrientationPoint()
{
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl );
Expand Down Expand Up @@ -2439,6 +2476,7 @@ void TestQgsLabelingEngine::testRotationBasedOrientationLine()

QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setOutputSize( size );
mapSettings.setExtent( vl2->extent() );
mapSettings.setLayers( QList<QgsMapLayer *>() << vl2 );
Expand Down Expand Up @@ -2516,6 +2554,7 @@ void TestQgsLabelingEngine::testMapUnitLetterSpacing()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down Expand Up @@ -2569,6 +2608,7 @@ void TestQgsLabelingEngine::testMapUnitWordSpacing()
// make a fake render context
QSize size( 640, 480 );
QgsMapSettings mapSettings;
mapSettings.setLabelingEngineSettings( createLabelEngineSettings() );
mapSettings.setDestinationCrs( vl2->crs() );

mapSettings.setOutputSize( size );
Expand Down

0 comments on commit 938ddfd

Please sign in to comment.