@@ -69,6 +69,11 @@ QgsComposerMapWidget::QgsComposerMapWidget( QgsComposerMap* composerMap ): QgsCo
69
69
mGridTypeComboBox ->insertItem ( 2 , tr ( " Markers" ) );
70
70
mGridTypeComboBox ->insertItem ( 3 , tr ( " Frame and annotations only" ) );
71
71
72
+ insertFrameDisplayEntries ( mFrameDivisionsLeftComboBox );
73
+ insertFrameDisplayEntries ( mFrameDivisionsRightComboBox );
74
+ insertFrameDisplayEntries ( mFrameDivisionsTopComboBox );
75
+ insertFrameDisplayEntries ( mFrameDivisionsBottomComboBox );
76
+
72
77
mAnnotationFormatComboBox ->insertItem ( 0 , tr ( " Decimal" ) );
73
78
mAnnotationFormatComboBox ->insertItem ( 1 , tr ( " Decimal with suffix" ) );
74
79
mAnnotationFormatComboBox ->insertItem ( 2 , tr ( " Degree, minute" ) );
@@ -78,11 +83,15 @@ QgsComposerMapWidget::QgsComposerMapWidget( QgsComposerMap* composerMap ): QgsCo
78
83
mAnnotationFormatComboBox ->insertItem ( 6 , tr ( " Degree, minute, second with suffix" ) );
79
84
mAnnotationFormatComboBox ->insertItem ( 7 , tr ( " Degree, minute, second aligned" ) );
80
85
81
-
82
86
mAnnotationFontColorButton ->setColorDialogTitle ( tr ( " Select font color" ) );
83
87
mAnnotationFontColorButton ->setAllowAlpha ( true );
84
88
mAnnotationFontColorButton ->setContext ( " composer" );
85
89
90
+ insertAnnotationDisplayEntries ( mAnnotationDisplayLeftComboBox );
91
+ insertAnnotationDisplayEntries ( mAnnotationDisplayRightComboBox );
92
+ insertAnnotationDisplayEntries ( mAnnotationDisplayTopComboBox );
93
+ insertAnnotationDisplayEntries ( mAnnotationDisplayBottomComboBox );
94
+
86
95
insertAnnotationPositionEntries ( mAnnotationPositionLeftComboBox );
87
96
insertAnnotationPositionEntries ( mAnnotationPositionRightComboBox );
88
97
insertAnnotationPositionEntries ( mAnnotationPositionTopComboBox );
@@ -757,6 +766,50 @@ void QgsComposerMapWidget::blockAllSignals( bool b )
757
766
blockOverviewItemsSignals ( b );
758
767
}
759
768
769
+ void QgsComposerMapWidget::handleChangedFrameDisplay ( QgsComposerMapGrid::BorderSide border, const QgsComposerMapGrid::DisplayMode mode )
770
+ {
771
+ QgsComposerMapGrid* grid = currentGrid ();
772
+ if ( !grid )
773
+ {
774
+ return ;
775
+ }
776
+
777
+ mComposerMap ->beginCommand ( tr ( " Frame divisions changed" ) );
778
+ grid->setFrameDivisions ( mode, border );
779
+ mComposerMap ->endCommand ();
780
+ }
781
+
782
+ void QgsComposerMapWidget::handleChangedAnnotationDisplay ( QgsComposerMapGrid::BorderSide border, const QString &text )
783
+ {
784
+ QgsComposerMapGrid* grid = currentGrid ();
785
+ if ( !grid )
786
+ {
787
+ return ;
788
+ }
789
+
790
+ mComposerMap ->beginCommand ( tr ( " Annotation display changed" ) );
791
+ if ( text == tr ( " Show all" ) )
792
+ {
793
+ grid->setAnnotationDisplay ( QgsComposerMapGrid::ShowAll, border );
794
+ }
795
+ else if ( text == tr ( " Show latitude only" ) )
796
+ {
797
+ grid->setAnnotationDisplay ( QgsComposerMapGrid::LatitudeOnly, border );
798
+ }
799
+ else if ( text == tr ( " Show longitude only" ) )
800
+ {
801
+ grid->setAnnotationDisplay ( QgsComposerMapGrid::LongitudeOnly, border );
802
+ }
803
+ else // disabled
804
+ {
805
+ grid->setAnnotationDisplay ( QgsComposerMapGrid::HideAll, border );
806
+ }
807
+
808
+ mComposerMap ->updateBoundingRect ();
809
+ mComposerMap ->update ();
810
+ mComposerMap ->endCommand ();
811
+ }
812
+
760
813
void QgsComposerMapWidget::toggleFrameControls ( bool frameEnabled, bool frameFillEnabled, bool frameSizeEnabled )
761
814
{
762
815
// set status of frame controls
@@ -772,6 +825,14 @@ void QgsComposerMapWidget::toggleFrameControls( bool frameEnabled, bool frameFil
772
825
mCheckGridRightSide ->setEnabled ( frameEnabled );
773
826
mCheckGridTopSide ->setEnabled ( frameEnabled );
774
827
mCheckGridBottomSide ->setEnabled ( frameEnabled );
828
+ mFrameDivisionsLeftComboBox ->setEnabled ( frameEnabled );
829
+ mFrameDivisionsRightComboBox ->setEnabled ( frameEnabled );
830
+ mFrameDivisionsTopComboBox ->setEnabled ( frameEnabled );
831
+ mFrameDivisionsBottomComboBox ->setEnabled ( frameEnabled );
832
+ mLeftDivisionsLabel ->setEnabled ( frameEnabled );
833
+ mRightDivisionsLabel ->setEnabled ( frameEnabled );
834
+ mTopDivisionsLabel ->setEnabled ( frameEnabled );
835
+ mBottomDivisionsLabel ->setEnabled ( frameEnabled );
775
836
}
776
837
777
838
void QgsComposerMapWidget::on_mUpdatePreviewButton_clicked ()
@@ -849,7 +910,6 @@ void QgsComposerMapWidget::insertAnnotationPositionEntries( QComboBox* c )
849
910
{
850
911
c->insertItem ( 0 , tr ( " Inside frame" ) );
851
912
c->insertItem ( 1 , tr ( " Outside frame" ) );
852
- c->insertItem ( 2 , tr ( " Disabled" ) );
853
913
}
854
914
855
915
void QgsComposerMapWidget::insertAnnotationDirectionEntries ( QComboBox* c )
@@ -858,6 +918,40 @@ void QgsComposerMapWidget::insertAnnotationDirectionEntries( QComboBox* c )
858
918
c->insertItem ( 1 , tr ( " Vertical" ) );
859
919
}
860
920
921
+ void QgsComposerMapWidget::initFrameDisplayBox ( QComboBox *c, QgsComposerMapGrid::DisplayMode display )
922
+ {
923
+ if ( !c )
924
+ {
925
+ return ;
926
+ }
927
+ c->setCurrentIndex ( c->findData ( display ) );
928
+ }
929
+
930
+ void QgsComposerMapWidget::initAnnotationDisplayBox ( QComboBox *c, QgsComposerMapGrid::DisplayMode display )
931
+ {
932
+ if ( !c )
933
+ {
934
+ return ;
935
+ }
936
+
937
+ if ( display == QgsComposerMapGrid::ShowAll )
938
+ {
939
+ c->setCurrentIndex ( c->findText ( tr ( " Show all" ) ) );
940
+ }
941
+ else if ( display == QgsComposerMapGrid::LatitudeOnly )
942
+ {
943
+ c->setCurrentIndex ( c->findText ( tr ( " Show latitude only" ) ) );
944
+ }
945
+ else if ( display == QgsComposerMapGrid::LongitudeOnly )
946
+ {
947
+ c->setCurrentIndex ( c->findText ( tr ( " Show longitude only" ) ) );
948
+ }
949
+ else
950
+ {
951
+ c->setCurrentIndex ( c->findText ( tr ( " Disabled" ) ) );
952
+ }
953
+ }
954
+
861
955
void QgsComposerMapWidget::handleChangedAnnotationPosition ( QgsComposerMapGrid::BorderSide border, const QString& text )
862
956
{
863
957
QgsComposerMapGrid* grid = currentGrid ();
@@ -907,6 +1001,21 @@ void QgsComposerMapWidget::handleChangedAnnotationDirection( QgsComposerMapGrid:
907
1001
mComposerMap ->endCommand ();
908
1002
}
909
1003
1004
+ void QgsComposerMapWidget::insertFrameDisplayEntries ( QComboBox *c )
1005
+ {
1006
+ c->addItem ( tr ( " All" ), QgsComposerMapGrid::ShowAll );
1007
+ c->addItem ( tr ( " Latitude/Y only" ), QgsComposerMapGrid::LatitudeOnly );
1008
+ c->addItem ( tr ( " Longitude/X only" ), QgsComposerMapGrid::LongitudeOnly );
1009
+ }
1010
+
1011
+ void QgsComposerMapWidget::insertAnnotationDisplayEntries ( QComboBox *c )
1012
+ {
1013
+ c->insertItem ( 0 , tr ( " Show all" ) );
1014
+ c->insertItem ( 1 , tr ( " Show latitude only" ) );
1015
+ c->insertItem ( 2 , tr ( " Show longitude only" ) );
1016
+ c->insertItem ( 3 , tr ( " Disabled" ) );
1017
+ }
1018
+
910
1019
void QgsComposerMapWidget::initAnnotationPositionBox ( QComboBox* c, QgsComposerMapGrid::AnnotationPosition pos )
911
1020
{
912
1021
if ( !c )
@@ -918,14 +1027,10 @@ void QgsComposerMapWidget::initAnnotationPositionBox( QComboBox* c, QgsComposerM
918
1027
{
919
1028
c->setCurrentIndex ( c->findText ( tr ( " Inside frame" ) ) );
920
1029
}
921
- else if ( pos == QgsComposerMapGrid::OutsideMapFrame )
1030
+ else
922
1031
{
923
1032
c->setCurrentIndex ( c->findText ( tr ( " Outside frame" ) ) );
924
1033
}
925
- else // disabled
926
- {
927
- c->setCurrentIndex ( c->findText ( tr ( " Disabled" ) ) );
928
- }
929
1034
}
930
1035
931
1036
void QgsComposerMapWidget::initAnnotationDirectionBox ( QComboBox* c, QgsComposerMapGrid::AnnotationDirection dir )
@@ -1160,6 +1265,10 @@ void QgsComposerMapWidget::setGridItemsEnabled( bool enabled )
1160
1265
mGridFramePenColorButton ->setEnabled ( enabled );
1161
1266
mGridFrameFill1ColorButton ->setEnabled ( enabled );
1162
1267
mGridFrameFill2ColorButton ->setEnabled ( enabled );
1268
+ mFrameDivisionsLeftComboBox ->setEnabled ( enabled );
1269
+ mFrameDivisionsRightComboBox ->setEnabled ( enabled );
1270
+ mFrameDivisionsTopComboBox ->setEnabled ( enabled );
1271
+ mFrameDivisionsBottomComboBox ->setEnabled ( enabled );
1163
1272
}
1164
1273
1165
1274
void QgsComposerMapWidget::blockGridItemsSignals ( bool block )
@@ -1185,16 +1294,24 @@ void QgsComposerMapWidget::blockGridItemsSignals( bool block )
1185
1294
mCheckGridRightSide ->blockSignals ( block );
1186
1295
mCheckGridTopSide ->blockSignals ( block );
1187
1296
mCheckGridBottomSide ->blockSignals ( block );
1297
+ mFrameDivisionsLeftComboBox ->blockSignals ( block );
1298
+ mFrameDivisionsRightComboBox ->blockSignals ( block );
1299
+ mFrameDivisionsTopComboBox ->blockSignals ( block );
1300
+ mFrameDivisionsBottomComboBox ->blockSignals ( block );
1188
1301
1189
1302
// grid annotation
1190
1303
mDrawAnnotationGroupBox ->blockSignals ( block );
1191
1304
mAnnotationFormatComboBox ->blockSignals ( block );
1305
+ mAnnotationDisplayLeftComboBox ->blockSignals ( block );
1192
1306
mAnnotationPositionLeftComboBox ->blockSignals ( block );
1193
1307
mAnnotationDirectionComboBoxLeft ->blockSignals ( block );
1308
+ mAnnotationDisplayRightComboBox ->blockSignals ( block );
1194
1309
mAnnotationPositionRightComboBox ->blockSignals ( block );
1195
1310
mAnnotationDirectionComboBoxRight ->blockSignals ( block );
1311
+ mAnnotationDisplayTopComboBox ->blockSignals ( block );
1196
1312
mAnnotationPositionTopComboBox ->blockSignals ( block );
1197
1313
mAnnotationDirectionComboBoxTop ->blockSignals ( block );
1314
+ mAnnotationDisplayBottomComboBox ->blockSignals ( block );
1198
1315
mAnnotationPositionBottomComboBox ->blockSignals ( block );
1199
1316
mAnnotationDirectionComboBoxBottom ->blockSignals ( block );
1200
1317
mDistanceToMapFrameSpinBox ->blockSignals ( block );
@@ -1310,6 +1427,11 @@ void QgsComposerMapWidget::setGridItems( const QgsComposerMapGrid* grid )
1310
1427
mCheckGridTopSide ->setChecked ( grid->testFrameSideFlag ( QgsComposerMapGrid::FrameTop ) );
1311
1428
mCheckGridBottomSide ->setChecked ( grid->testFrameSideFlag ( QgsComposerMapGrid::FrameBottom ) );
1312
1429
1430
+ initFrameDisplayBox ( mFrameDivisionsLeftComboBox , grid->frameDivisions ( QgsComposerMapGrid::Left ) );
1431
+ initFrameDisplayBox ( mFrameDivisionsRightComboBox , grid->frameDivisions ( QgsComposerMapGrid::Right ) );
1432
+ initFrameDisplayBox ( mFrameDivisionsTopComboBox , grid->frameDivisions ( QgsComposerMapGrid::Top ) );
1433
+ initFrameDisplayBox ( mFrameDivisionsBottomComboBox , grid->frameDivisions ( QgsComposerMapGrid::Bottom ) );
1434
+
1313
1435
// line style
1314
1436
updateGridLineSymbolMarker ( grid );
1315
1437
// marker style
@@ -1318,6 +1440,11 @@ void QgsComposerMapWidget::setGridItems( const QgsComposerMapGrid* grid )
1318
1440
mGridBlendComboBox ->setBlendMode ( grid->blendMode () );
1319
1441
1320
1442
mDrawAnnotationGroupBox ->setChecked ( grid->annotationEnabled () );
1443
+ initAnnotationDisplayBox ( mAnnotationDisplayLeftComboBox , grid->annotationDisplay ( QgsComposerMapGrid::Left ) );
1444
+ initAnnotationDisplayBox ( mAnnotationDisplayRightComboBox , grid->annotationDisplay ( QgsComposerMapGrid::Right ) );
1445
+ initAnnotationDisplayBox ( mAnnotationDisplayTopComboBox , grid->annotationDisplay ( QgsComposerMapGrid::Top ) );
1446
+ initAnnotationDisplayBox ( mAnnotationDisplayBottomComboBox , grid->annotationDisplay ( QgsComposerMapGrid::Bottom ) );
1447
+
1321
1448
initAnnotationPositionBox ( mAnnotationPositionLeftComboBox , grid->annotationPosition ( QgsComposerMapGrid::Left ) );
1322
1449
initAnnotationPositionBox ( mAnnotationPositionRightComboBox , grid->annotationPosition ( QgsComposerMapGrid::Right ) );
1323
1450
initAnnotationPositionBox ( mAnnotationPositionTopComboBox , grid->annotationPosition ( QgsComposerMapGrid::Top ) );
@@ -1598,6 +1725,26 @@ void QgsComposerMapWidget::on_mCheckGridBottomSide_toggled( bool checked )
1598
1725
mComposerMap ->endCommand ();
1599
1726
}
1600
1727
1728
+ void QgsComposerMapWidget::on_mFrameDivisionsLeftComboBox_currentIndexChanged ( int index )
1729
+ {
1730
+ handleChangedFrameDisplay ( QgsComposerMapGrid::Left, ( QgsComposerMapGrid::DisplayMode ) mFrameDivisionsLeftComboBox ->itemData ( index ).toInt () );
1731
+ }
1732
+
1733
+ void QgsComposerMapWidget::on_mFrameDivisionsRightComboBox_currentIndexChanged ( int index )
1734
+ {
1735
+ handleChangedFrameDisplay ( QgsComposerMapGrid::Right, ( QgsComposerMapGrid::DisplayMode ) mFrameDivisionsRightComboBox ->itemData ( index ).toInt () );
1736
+ }
1737
+
1738
+ void QgsComposerMapWidget::on_mFrameDivisionsTopComboBox_currentIndexChanged ( int index )
1739
+ {
1740
+ handleChangedFrameDisplay ( QgsComposerMapGrid::Top, ( QgsComposerMapGrid::DisplayMode ) mFrameDivisionsTopComboBox ->itemData ( index ).toInt () );
1741
+ }
1742
+
1743
+ void QgsComposerMapWidget::on_mFrameDivisionsBottomComboBox_currentIndexChanged ( int index )
1744
+ {
1745
+ handleChangedFrameDisplay ( QgsComposerMapGrid::Bottom, ( QgsComposerMapGrid::DisplayMode ) mFrameDivisionsBottomComboBox ->itemData ( index ).toInt () );
1746
+ }
1747
+
1601
1748
void QgsComposerMapWidget::on_mGridFramePenSizeSpinBox_valueChanged ( double d )
1602
1749
{
1603
1750
QgsComposerMapGrid* grid = currentGrid ();
@@ -1839,6 +1986,26 @@ void QgsComposerMapWidget::on_mDrawAnnotationGroupBox_toggled( bool state )
1839
1986
mComposerMap ->endCommand ();
1840
1987
}
1841
1988
1989
+ void QgsComposerMapWidget::on_mAnnotationDisplayLeftComboBox_currentIndexChanged ( const QString &text )
1990
+ {
1991
+ handleChangedAnnotationDisplay ( QgsComposerMapGrid::Left, text );
1992
+ }
1993
+
1994
+ void QgsComposerMapWidget::on_mAnnotationDisplayRightComboBox_currentIndexChanged ( const QString &text )
1995
+ {
1996
+ handleChangedAnnotationDisplay ( QgsComposerMapGrid::Right, text );
1997
+ }
1998
+
1999
+ void QgsComposerMapWidget::on_mAnnotationDisplayTopComboBox_currentIndexChanged ( const QString &text )
2000
+ {
2001
+ handleChangedAnnotationDisplay ( QgsComposerMapGrid::Top, text );
2002
+ }
2003
+
2004
+ void QgsComposerMapWidget::on_mAnnotationDisplayBottomComboBox_currentIndexChanged ( const QString &text )
2005
+ {
2006
+ handleChangedAnnotationDisplay ( QgsComposerMapGrid::Bottom, text );
2007
+ }
2008
+
1842
2009
void QgsComposerMapWidget::on_mAnnotationPositionLeftComboBox_currentIndexChanged ( const QString& text )
1843
2010
{
1844
2011
handleChangedAnnotationPosition ( QgsComposerMapGrid::Left, text );
0 commit comments