Skip to content

Commit

Permalink
Fix tick-style scalebar when subdivisions ticks height > segments tic…
Browse files Browse the repository at this point in the history
…ks height

Take the subivisions ticks height into accout, for ticksscalebar box size calculation and horizontal line and labels position, only if the number of subdivisions to draw is greater than 1
  • Loading branch information
agiudiceandrea committed May 10, 2020
1 parent 65d5c14 commit 27f345f
Show file tree
Hide file tree
Showing 8 changed files with 109 additions and 67 deletions.
5 changes: 3 additions & 2 deletions python/core/auto_additions/qgsscalebarrenderer.py
Expand Up @@ -11,8 +11,9 @@
QgsScaleBarRenderer.Flag.FlagUsesLabelVerticalPlacement.__doc__ = "Renderer uses the QgsScaleBarSettings::labelVerticalPlacement() setting"
QgsScaleBarRenderer.Flag.FlagUsesLabelHorizontalPlacement.__doc__ = "Renderer uses the QgsScaleBarSettings::labelHorizontalPlacement() setting"
QgsScaleBarRenderer.Flag.FlagUsesAlignment.__doc__ = "Renderer uses the QgsScaleBarSettings::alignment() setting"
QgsScaleBarRenderer.Flag.FlagUsesSubdivisions.__doc__ = "Renderer uses the scalebar subdivisions"
QgsScaleBarRenderer.Flag.FlagUsesSubdivisions.__doc__ = "Renderer uses the scalebar subdivisions (see QgsScaleBarSettings::numberOfSubdivisions() )"
QgsScaleBarRenderer.Flag.FlagUsesDivisionSymbol.__doc__ = "Renderer utilizes the scalebar division symbol (see QgsScaleBarSettings::divisionLineSymbol() )"
QgsScaleBarRenderer.Flag.FlagUsesSubdivisionSymbol.__doc__ = "Renderer utilizes the scalebar subdivision symbol (see QgsScaleBarSettings::subdivisionLineSymbol() )"
QgsScaleBarRenderer.Flag.__doc__ = 'Flags which control scalebar renderer behavior.\n\n.. versionadded:: 3.14\n\n' + '* ``FlagUsesLineSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesLineSymbol.__doc__ + '\n' + '* ``FlagUsesFillSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesFillSymbol.__doc__ + '\n' + '* ``FlagUsesAlternateFillSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesAlternateFillSymbol.__doc__ + '\n' + '* ``FlagRespectsUnits``: ' + QgsScaleBarRenderer.Flag.FlagRespectsUnits.__doc__ + '\n' + '* ``FlagRespectsMapUnitsPerScaleBarUnit``: ' + QgsScaleBarRenderer.Flag.FlagRespectsMapUnitsPerScaleBarUnit.__doc__ + '\n' + '* ``FlagUsesUnitLabel``: ' + QgsScaleBarRenderer.Flag.FlagUsesUnitLabel.__doc__ + '\n' + '* ``FlagUsesSegments``: ' + QgsScaleBarRenderer.Flag.FlagUsesSegments.__doc__ + '\n' + '* ``FlagUsesLabelBarSpace``: ' + QgsScaleBarRenderer.Flag.FlagUsesLabelBarSpace.__doc__ + '\n' + '* ``FlagUsesLabelVerticalPlacement``: ' + QgsScaleBarRenderer.Flag.FlagUsesLabelVerticalPlacement.__doc__ + '\n' + '* ``FlagUsesLabelHorizontalPlacement``: ' + QgsScaleBarRenderer.Flag.FlagUsesLabelHorizontalPlacement.__doc__ + '\n' + '* ``FlagUsesAlignment``: ' + QgsScaleBarRenderer.Flag.FlagUsesAlignment.__doc__ + '\n' + '* ``FlagUsesSubdivisions``: ' + QgsScaleBarRenderer.Flag.FlagUsesSubdivisions.__doc__ + '\n' + '* ``FlagUsesDivisionSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesDivisionSymbol.__doc__ + '\n' + '* ``FlagUsesSubdivisionSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesSubdivisionSymbol.__doc__
QgsScaleBarRenderer.Flag.FlagUsesSubdivisionsHeight.__doc__ = "Renderer uses the scalebar subdivisions height (see QgsScaleBarSettings::subdivisionsHeight() )"
QgsScaleBarRenderer.Flag.__doc__ = 'Flags which control scalebar renderer behavior.\n\n.. versionadded:: 3.14\n\n' + '* ``FlagUsesLineSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesLineSymbol.__doc__ + '\n' + '* ``FlagUsesFillSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesFillSymbol.__doc__ + '\n' + '* ``FlagUsesAlternateFillSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesAlternateFillSymbol.__doc__ + '\n' + '* ``FlagRespectsUnits``: ' + QgsScaleBarRenderer.Flag.FlagRespectsUnits.__doc__ + '\n' + '* ``FlagRespectsMapUnitsPerScaleBarUnit``: ' + QgsScaleBarRenderer.Flag.FlagRespectsMapUnitsPerScaleBarUnit.__doc__ + '\n' + '* ``FlagUsesUnitLabel``: ' + QgsScaleBarRenderer.Flag.FlagUsesUnitLabel.__doc__ + '\n' + '* ``FlagUsesSegments``: ' + QgsScaleBarRenderer.Flag.FlagUsesSegments.__doc__ + '\n' + '* ``FlagUsesLabelBarSpace``: ' + QgsScaleBarRenderer.Flag.FlagUsesLabelBarSpace.__doc__ + '\n' + '* ``FlagUsesLabelVerticalPlacement``: ' + QgsScaleBarRenderer.Flag.FlagUsesLabelVerticalPlacement.__doc__ + '\n' + '* ``FlagUsesLabelHorizontalPlacement``: ' + QgsScaleBarRenderer.Flag.FlagUsesLabelHorizontalPlacement.__doc__ + '\n' + '* ``FlagUsesAlignment``: ' + QgsScaleBarRenderer.Flag.FlagUsesAlignment.__doc__ + '\n' + '* ``FlagUsesSubdivisions``: ' + QgsScaleBarRenderer.Flag.FlagUsesSubdivisions.__doc__ + '\n' + '* ``FlagUsesDivisionSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesDivisionSymbol.__doc__ + '\n' + '* ``FlagUsesSubdivisionSymbol``: ' + QgsScaleBarRenderer.Flag.FlagUsesSubdivisionSymbol.__doc__ + '\n' + '* ``FlagUsesSubdivisionsHeight``: ' + QgsScaleBarRenderer.Flag.FlagUsesSubdivisionsHeight.__doc__
# --
25 changes: 14 additions & 11 deletions python/core/auto_generated/scalebar/qgsscalebarrenderer.sip.in
Expand Up @@ -25,17 +25,6 @@ custom labeling.
%End
public:

struct ScaleBarContext
{

double segmentWidth;

QSizeF size;

double scale;

};

enum class Flag
{
FlagUsesLineSymbol,
Expand All @@ -52,10 +41,24 @@ custom labeling.
FlagUsesSubdivisions,
FlagUsesDivisionSymbol,
FlagUsesSubdivisionSymbol,
FlagUsesSubdivisionsHeight,
};
typedef QFlags<QgsScaleBarRenderer::Flag> Flags;


struct ScaleBarContext
{

double segmentWidth;

QSizeF size;

double scale;

Flags flags;

};

QgsScaleBarRenderer();
%Docstring
Constructor for QgsScaleBarRenderer.
Expand Down
1 change: 1 addition & 0 deletions src/core/layout/qgslayoutitemscalebar.cpp
Expand Up @@ -386,6 +386,7 @@ QgsScaleBarRenderer::ScaleBarContext QgsLayoutItemScaleBar::createScaleContext()
scaleContext.size = rect().size();
scaleContext.segmentWidth = mSegmentMillimeters;
scaleContext.scale = mMap ? mMap->scale() : 1.0;
scaleContext.flags = mStyle->flags();
return scaleContext;
}

Expand Down
21 changes: 19 additions & 2 deletions src/core/scalebar/qgsscalebarrenderer.cpp
Expand Up @@ -47,7 +47,15 @@ void QgsScaleBarRenderer::drawDefaultLabels( QgsRenderContext &context, const Qg

double scaledBoxContentSpace = context.convertToPainterUnits( settings.boxContentSpace(), QgsUnitTypes::RenderMillimeters );
double scaledLabelBarSpace = context.convertToPainterUnits( settings.labelBarSpace(), QgsUnitTypes::RenderMillimeters );
double scaledHeight = context.convertToPainterUnits( settings.height(), QgsUnitTypes::RenderMillimeters );
double scaledHeight;
if ( ( scaleContext.flags & Flag::FlagUsesSubdivisionsHeight ) && ( settings.numberOfSubdivisions() > 1 ) && ( settings.subdivisionsHeight() > settings.height() ) )
{
scaledHeight = context.convertToPainterUnits( settings.subdivisionsHeight(), QgsUnitTypes::RenderMillimeters );
}
else
{
scaledHeight = context.convertToPainterUnits( settings.height(), QgsUnitTypes::RenderMillimeters );
}

double currentLabelNumber = 0.0;

Expand Down Expand Up @@ -263,7 +271,16 @@ QSizeF QgsScaleBarRenderer::calculateBoxSize( QgsRenderContext &context, const Q
lineWidth /= context.convertToPainterUnits( 1, QgsUnitTypes::RenderMillimeters );

double width = firstLabelWidth + totalBarLength + 2 * lineWidth + largestLabelWidth + 2 * settings.boxContentSpace();
double height = settings.height() + settings.labelBarSpace() + 2 * settings.boxContentSpace() + QgsLayoutUtils::fontAscentMM( font );
double height;
if ( ( scaleContext.flags & Flag::FlagUsesSubdivisionsHeight ) && ( settings.numberOfSubdivisions() > 1 ) && ( settings.subdivisionsHeight() > settings.height() ) )
{
height = settings.subdivisionsHeight();
}
else
{
height = settings.height();
}
height += settings.labelBarSpace() + 2 * settings.boxContentSpace() + QgsLayoutUtils::fontAscentMM( font );

return QSizeF( width, height );
}
Expand Down
48 changes: 26 additions & 22 deletions src/core/scalebar/qgsscalebarrenderer.h
Expand Up @@ -39,6 +39,30 @@ class CORE_EXPORT QgsScaleBarRenderer
{
public:

/**
* Flags which control scalebar renderer behavior.
* \since QGIS 3.14
*/
enum class Flag
{
FlagUsesLineSymbol = 1 << 0, //!< Renderer utilizes the scalebar line symbol (see QgsScaleBarSettings::lineSymbol() )
FlagUsesFillSymbol = 1 << 1, //!< Renderer utilizes the scalebar fill symbol (see QgsScaleBarSettings::fillSymbol() )
FlagUsesAlternateFillSymbol = 1 << 2, //!< Renderer utilizes the alternate scalebar fill symbol (see QgsScaleBarSettings::alternateFillSymbol() )
FlagRespectsUnits = 1 << 3, //!< Renderer respects the QgsScaleBarSettings::units() setting
FlagRespectsMapUnitsPerScaleBarUnit = 1 << 4, //!< Renderer respects the QgsScaleBarSettings::mapUnitsPerScaleBarUnit() setting
FlagUsesUnitLabel = 1 << 5, //!< Renderer uses the QgsScaleBarSettings::unitLabel() setting
FlagUsesSegments = 1 << 6, //!< Renderer uses the scalebar segments
FlagUsesLabelBarSpace = 1 << 7, //!< Renderer uses the QgsScaleBarSettings::labelBarSpace() setting
FlagUsesLabelVerticalPlacement = 1 << 8, //!< Renderer uses the QgsScaleBarSettings::labelVerticalPlacement() setting
FlagUsesLabelHorizontalPlacement = 1 << 8, //!< Renderer uses the QgsScaleBarSettings::labelHorizontalPlacement() setting
FlagUsesAlignment = 1 << 9, //!< Renderer uses the QgsScaleBarSettings::alignment() setting
FlagUsesSubdivisions = 1 << 10, //!< Renderer uses the scalebar subdivisions (see QgsScaleBarSettings::numberOfSubdivisions() )
FlagUsesDivisionSymbol = 1 << 11, //!< Renderer utilizes the scalebar division symbol (see QgsScaleBarSettings::divisionLineSymbol() )
FlagUsesSubdivisionSymbol = 1 << 12, //!< Renderer utilizes the scalebar subdivision symbol (see QgsScaleBarSettings::subdivisionLineSymbol() )
FlagUsesSubdivisionsHeight = 1 << 13, //!< Renderer uses the scalebar subdivisions height (see QgsScaleBarSettings::subdivisionsHeight() )
};
Q_DECLARE_FLAGS( Flags, Flag )

/**
* Contains parameters regarding scalebar calculations.
* \note The need to attribute the parameters vary depending on the targeted scalebar.
Expand All @@ -62,30 +86,10 @@ class CORE_EXPORT QgsScaleBarRenderer
//! Scale denominator
double scale { 1.0 };

};
//! Scalebar renderer flags
Flags flags;

/**
* Flags which control scalebar renderer behavior.
* \since QGIS 3.14
*/
enum class Flag
{
FlagUsesLineSymbol = 1 << 0, //!< Renderer utilizes the scalebar line symbol (see QgsScaleBarSettings::lineSymbol() )
FlagUsesFillSymbol = 1 << 1, //!< Renderer utilizes the scalebar fill symbol (see QgsScaleBarSettings::fillSymbol() )
FlagUsesAlternateFillSymbol = 1 << 2, //!< Renderer utilizes the alternate scalebar fill symbol (see QgsScaleBarSettings::alternateFillSymbol() )
FlagRespectsUnits = 1 << 3, //!< Renderer respects the QgsScaleBarSettings::units() setting
FlagRespectsMapUnitsPerScaleBarUnit = 1 << 4, //!< Renderer respects the QgsScaleBarSettings::mapUnitsPerScaleBarUnit() setting
FlagUsesUnitLabel = 1 << 5, //!< Renderer uses the QgsScaleBarSettings::unitLabel() setting
FlagUsesSegments = 1 << 6, //!< Renderer uses the scalebar segments
FlagUsesLabelBarSpace = 1 << 7, //!< Renderer uses the QgsScaleBarSettings::labelBarSpace() setting
FlagUsesLabelVerticalPlacement = 1 << 8, //!< Renderer uses the QgsScaleBarSettings::labelVerticalPlacement() setting
FlagUsesLabelHorizontalPlacement = 1 << 8, //!< Renderer uses the QgsScaleBarSettings::labelHorizontalPlacement() setting
FlagUsesAlignment = 1 << 9, //!< Renderer uses the QgsScaleBarSettings::alignment() setting
FlagUsesSubdivisions = 1 << 10, //!< Renderer uses the scalebar subdivisions
FlagUsesDivisionSymbol = 1 << 11, //!< Renderer utilizes the scalebar division symbol (see QgsScaleBarSettings::divisionLineSymbol() )
FlagUsesSubdivisionSymbol = 1 << 12, //!< Renderer utilizes the scalebar subdivision symbol (see QgsScaleBarSettings::subdivisionLineSymbol() )
};
Q_DECLARE_FLAGS( Flags, Flag )

/**
* Constructor for QgsScaleBarRenderer.
Expand Down
67 changes: 39 additions & 28 deletions src/core/scalebar/qgsticksscalebarrenderer.cpp
Expand Up @@ -81,7 +81,8 @@ QgsScaleBarRenderer::Flags QgsTicksScaleBarRenderer::flags() const
Flag::FlagUsesLabelBarSpace |
Flag::FlagUsesLabelVerticalPlacement |
Flag::FlagUsesLabelHorizontalPlacement |
Flag::FlagUsesSubdivisions;
Flag::FlagUsesSubdivisions |
Flag::FlagUsesSubdivisionsHeight;
}

QgsTicksScaleBarRenderer *QgsTicksScaleBarRenderer::clone() const
Expand All @@ -100,9 +101,11 @@ void QgsTicksScaleBarRenderer::draw( QgsRenderContext &context, const QgsScaleBa
const double scaledBoxContentSpace = context.convertToPainterUnits( settings.boxContentSpace(), QgsUnitTypes::RenderMillimeters );
const QFontMetricsF fontMetrics = QgsTextRenderer::fontMetrics( context, settings.textFormat() );
const double barTopPosition = scaledBoxContentSpace + ( settings.labelVerticalPlacement() == QgsScaleBarSettings::LabelAboveSegment ? fontMetrics.ascent() + scaledLabelBarSpace : 0 );
const double middlePosition = barTopPosition + context.convertToPainterUnits( settings.height() / 2.0, QgsUnitTypes::RenderMillimeters );
const double bottomPosition = barTopPosition + context.convertToPainterUnits( settings.height(), QgsUnitTypes::RenderMillimeters );
const double scaledHeight = context.convertToPainterUnits( settings.height(), QgsUnitTypes::RenderMillimeters );
const double scaledSubdivisionsHeight = context.convertToPainterUnits( settings.subdivisionsHeight(), QgsUnitTypes::RenderMillimeters );
const double scaledMaxHeight = ( ( settings.numberOfSubdivisions() > 1 ) && ( scaledSubdivisionsHeight > scaledHeight ) ) ? scaledSubdivisionsHeight : scaledHeight;
const double middlePosition = barTopPosition + scaledMaxHeight / 2.0;
const double bottomPosition = barTopPosition + scaledMaxHeight;

const double xOffset = firstLabelXOffset( settings, context, scaleContext );

Expand All @@ -121,6 +124,35 @@ void QgsTicksScaleBarRenderer::draw( QgsRenderContext &context, const QgsScaleBa

const QList<double> positions = segmentPositions( context, scaleContext, settings );

// vertical positions
double verticalPos = 0.0;
QList<double> subTickPositionsY;
QList<double> tickPositionsY;
switch ( mTickPosition )
{
case TicksDown:
verticalPos = barTopPosition;
subTickPositionsY << verticalPos;
subTickPositionsY << verticalPos + scaledSubdivisionsHeight;
tickPositionsY << verticalPos;
tickPositionsY << verticalPos + scaledHeight;
break;
case TicksMiddle:
verticalPos = middlePosition;
subTickPositionsY << verticalPos + scaledSubdivisionsHeight / 2.0;
subTickPositionsY << verticalPos - scaledSubdivisionsHeight / 2.0;
tickPositionsY << verticalPos + scaledHeight / 2.0;
tickPositionsY << verticalPos - scaledHeight / 2.0;
break;
case TicksUp:
verticalPos = bottomPosition;
subTickPositionsY << verticalPos;
subTickPositionsY << verticalPos - scaledSubdivisionsHeight;
tickPositionsY << verticalPos;
tickPositionsY << verticalPos - scaledHeight;
break;
}

int symbolLayerCount = symbol->symbolLayerCount();
symbolLayerCount = std::max( symbolLayerCount, divisionSymbol->symbolLayerCount() );
symbolLayerCount = std::max( symbolLayerCount, subdivisionSymbol->symbolLayerCount() );
Expand All @@ -138,32 +170,11 @@ void QgsTicksScaleBarRenderer::draw( QgsRenderContext &context, const QgsScaleBa
for ( int i = 0; i < positions.size(); ++i )
{
const double thisX = context.convertToPainterUnits( positions.at( i ), QgsUnitTypes::RenderMillimeters ) + xOffset;
divisionSymbol->renderPolyline( QPolygonF() << QPointF( thisX, barTopPosition )
<< QPointF( thisX, bottomPosition ), nullptr, context, layer );
divisionSymbol->renderPolyline( QPolygonF() << QPointF( thisX, tickPositionsY.at( 0 ) )
<< QPointF( thisX, tickPositionsY.at( 1 ) ), nullptr, context, layer );
}
}

// vertical positions
double verticalPos = 0.0;
QList<double> subTickPositionsY;
switch ( mTickPosition )
{
case TicksDown:
verticalPos = barTopPosition;
subTickPositionsY << verticalPos;
subTickPositionsY << verticalPos + scaledSubdivisionsHeight;
break;
case TicksMiddle:
verticalPos = middlePosition;
subTickPositionsY << verticalPos + scaledSubdivisionsHeight / 2.0;
subTickPositionsY << verticalPos - scaledSubdivisionsHeight / 2.0;
break;
case TicksUp:
verticalPos = bottomPosition;
subTickPositionsY << verticalPos;
subTickPositionsY << verticalPos - scaledSubdivisionsHeight;
break;
}
// draw the vertical lines for right subdivisions
if ( drawSubdivisionsForThisSymbolLayer )
{
Expand All @@ -186,8 +197,8 @@ void QgsTicksScaleBarRenderer::draw( QgsRenderContext &context, const QgsScaleBa
//last vertical line
if ( drawDivisionsForThisSymbolLayer )
{
divisionSymbol->renderPolyline( QPolygonF() << QPointF( lastTickPositionX, barTopPosition )
<< QPointF( lastTickPositionX, bottomPosition ),
divisionSymbol->renderPolyline( QPolygonF() << QPointF( lastTickPositionX, tickPositionsY.at( 0 ) )
<< QPointF( lastTickPositionX, tickPositionsY.at( 1 ) ),
nullptr, context, layer );
}

Expand Down
4 changes: 2 additions & 2 deletions src/gui/layout/qgslayoutscalebarwidget.cpp
Expand Up @@ -529,8 +529,8 @@ void QgsLayoutScaleBarWidget::toggleStyleSpecificControls( const QString &style
mUnitLabelLabel->setEnabled( renderer ? renderer->flags() & QgsScaleBarRenderer::Flag::FlagUsesUnitLabel : true );
mSubdivisionsLabel->setEnabled( renderer ? renderer->flags() & QgsScaleBarRenderer::Flag::FlagUsesSubdivisions : true );
mNumberOfSubdivisionsSpinBox->setEnabled( renderer ? renderer->flags() & QgsScaleBarRenderer::Flag::FlagUsesSubdivisions : true );
mSubdivisionsHeightLabel->setEnabled( renderer ? renderer->flags() & QgsScaleBarRenderer::Flag::FlagUsesSubdivisions : true );
mSubdivisionsHeightSpinBox->setEnabled( renderer ? renderer->flags() & QgsScaleBarRenderer::Flag::FlagUsesSubdivisions : true );
mSubdivisionsHeightLabel->setEnabled( renderer ? renderer->flags() & QgsScaleBarRenderer::Flag::FlagUsesSubdivisionsHeight : true );
mSubdivisionsHeightSpinBox->setEnabled( renderer ? renderer->flags() & QgsScaleBarRenderer::Flag::FlagUsesSubdivisionsHeight : true );
mGroupBoxSegments->setEnabled( renderer ? renderer->flags() & QgsScaleBarRenderer::Flag::FlagUsesSegments : true );
if ( !mGroupBoxUnits->isEnabled() )
mGroupBoxSegments->setCollapsed( true );
Expand Down
5 changes: 5 additions & 0 deletions tests/src/core/testqgslayoutscalebar.cpp
Expand Up @@ -138,6 +138,7 @@ void TestQgsLayoutScaleBar::singleBox()
scalebar->setNumberOfSegmentsLeft( 0 );
scalebar->setNumberOfSegments( 2 );
scalebar->setHeight( 5 );
scalebar->setSubdivisionsHeight( 25 ); //ensure subdivisionsHeight is non used in non tick-style scalebars
Q_NOWARN_DEPRECATED_PUSH
scalebar->setLineWidth( 1.0 );
Q_NOWARN_DEPRECATED_POP
Expand Down Expand Up @@ -331,6 +332,7 @@ void TestQgsLayoutScaleBar::doubleBox()
scalebar->setNumberOfSegmentsLeft( 0 );
scalebar->setNumberOfSegments( 2 );
scalebar->setHeight( 5 );
scalebar->setSubdivisionsHeight( 25 ); //ensure subdivisionsHeight is non used in non tick-style scalebars
Q_NOWARN_DEPRECATED_PUSH
scalebar->setLineWidth( 1.0 );
scalebar->setFillColor( Qt::black );
Expand Down Expand Up @@ -495,6 +497,7 @@ void TestQgsLayoutScaleBar::numeric()
scalebar->setNumberOfSegmentsLeft( 0 );
scalebar->setNumberOfSegments( 2 );
scalebar->setHeight( 5 );
scalebar->setSubdivisionsHeight( 25 ); //ensure subdivisionsHeight is non used in non tick-style scalebars
Q_NOWARN_DEPRECATED_PUSH
scalebar->setLineWidth( 1.0 );
Q_NOWARN_DEPRECATED_POP
Expand Down Expand Up @@ -760,6 +763,7 @@ void TestQgsLayoutScaleBar::steppedLine()
scalebar->setNumberOfSegmentsLeft( 2 );
scalebar->setNumberOfSegments( 2 );
scalebar->setHeight( 20 );
scalebar->setSubdivisionsHeight( 25 ); //ensure subdivisionsHeight is non used in non tick-style scalebars

std::unique_ptr< QgsLineSymbol > lineSymbol = qgis::make_unique< QgsLineSymbol >();
std::unique_ptr< QgsSimpleLineSymbolLayer > lineSymbolLayer = qgis::make_unique< QgsSimpleLineSymbolLayer >();
Expand Down Expand Up @@ -804,6 +808,7 @@ void TestQgsLayoutScaleBar::hollow()
scalebar->setNumberOfSegmentsLeft( 2 );
scalebar->setNumberOfSegments( 2 );
scalebar->setHeight( 20 );
scalebar->setSubdivisionsHeight( 25 ); //ensure subdivisionsHeight is non used in non tick-style scalebars

std::unique_ptr< QgsLineSymbol > lineSymbol = qgis::make_unique< QgsLineSymbol >();
std::unique_ptr< QgsSimpleLineSymbolLayer > lineSymbolLayer = qgis::make_unique< QgsSimpleLineSymbolLayer >();
Expand Down

0 comments on commit 27f345f

Please sign in to comment.