@@ -168,7 +168,11 @@ class TestQgsLegendRenderer : public QgsTest
168
168
void testRightAlignTextRightAlignSymbol ();
169
169
170
170
void testGroupHeadingSpacing ();
171
- void testGroupIndent ();
171
+ void testGroupIndentSetup ();
172
+ void testGroupIndentDefault ();
173
+ void testGroupIndentRS ();
174
+ void testGroupIndentRT ();
175
+ void testGroupIndentRSRT ();
172
176
173
177
void testMapUnits ();
174
178
void testTallSymbol ();
@@ -695,20 +699,11 @@ void TestQgsLegendRenderer::testGroupHeadingSpacing()
695
699
QVERIFY ( _verifyImage ( res, QStringLiteral ( " legend_group_heading_spacing" ) ) );
696
700
}
697
701
698
- void TestQgsLegendRenderer::testGroupIndent ()
702
+ void TestQgsLegendRenderer::testGroupIndentSetup ()
699
703
{
700
704
QgsMarkerSymbol *sym = new QgsMarkerSymbol ();
701
705
sym->setColor ( Qt::red );
702
- sym->setSize ( sym->size () * 6 );
703
- QgsCategorizedSymbolRenderer *catRenderer = dynamic_cast <QgsCategorizedSymbolRenderer *>( mVL3 ->renderer () );
704
- QVERIFY ( catRenderer );
705
- catRenderer->updateCategorySymbol ( 0 , sym );
706
-
707
- QgsLayerTreeModel legendModel ( mRoot );
708
- QgsLegendSettings settings;
709
-
710
706
QgsLayerTreeGroup *grp2 = mRoot ->addGroup ( QStringLiteral ( " Subgroup" ) );
711
- sym->setSize ( sym->size () / 6 );
712
707
grp2->setCustomProperty ( QStringLiteral ( " legend/title-style" ), QLatin1String ( " subgroup" ) );
713
708
for ( int i = 1 ; i <= 4 ; ++i )
714
709
{
@@ -717,35 +712,93 @@ void TestQgsLegendRenderer::testGroupIndent()
717
712
vl->setRenderer ( new QgsSingleSymbolRenderer ( sym->clone () ) );
718
713
grp2->addLayer ( vl );
719
714
}
715
+ }
716
+
720
717
718
+ void TestQgsLegendRenderer::testGroupIndentDefault ()
719
+ {
720
+ testGroupIndentSetup ();
721
+ QgsMarkerSymbol *sym = new QgsMarkerSymbol ();
722
+ sym->setColor ( Qt::red );
723
+ sym->setSize ( sym->size () * 6 );
724
+ QgsCategorizedSymbolRenderer *catRenderer = dynamic_cast <QgsCategorizedSymbolRenderer *>( mVL3 ->renderer () );
725
+ QVERIFY ( catRenderer );
726
+ catRenderer->updateCategorySymbol ( 0 , sym );
727
+ QgsLayerTreeModel legendModel ( mRoot );
728
+ QgsLegendSettings settings;
721
729
settings.rstyle ( QgsLegendStyle::Group ).setIndent ( 10 );
722
730
settings.rstyle ( QgsLegendStyle::Subgroup ).setIndent ( 5 );
723
731
_setStandardTestFont ( settings, QStringLiteral ( " Bold" ) );
724
732
725
733
QImage res = _renderLegend ( &legendModel, settings );
726
734
QVERIFY ( _verifyImage ( res, QStringLiteral ( " legend_group_indent" ) ) );
735
+ }
727
736
737
+ void TestQgsLegendRenderer::testGroupIndentRT ()
738
+ {
739
+ testGroupIndentSetup ();
740
+ QgsMarkerSymbol *sym = new QgsMarkerSymbol ();
741
+ sym->setColor ( Qt::red );
742
+ sym->setSize ( sym->size () * 6 );
743
+ QgsCategorizedSymbolRenderer *catRenderer = dynamic_cast <QgsCategorizedSymbolRenderer *>( mVL3 ->renderer () );
744
+ QVERIFY ( catRenderer );
745
+ catRenderer->updateCategorySymbol ( 0 , sym );
746
+ QgsLayerTreeModel legendModel ( mRoot );
747
+ QgsLegendSettings settings;
748
+ settings.rstyle ( QgsLegendStyle::Group ).setIndent ( 10 );
749
+ settings.rstyle ( QgsLegendStyle::Subgroup ).setIndent ( 5 );
750
+ _setStandardTestFont ( settings, QStringLiteral ( " Bold" ) );
728
751
settings.rstyle ( QgsLegendStyle::Group ).setAlignment ( Qt::AlignRight );
729
752
settings.rstyle ( QgsLegendStyle::Subgroup ).setAlignment ( Qt::AlignRight );
730
753
settings.rstyle ( QgsLegendStyle::SymbolLabel ).setAlignment ( Qt::AlignRight );
731
754
732
- res = _renderLegend ( &legendModel, settings );
755
+ QImage res = _renderLegend ( &legendModel, settings );
733
756
QVERIFY ( _verifyImage ( res, QStringLiteral ( " legend_group_indent_right_align_text" ) ) );
757
+ }
734
758
759
+ void TestQgsLegendRenderer::testGroupIndentRS ()
760
+ {
761
+ testGroupIndentSetup ();
762
+ QgsMarkerSymbol *sym = new QgsMarkerSymbol ();
763
+ sym->setColor ( Qt::red );
764
+ sym->setSize ( sym->size () * 6 );
765
+ QgsCategorizedSymbolRenderer *catRenderer = dynamic_cast <QgsCategorizedSymbolRenderer *>( mVL3 ->renderer () );
766
+ QVERIFY ( catRenderer );
767
+ catRenderer->updateCategorySymbol ( 0 , sym );
768
+ QgsLayerTreeModel legendModel ( mRoot );
769
+ QgsLegendSettings settings;
770
+ settings.rstyle ( QgsLegendStyle::Group ).setIndent ( 10 );
771
+ settings.rstyle ( QgsLegendStyle::Subgroup ).setIndent ( 5 );
772
+ _setStandardTestFont ( settings, QStringLiteral ( " Bold" ) );
735
773
settings.rstyle ( QgsLegendStyle::Group ).setAlignment ( Qt::AlignLeft );
736
774
settings.rstyle ( QgsLegendStyle::Subgroup ).setAlignment ( Qt::AlignLeft );
737
775
settings.rstyle ( QgsLegendStyle::SymbolLabel ).setAlignment ( Qt::AlignLeft );
738
776
settings.setSymbolAlignment ( Qt::AlignRight );
739
777
740
- res = _renderLegend ( &legendModel, settings );
778
+ QImage res = _renderLegend ( &legendModel, settings );
741
779
QVERIFY ( _verifyImage ( res, QStringLiteral ( " legend_group_indent_right_align_symbol" ) ) );
780
+ }
742
781
782
+ void TestQgsLegendRenderer::testGroupIndentRSRT ()
783
+ {
784
+ testGroupIndentSetup ();
785
+ QgsMarkerSymbol *sym = new QgsMarkerSymbol ();
786
+ sym->setColor ( Qt::red );
787
+ sym->setSize ( sym->size () * 6 );
788
+ QgsCategorizedSymbolRenderer *catRenderer = dynamic_cast <QgsCategorizedSymbolRenderer *>( mVL3 ->renderer () );
789
+ QVERIFY ( catRenderer );
790
+ catRenderer->updateCategorySymbol ( 0 , sym );
791
+ QgsLayerTreeModel legendModel ( mRoot );
792
+ QgsLegendSettings settings;
793
+ settings.rstyle ( QgsLegendStyle::Group ).setIndent ( 10 );
794
+ settings.rstyle ( QgsLegendStyle::Subgroup ).setIndent ( 5 );
795
+ _setStandardTestFont ( settings, QStringLiteral ( " Bold" ) );
743
796
settings.rstyle ( QgsLegendStyle::Group ).setAlignment ( Qt::AlignRight );
744
797
settings.rstyle ( QgsLegendStyle::Subgroup ).setAlignment ( Qt::AlignRight );
745
798
settings.rstyle ( QgsLegendStyle::SymbolLabel ).setAlignment ( Qt::AlignRight );
746
799
settings.setSymbolAlignment ( Qt::AlignRight );
747
800
748
- res = _renderLegend ( &legendModel, settings );
801
+ QImage res = _renderLegend ( &legendModel, settings );
749
802
QVERIFY ( _verifyImage ( res, QStringLiteral ( " legend_group_indent_right_align_symbol_right_align_text" ) ) );
750
803
}
751
804
0 commit comments