@@ -34,14 +34,25 @@ QgsLayoutMapGridWidget::QgsLayoutMapGridWidget( QgsLayoutItemMapGrid *mapGrid, Q
34
34
, mMapGrid( mapGrid )
35
35
{
36
36
setupUi ( this );
37
+
38
+ mFrameStyleComboBox ->addItem ( tr ( " No Frame" ), QgsLayoutItemMapGrid::NoFrame );
39
+ mFrameStyleComboBox ->addItem ( tr ( " Zebra" ), QgsLayoutItemMapGrid::Zebra );
40
+ mFrameStyleComboBox ->addItem ( tr ( " Interior Ticks" ), QgsLayoutItemMapGrid::InteriorTicks );
41
+ mFrameStyleComboBox ->addItem ( tr ( " Exterior Ticks" ), QgsLayoutItemMapGrid::ExteriorTicks );
42
+ mFrameStyleComboBox ->addItem ( tr ( " Interior and Exterior Ticks" ), QgsLayoutItemMapGrid::InteriorExteriorTicks );
43
+ mFrameStyleComboBox ->addItem ( tr ( " Line Border" ), QgsLayoutItemMapGrid::LineBorder );
44
+ mFrameStyleComboBox ->addItem ( tr ( " Line Border (Nautical)" ), QgsLayoutItemMapGrid::LineBorderNautical );
45
+
46
+ mGridFrameMarginSpinBox ->setClearValue ( 0 );
47
+
37
48
connect ( mIntervalXSpinBox , &QgsDoubleSpinBox::editingFinished, this , &QgsLayoutMapGridWidget::mIntervalXSpinBox_editingFinished );
38
49
connect ( mIntervalYSpinBox , &QgsDoubleSpinBox::editingFinished, this , &QgsLayoutMapGridWidget::mIntervalYSpinBox_editingFinished );
39
50
connect ( mOffsetXSpinBox , static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this , &QgsLayoutMapGridWidget::mOffsetXSpinBox_valueChanged );
40
51
connect ( mOffsetYSpinBox , static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this , &QgsLayoutMapGridWidget::mOffsetYSpinBox_valueChanged );
41
52
connect ( mCrossWidthSpinBox , static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this , &QgsLayoutMapGridWidget::mCrossWidthSpinBox_valueChanged );
42
53
connect ( mFrameWidthSpinBox , static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this , &QgsLayoutMapGridWidget::mFrameWidthSpinBox_valueChanged );
43
54
connect ( mGridFrameMarginSpinBox , static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this , &QgsLayoutMapGridWidget::mGridFrameMarginSpinBox_valueChanged );
44
- connect ( mFrameStyleComboBox , static_cast <void ( QComboBox::* )( const QString & )>( &QComboBox::currentIndexChanged ), this , &QgsLayoutMapGridWidget::mFrameStyleComboBox_currentIndexChanged );
55
+ connect ( mFrameStyleComboBox , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsLayoutMapGridWidget::mFrameStyleComboBox_currentIndexChanged );
45
56
connect ( mGridFramePenSizeSpinBox , static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this , &QgsLayoutMapGridWidget::mGridFramePenSizeSpinBox_valueChanged );
46
57
connect ( mGridFramePenColorButton , &QgsColorButton::colorChanged, this , &QgsLayoutMapGridWidget::mGridFramePenColorButton_colorChanged );
47
58
connect ( mGridFrameFill1ColorButton , &QgsColorButton::colorChanged, this , &QgsLayoutMapGridWidget::mGridFrameFill1ColorButton_colorChanged );
@@ -522,30 +533,22 @@ void QgsLayoutMapGridWidget::setGridItems()
522
533
mFrameWidthSpinBox ->setValue ( mMapGrid ->frameWidth () );
523
534
mGridFrameMarginSpinBox ->setValue ( mMapGrid ->gridFrameMargin () );
524
535
QgsLayoutItemMapGrid::FrameStyle gridFrameStyle = mMapGrid ->frameStyle ();
536
+ mFrameStyleComboBox ->setCurrentIndex ( mFrameStyleComboBox ->findData ( gridFrameStyle ) );
525
537
switch ( gridFrameStyle )
526
538
{
527
539
case QgsLayoutItemMapGrid::Zebra:
528
- mFrameStyleComboBox ->setCurrentIndex ( 1 );
529
540
toggleFrameControls ( true , true , true );
530
541
break ;
531
542
case QgsLayoutItemMapGrid::InteriorTicks:
532
- mFrameStyleComboBox ->setCurrentIndex ( 2 );
533
- toggleFrameControls ( true , false , true );
534
- break ;
535
543
case QgsLayoutItemMapGrid::ExteriorTicks:
536
- mFrameStyleComboBox ->setCurrentIndex ( 3 );
537
- toggleFrameControls ( true , false , true );
538
- break ;
539
544
case QgsLayoutItemMapGrid::InteriorExteriorTicks:
540
- mFrameStyleComboBox ->setCurrentIndex ( 4 );
541
545
toggleFrameControls ( true , false , true );
542
546
break ;
543
547
case QgsLayoutItemMapGrid::LineBorder:
544
- mFrameStyleComboBox -> setCurrentIndex ( 5 );
548
+ case QgsLayoutItemMapGrid::LineBorderNautical:
545
549
toggleFrameControls ( true , false , false );
546
550
break ;
547
- default :
548
- mFrameStyleComboBox ->setCurrentIndex ( 0 );
551
+ case QgsLayoutItemMapGrid::NoFrame:
549
552
toggleFrameControls ( false , false , false );
550
553
break ;
551
554
}
@@ -838,43 +841,33 @@ void QgsLayoutMapGridWidget::mGridFrameFill2ColorButton_colorChanged( const QCol
838
841
mMap ->endCommand ();
839
842
}
840
843
841
- void QgsLayoutMapGridWidget::mFrameStyleComboBox_currentIndexChanged ( const QString &text )
844
+ void QgsLayoutMapGridWidget::mFrameStyleComboBox_currentIndexChanged ( int )
842
845
{
843
846
if ( !mMapGrid || !mMap )
844
847
{
845
848
return ;
846
849
}
847
850
851
+ QgsLayoutItemMapGrid::FrameStyle style = static_cast < QgsLayoutItemMapGrid::FrameStyle >( mFrameStyleComboBox ->currentData ().toInt () );
848
852
mMap ->beginCommand ( tr ( " Change Frame Style" ) );
849
- if ( text == tr ( " Zebra" ) )
850
- {
851
- mMapGrid ->setFrameStyle ( QgsLayoutItemMapGrid::Zebra );
852
- toggleFrameControls ( true , true , true );
853
- }
854
- else if ( text == tr ( " Interior ticks" ) )
855
- {
856
- mMapGrid ->setFrameStyle ( QgsLayoutItemMapGrid::InteriorTicks );
857
- toggleFrameControls ( true , false , true );
858
- }
859
- else if ( text == tr ( " Exterior ticks" ) )
860
- {
861
- mMapGrid ->setFrameStyle ( QgsLayoutItemMapGrid::ExteriorTicks );
862
- toggleFrameControls ( true , false , true );
863
- }
864
- else if ( text == tr ( " Interior and exterior ticks" ) )
865
- {
866
- mMapGrid ->setFrameStyle ( QgsLayoutItemMapGrid::InteriorExteriorTicks );
867
- toggleFrameControls ( true , false , true );
868
- }
869
- else if ( text == tr ( " Line border" ) )
853
+ mMapGrid ->setFrameStyle ( style );
854
+ switch ( style )
870
855
{
871
- mMapGrid ->setFrameStyle ( QgsLayoutItemMapGrid::LineBorder );
872
- toggleFrameControls ( true , false , false );
873
- }
874
- else // no frame
875
- {
876
- mMapGrid ->setFrameStyle ( QgsLayoutItemMapGrid::NoFrame );
877
- toggleFrameControls ( false , false , false );
856
+ case QgsLayoutItemMapGrid::Zebra:
857
+ toggleFrameControls ( true , true , true );
858
+ break ;
859
+ case QgsLayoutItemMapGrid::InteriorTicks:
860
+ case QgsLayoutItemMapGrid::ExteriorTicks:
861
+ case QgsLayoutItemMapGrid::InteriorExteriorTicks:
862
+ toggleFrameControls ( true , false , true );
863
+ break ;
864
+ case QgsLayoutItemMapGrid::LineBorder:
865
+ case QgsLayoutItemMapGrid::LineBorderNautical:
866
+ toggleFrameControls ( true , false , false );
867
+ break ;
868
+ case QgsLayoutItemMapGrid::NoFrame:
869
+ toggleFrameControls ( false , false , false );
870
+ break ;
878
871
}
879
872
mMap ->updateBoundingRect ();
880
873
mMap ->update ();
0 commit comments