32#include "moc_qgslayoutmapgridwidget.cpp"
55 mGridFrameMarginSpinBox->setShowClearButton(
true );
56 mGridFrameMarginSpinBox->setClearValue( 0 );
58 mDistanceToMapFrameSpinBox->setShowClearButton(
true );
59 mDistanceToMapFrameSpinBox->setClearValue( 0 );
61 mOffsetXSpinBox->setShowClearButton(
true );
62 mOffsetXSpinBox->setClearValue( 0 );
63 mOffsetYSpinBox->setShowClearButton(
true );
64 mOffsetYSpinBox->setClearValue( 0 );
66 connect( mIntervalXSpinBox, &QgsDoubleSpinBox::editingFinished,
this, &QgsLayoutMapGridWidget::mIntervalXSpinBox_editingFinished );
67 connect( mIntervalYSpinBox, &QgsDoubleSpinBox::editingFinished,
this, &QgsLayoutMapGridWidget::mIntervalYSpinBox_editingFinished );
68 connect( mOffsetXSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mOffsetXSpinBox_valueChanged );
69 connect( mOffsetYSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mOffsetYSpinBox_valueChanged );
70 connect( mCrossWidthSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mCrossWidthSpinBox_valueChanged );
71 connect( mFrameWidthSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mFrameWidthSpinBox_valueChanged );
72 connect( mGridFrameMarginSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mGridFrameMarginSpinBox_valueChanged );
73 connect( mFrameStyleComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameStyleComboBox_currentIndexChanged );
74 connect( mRotatedTicksGroupBox, &QGroupBox::toggled,
this, &QgsLayoutMapGridWidget::mRotatedTicksGroupBox_toggled );
75 connect( mRotatedTicksLengthModeComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mRotatedTicksLengthModeComboBox_currentIndexChanged );
76 connect( mRotatedTicksThresholdSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mRotatedTicksThresholdSpinBox_valueChanged );
77 connect( mRotatedTicksMarginToCornerSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mRotatedTicksMarginToCornerSpinBox_valueChanged );
78 connect( mRotatedAnnotationsGroupBox, &QGroupBox::toggled,
this, &QgsLayoutMapGridWidget::mRotatedAnnotationsGroupBox_toggled );
79 connect( mRotatedAnnotationsLengthModeComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mRotatedAnnotationsLengthModeComboBox_currentIndexChanged );
80 connect( mRotatedAnnotationsThresholdSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mRotatedAnnotationsThresholdSpinBox_valueChanged );
81 connect( mRotatedAnnotationsMarginToCornerSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mRotatedAnnotationsMarginToCornerSpinBox_valueChanged );
82 connect( mGridFramePenSizeSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mGridFramePenSizeSpinBox_valueChanged );
83 connect( mGridFramePenColorButton, &
QgsColorButton::colorChanged,
this, &QgsLayoutMapGridWidget::mGridFramePenColorButton_colorChanged );
84 connect( mGridFrameFill1ColorButton, &
QgsColorButton::colorChanged,
this, &QgsLayoutMapGridWidget::mGridFrameFill1ColorButton_colorChanged );
85 connect( mGridFrameFill2ColorButton, &
QgsColorButton::colorChanged,
this, &QgsLayoutMapGridWidget::mGridFrameFill2ColorButton_colorChanged );
86 connect( mGridTypeComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mGridTypeComboBox_currentIndexChanged );
87 connect( mMapGridUnitComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::intervalUnitChanged );
88 connect( mGridBlendComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mGridBlendComboBox_currentIndexChanged );
89 connect( mCheckGridLeftSide, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::mCheckGridLeftSide_toggled );
90 connect( mCheckGridRightSide, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::mCheckGridRightSide_toggled );
91 connect( mCheckGridTopSide, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::mCheckGridTopSide_toggled );
92 connect( mCheckGridBottomSide, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::mCheckGridBottomSide_toggled );
93 connect( mFrameDivisionsLeftComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameDivisionsLeftComboBox_currentIndexChanged );
94 connect( mFrameDivisionsRightComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameDivisionsRightComboBox_currentIndexChanged );
95 connect( mFrameDivisionsTopComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameDivisionsTopComboBox_currentIndexChanged );
96 connect( mFrameDivisionsBottomComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameDivisionsBottomComboBox_currentIndexChanged );
97 connect( mDrawAnnotationGroupBox, &QgsCollapsibleGroupBoxBasic::toggled,
this, &QgsLayoutMapGridWidget::mDrawAnnotationGroupBox_toggled );
98 connect( mAnnotationFormatButton, &QToolButton::clicked,
this, &QgsLayoutMapGridWidget::mAnnotationFormatButton_clicked );
99 connect( mAnnotationDisplayLeftComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDisplayLeftComboBox_currentIndexChanged );
100 connect( mAnnotationDisplayRightComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDisplayRightComboBox_currentIndexChanged );
101 connect( mAnnotationDisplayTopComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDisplayTopComboBox_currentIndexChanged );
102 connect( mAnnotationDisplayBottomComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDisplayBottomComboBox_currentIndexChanged );
103 connect( mAnnotationPositionLeftComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationPositionLeftComboBox_currentIndexChanged );
104 connect( mAnnotationPositionRightComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationPositionRightComboBox_currentIndexChanged );
105 connect( mAnnotationPositionTopComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationPositionTopComboBox_currentIndexChanged );
106 connect( mAnnotationPositionBottomComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationPositionBottomComboBox_currentIndexChanged );
107 connect( mAnnotationDirectionComboBoxLeft,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxLeft_currentIndexChanged );
108 connect( mAnnotationDirectionComboBoxRight,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxRight_currentIndexChanged );
109 connect( mAnnotationDirectionComboBoxTop,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxTop_currentIndexChanged );
110 connect( mAnnotationDirectionComboBoxBottom,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxBottom_currentIndexChanged );
111 connect( mAnnotationFormatComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationFormatComboBox_currentIndexChanged );
112 connect( mCoordinatePrecisionSpinBox,
static_cast<void ( QSpinBox::* )(
int )
>( &QSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mCoordinatePrecisionSpinBox_valueChanged );
113 connect( mDistanceToMapFrameSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mDistanceToMapFrameSpinBox_valueChanged );
114 connect( mMinWidthSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::minIntervalChanged );
115 connect( mMaxWidthSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::maxIntervalChanged );
116 connect( mEnabledCheckBox, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::gridEnabledToggled );
120 mMapGridCrsSelector->setNotSetText( tr(
"Use Map CRS" ) );
121 mMapGridCrsSelector->setDialogTitle( tr(
"Grid CRS" ) );
125 blockAllSignals(
true );
137 insertFrameDisplayEntries( mFrameDivisionsLeftComboBox );
138 insertFrameDisplayEntries( mFrameDivisionsRightComboBox );
139 insertFrameDisplayEntries( mFrameDivisionsTopComboBox );
140 insertFrameDisplayEntries( mFrameDivisionsBottomComboBox );
142 insertAnnotationDisplayEntries( mAnnotationDisplayLeftComboBox );
143 insertAnnotationDisplayEntries( mAnnotationDisplayRightComboBox );
144 insertAnnotationDisplayEntries( mAnnotationDisplayTopComboBox );
145 insertAnnotationDisplayEntries( mAnnotationDisplayBottomComboBox );
147 insertAnnotationPositionEntries( mAnnotationPositionLeftComboBox );
148 insertAnnotationPositionEntries( mAnnotationPositionRightComboBox );
149 insertAnnotationPositionEntries( mAnnotationPositionTopComboBox );
150 insertAnnotationPositionEntries( mAnnotationPositionBottomComboBox );
152 insertAnnotationDirectionEntries( mAnnotationDirectionComboBoxLeft );
153 insertAnnotationDirectionEntries( mAnnotationDirectionComboBoxRight );
154 insertAnnotationDirectionEntries( mAnnotationDirectionComboBoxTop );
155 insertAnnotationDirectionEntries( mAnnotationDirectionComboBoxBottom );
157 mGridFramePenColorButton->setColorDialogTitle( tr(
"Select Grid Frame Color" ) );
158 mGridFramePenColorButton->setAllowOpacity(
true );
159 mGridFramePenColorButton->setContext( QStringLiteral(
"composer" ) );
160 mGridFramePenColorButton->setNoColorString( tr(
"Transparent Frame" ) );
161 mGridFramePenColorButton->setShowNoColor(
true );
163 mGridFrameFill1ColorButton->setColorDialogTitle( tr(
"Select Grid Frame Fill Color" ) );
164 mGridFrameFill1ColorButton->setAllowOpacity(
true );
165 mGridFrameFill1ColorButton->setContext( QStringLiteral(
"composer" ) );
166 mGridFrameFill1ColorButton->setNoColorString( tr(
"Transparent Fill" ) );
167 mGridFrameFill1ColorButton->setShowNoColor(
true );
169 mGridFrameFill2ColorButton->setColorDialogTitle( tr(
"Select Grid Frame Fill Color" ) );
170 mGridFrameFill2ColorButton->setAllowOpacity(
true );
171 mGridFrameFill2ColorButton->setContext( QStringLiteral(
"composer" ) );
172 mGridFrameFill2ColorButton->setNoColorString( tr(
"Transparent Fill" ) );
173 mGridFrameFill2ColorButton->setShowNoColor(
true );
179 toggleFrameControls(
false,
false,
false,
false );
206 blockAllSignals(
false );
207 connect( mAnnotationFontButton, &
QgsFontButton::changed,
this, &QgsLayoutMapGridWidget::annotationTextFormatChanged );
211 mGridLineStyleButton->registerExpressionContextGenerator( mMapGrid );
213 mGridMarkerStyleButton->registerExpressionContextGenerator( mMapGrid );
215 if ( mMap->layout() )
222 mAnnotationFontButton->registerExpressionContextGenerator( mMapGrid );
249void QgsLayoutMapGridWidget::setGuiElementValues()
256 if ( !mMapGrid || !mMap )
261 blockAllSignals(
true );
264 blockAllSignals(
false );
267void QgsLayoutMapGridWidget::blockAllSignals(
bool block )
270 mEnabledCheckBox->blockSignals( block );
271 mGridTypeComboBox->blockSignals( block );
272 mIntervalXSpinBox->blockSignals( block );
273 mIntervalYSpinBox->blockSignals( block );
274 mOffsetXSpinBox->blockSignals( block );
275 mOffsetYSpinBox->blockSignals( block );
276 mCrossWidthSpinBox->blockSignals( block );
277 mFrameStyleComboBox->blockSignals( block );
278 mFrameWidthSpinBox->blockSignals( block );
279 mGridFrameMarginSpinBox->blockSignals( block );
280 mGridLineStyleButton->blockSignals( block );
281 mMapGridUnitComboBox->blockSignals( block );
282 mGridFramePenSizeSpinBox->blockSignals( block );
283 mGridFramePenColorButton->blockSignals( block );
284 mGridFrameFill1ColorButton->blockSignals( block );
285 mGridFrameFill2ColorButton->blockSignals( block );
286 mGridBlendComboBox->blockSignals( block );
287 mCheckGridLeftSide->blockSignals( block );
288 mCheckGridRightSide->blockSignals( block );
289 mCheckGridTopSide->blockSignals( block );
290 mCheckGridBottomSide->blockSignals( block );
291 mFrameDivisionsLeftComboBox->blockSignals( block );
292 mFrameDivisionsRightComboBox->blockSignals( block );
293 mFrameDivisionsTopComboBox->blockSignals( block );
294 mFrameDivisionsBottomComboBox->blockSignals( block );
295 mGridMarkerStyleButton->blockSignals( block );
298 mDrawAnnotationGroupBox->blockSignals( block );
299 mAnnotationFormatComboBox->blockSignals( block );
300 mAnnotationDisplayLeftComboBox->blockSignals( block );
301 mAnnotationPositionLeftComboBox->blockSignals( block );
302 mAnnotationDirectionComboBoxLeft->blockSignals( block );
303 mAnnotationDisplayRightComboBox->blockSignals( block );
304 mAnnotationPositionRightComboBox->blockSignals( block );
305 mAnnotationDirectionComboBoxRight->blockSignals( block );
306 mAnnotationDisplayTopComboBox->blockSignals( block );
307 mAnnotationPositionTopComboBox->blockSignals( block );
308 mAnnotationDirectionComboBoxTop->blockSignals( block );
309 mAnnotationDisplayBottomComboBox->blockSignals( block );
310 mAnnotationPositionBottomComboBox->blockSignals( block );
311 mAnnotationDirectionComboBoxBottom->blockSignals( block );
312 mDistanceToMapFrameSpinBox->blockSignals( block );
313 mCoordinatePrecisionSpinBox->blockSignals( block );
314 mAnnotationFontButton->blockSignals( block );
315 mMinWidthSpinBox->blockSignals( block );
316 mMaxWidthSpinBox->blockSignals( block );
321 if ( !mMapGrid || !mMap )
326 mMap->beginCommand( tr(
"Change Frame Divisions" ) );
327 mMapGrid->setFrameDivisions( mode, border );
329 mMap->updateBoundingRect();
334 if ( !mMapGrid || !mMap )
339 mMap->beginCommand( tr(
"Change Annotation Format" ) );
340 mMapGrid->setAnnotationDisplay( mode, border );
341 mMap->updateBoundingRect();
346void QgsLayoutMapGridWidget::toggleFrameControls(
bool frameEnabled,
bool frameFillEnabled,
bool frameSizeEnabled,
bool rotationEnabled )
349 mFrameWidthSpinBox->setEnabled( frameSizeEnabled );
350 mGridFrameMarginSpinBox->setEnabled( frameEnabled );
351 mGridFramePenSizeSpinBox->setEnabled( frameEnabled );
352 mGridFramePenColorButton->setEnabled( frameEnabled );
353 mGridFrameFill1ColorButton->setEnabled( frameFillEnabled );
354 mGridFrameFill2ColorButton->setEnabled( frameFillEnabled );
355 mFrameWidthLabel->setEnabled( frameSizeEnabled );
356 mFrameMarginLabel->setEnabled( frameEnabled );
357 mFramePenLabel->setEnabled( frameEnabled );
358 mFrameFillLabel->setEnabled( frameFillEnabled );
359 mCheckGridLeftSide->setEnabled( frameEnabled );
360 mCheckGridRightSide->setEnabled( frameEnabled );
361 mCheckGridTopSide->setEnabled( frameEnabled );
362 mCheckGridBottomSide->setEnabled( frameEnabled );
363 mFrameDivisionsLeftComboBox->setEnabled( frameEnabled );
364 mFrameDivisionsRightComboBox->setEnabled( frameEnabled );
365 mFrameDivisionsTopComboBox->setEnabled( frameEnabled );
366 mFrameDivisionsBottomComboBox->setEnabled( frameEnabled );
367 mLeftDivisionsLabel->setEnabled( frameEnabled );
368 mRightDivisionsLabel->setEnabled( frameEnabled );
369 mTopDivisionsLabel->setEnabled( frameEnabled );
370 mBottomDivisionsLabel->setEnabled( frameEnabled );
371 mRotatedTicksGroupBox->setEnabled( rotationEnabled );
374void QgsLayoutMapGridWidget::insertAnnotationPositionEntries( QComboBox *
c )
380void QgsLayoutMapGridWidget::insertAnnotationDirectionEntries( QComboBox *
c )
398 c->setCurrentIndex(
c->findData( display ) );
403 if ( !mMapGrid || !mMap )
408 mMap->beginCommand( tr(
"Change Annotation Position" ) );
409 mMapGrid->setAnnotationPosition( position, border );
411 mMap->updateBoundingRect();
418 if ( !mMapGrid || !mMap )
423 mMap->beginCommand( tr(
"Change Annotation Direction" ) );
424 mMapGrid->setAnnotationDirection( direction, border );
425 mMap->updateBoundingRect();
430void QgsLayoutMapGridWidget::insertFrameDisplayEntries( QComboBox *
c )
437void QgsLayoutMapGridWidget::insertAnnotationDisplayEntries( QComboBox *
c )
454 c->setCurrentIndex(
c->findText( tr(
"Inside Frame" ) ) );
458 c->setCurrentIndex(
c->findText( tr(
"Outside Frame" ) ) );
468 c->setCurrentIndex(
c->findData( dir ) );
471bool QgsLayoutMapGridWidget::hasPredefinedScales()
const
476 if ( !hasProjectScales || scales.isEmpty() )
480 return !scales.isEmpty() && !scales[0].isEmpty();
485void QgsLayoutMapGridWidget::setGridItems()
492 mGridMarkerStyleButton->registerExpressionContextGenerator( mMapGrid );
493 mGridLineStyleButton->registerExpressionContextGenerator( mMapGrid );
494 mAnnotationFontButton->registerExpressionContextGenerator( mMapGrid );
496 mEnabledCheckBox->setChecked( mMapGrid->enabled() );
497 mIntervalXSpinBox->setValue( mMapGrid->intervalX() );
498 mIntervalYSpinBox->setValue( mMapGrid->intervalY() );
499 mOffsetXSpinBox->setValue( mMapGrid->offsetX() );
500 mOffsetYSpinBox->setValue( mMapGrid->offsetY() );
501 mCrossWidthSpinBox->setValue( mMapGrid->crossLength() );
502 mFrameWidthSpinBox->setValue( mMapGrid->frameWidth() );
503 mGridFrameMarginSpinBox->setValue( mMapGrid->frameMargin() );
504 mGridFramePenSizeSpinBox->setValue( mMapGrid->framePenSize() );
505 mGridFramePenColorButton->setColor( mMapGrid->framePenColor() );
506 mGridFrameFill1ColorButton->setColor( mMapGrid->frameFillColor1() );
507 mGridFrameFill2ColorButton->setColor( mMapGrid->frameFillColor2() );
510 mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findData( gridStyle ) );
514 mCrossWidthSpinBox->setVisible(
true );
515 mCrossWidthDDBtn->setVisible(
true );
516 mCrossWidthLabel->setVisible(
true );
517 mGridLineStyleButton->setVisible(
true );
518 mLineStyleLabel->setVisible(
true );
519 mGridMarkerStyleButton->setVisible(
false );
520 mMarkerStyleLabel->setVisible(
false );
521 mGridBlendComboBox->setVisible(
true );
522 mGridBlendLabel->setVisible(
true );
525 mCrossWidthSpinBox->setVisible(
false );
526 mCrossWidthDDBtn->setVisible(
false );
527 mCrossWidthLabel->setVisible(
false );
528 mGridLineStyleButton->setVisible(
false );
529 mLineStyleLabel->setVisible(
false );
530 mGridMarkerStyleButton->setVisible(
true );
531 mMarkerStyleFrame->setVisible(
true );
532 mMarkerStyleLabel->setVisible(
true );
533 mGridBlendComboBox->setVisible(
true );
534 mGridBlendLabel->setVisible(
true );
537 mCrossWidthSpinBox->setVisible(
false );
538 mCrossWidthDDBtn->setVisible(
false );
539 mCrossWidthLabel->setVisible(
false );
540 mGridLineStyleButton->setVisible(
true );
541 mLineStyleLabel->setVisible(
true );
542 mGridMarkerStyleButton->setVisible(
false );
543 mMarkerStyleFrame->setVisible(
false );
544 mMarkerStyleLabel->setVisible(
false );
545 mGridBlendComboBox->setVisible(
true );
546 mGridBlendLabel->setVisible(
true );
549 mCrossWidthSpinBox->setVisible(
false );
550 mCrossWidthDDBtn->setVisible(
false );
551 mCrossWidthLabel->setVisible(
false );
552 mGridLineStyleButton->setVisible(
false );
553 mLineStyleLabel->setVisible(
false );
554 mGridMarkerStyleButton->setVisible(
false );
555 mMarkerStyleFrame->setVisible(
false );
556 mMarkerStyleLabel->setVisible(
false );
557 mGridBlendComboBox->setVisible(
false );
558 mGridBlendLabel->setVisible(
false );
563 mFrameWidthSpinBox->setValue( mMapGrid->frameWidth() );
564 mGridFrameMarginSpinBox->setValue( mMapGrid->frameMargin() );
566 mFrameStyleComboBox->setCurrentIndex( mFrameStyleComboBox->findData( gridFrameStyle ) );
567 switch ( gridFrameStyle )
571 toggleFrameControls(
true,
true,
true,
false );
576 toggleFrameControls(
true,
false,
true,
true );
580 toggleFrameControls(
true,
false,
false,
false );
583 toggleFrameControls(
false,
false,
false,
false );
592 mRotatedTicksGroupBox->setChecked( mMapGrid->rotatedTicksEnabled() );
593 mRotatedTicksLengthModeComboBox->setCurrentIndex( mRotatedTicksLengthModeComboBox->findData( mMapGrid->rotatedTicksLengthMode() ) );
594 mRotatedTicksThresholdSpinBox->setValue( mMapGrid->rotatedTicksMinimumAngle() );
595 mRotatedTicksMarginToCornerSpinBox->setValue( mMapGrid->rotatedTicksMarginToCorner() );
597 mRotatedAnnotationsGroupBox->setChecked( mMapGrid->rotatedAnnotationsEnabled() );
598 mRotatedAnnotationsLengthModeComboBox->setCurrentIndex( mRotatedAnnotationsLengthModeComboBox->findData( mMapGrid->rotatedAnnotationsLengthMode() ) );
599 mRotatedAnnotationsThresholdSpinBox->setValue( mMapGrid->rotatedAnnotationsMinimumAngle() );
600 mRotatedAnnotationsMarginToCornerSpinBox->setValue( mMapGrid->rotatedAnnotationsMarginToCorner() );
608 mGridLineStyleButton->setSymbol( mMapGrid->lineSymbol()->clone() );
610 mGridMarkerStyleButton->setSymbol( mMapGrid->markerSymbol()->clone() );
612 mGridBlendComboBox->setBlendMode( mMapGrid->blendMode() );
614 mDrawAnnotationGroupBox->setChecked( mMapGrid->annotationEnabled() );
615 mAnnotationDisplayLeftComboBox->setCurrentIndex( mAnnotationDisplayLeftComboBox->findData( mMapGrid->annotationDisplay(
QgsLayoutItemMapGrid::Left ) ) );
616 mAnnotationDisplayRightComboBox->setCurrentIndex( mAnnotationDisplayRightComboBox->findData( mMapGrid->annotationDisplay(
QgsLayoutItemMapGrid::Right ) ) );
617 mAnnotationDisplayTopComboBox->setCurrentIndex( mAnnotationDisplayTopComboBox->findData( mMapGrid->annotationDisplay(
QgsLayoutItemMapGrid::Top ) ) );
618 mAnnotationDisplayBottomComboBox->setCurrentIndex( mAnnotationDisplayBottomComboBox->findData( mMapGrid->annotationDisplay(
QgsLayoutItemMapGrid::Bottom ) ) );
620 mAnnotationPositionLeftComboBox->setCurrentIndex( mAnnotationPositionLeftComboBox->findData( mMapGrid->annotationPosition(
QgsLayoutItemMapGrid::Left ) ) );
621 mAnnotationPositionRightComboBox->setCurrentIndex( mAnnotationPositionRightComboBox->findData( mMapGrid->annotationPosition(
QgsLayoutItemMapGrid::Right ) ) );
622 mAnnotationPositionTopComboBox->setCurrentIndex( mAnnotationPositionTopComboBox->findData( mMapGrid->annotationPosition(
QgsLayoutItemMapGrid::Top ) ) );
623 mAnnotationPositionBottomComboBox->setCurrentIndex( mAnnotationPositionBottomComboBox->findData( mMapGrid->annotationPosition(
QgsLayoutItemMapGrid::Bottom ) ) );
627 initAnnotationDirectionBox( mAnnotationDirectionComboBoxTop, mMapGrid->annotationDirection(
QgsLayoutItemMapGrid::Top ) );
630 mAnnotationFontButton->setDialogTitle( tr(
"Grid Annotation Font" ) );
632 mAnnotationFontButton->setTextFormat( mMapGrid->annotationTextFormat() );
634 mAnnotationFormatComboBox->setCurrentIndex( mAnnotationFormatComboBox->findData( mMapGrid->annotationFormat() ) );
636 mDistanceToMapFrameSpinBox->setValue( mMapGrid->annotationFrameDistance() );
637 mCoordinatePrecisionSpinBox->setValue( mMapGrid->annotationPrecision() );
640 mMapGridUnitComboBox->setCurrentIndex( mMapGridUnitComboBox->findData( mMapGrid->units() ) );
641 switch ( mMapGrid->units() )
646 mIntervalStackedWidget->setCurrentIndex( 0 );
650 mIntervalStackedWidget->setCurrentIndex( 1 );
653 mMinWidthSpinBox->setValue( mMapGrid->minimumIntervalWidth() );
654 mMaxWidthSpinBox->setValue( mMapGrid->maximumIntervalWidth() );
656 whileBlocking( mMapGridCrsSelector )->setCrs( mMapGrid->crs() );
659void QgsLayoutMapGridWidget::mIntervalXSpinBox_editingFinished()
661 if ( !mMapGrid || !mMap )
666 mMap->beginCommand( tr(
"Change Grid Interval" ) );
667 mMapGrid->setIntervalX( mIntervalXSpinBox->value() );
668 mMap->updateBoundingRect();
673void QgsLayoutMapGridWidget::mIntervalYSpinBox_editingFinished()
675 if ( !mMapGrid || !mMap )
680 mMap->beginCommand( tr(
"Change Grid Interval" ) );
681 mMapGrid->setIntervalY( mIntervalYSpinBox->value() );
682 mMap->updateBoundingRect();
687void QgsLayoutMapGridWidget::mOffsetXSpinBox_valueChanged(
double value )
689 if ( !mMapGrid || !mMap )
694 mMap->beginCommand( tr(
"Change Grid Offset" ) );
695 mMapGrid->setOffsetX( value );
696 mMap->updateBoundingRect();
701void QgsLayoutMapGridWidget::mOffsetYSpinBox_valueChanged(
double value )
703 if ( !mMapGrid || !mMap )
708 mMap->beginCommand( tr(
"Change Grid Offset" ) );
709 mMapGrid->setOffsetY( value );
710 mMap->updateBoundingRect();
715void QgsLayoutMapGridWidget::mCrossWidthSpinBox_valueChanged(
double val )
717 if ( !mMapGrid || !mMap )
722 mMap->beginCommand( tr(
"Change Cross Width" ) );
723 mMapGrid->setCrossLength( val );
728void QgsLayoutMapGridWidget::mFrameWidthSpinBox_valueChanged(
double val )
730 if ( !mMapGrid || !mMap )
735 mMap->beginCommand( tr(
"Change Frame Width" ) );
736 mMapGrid->setFrameWidth( val );
737 mMap->updateBoundingRect();
742void QgsLayoutMapGridWidget::mGridFrameMarginSpinBox_valueChanged(
double val )
744 if ( !mMapGrid || !mMap )
749 mMap->beginCommand( tr(
"Change Grid Frame Margin" ) );
750 mMapGrid->setFrameMargin( val );
751 mMap->updateBoundingRect();
756void QgsLayoutMapGridWidget::mCheckGridLeftSide_toggled(
bool checked )
758 if ( !mMapGrid || !mMap )
763 mMap->beginCommand( tr(
"Change Frame Left" ) );
765 mMap->updateBoundingRect();
770void QgsLayoutMapGridWidget::mCheckGridRightSide_toggled(
bool checked )
772 if ( !mMapGrid || !mMap )
777 mMap->beginCommand( tr(
"Change Frame Right" ) );
779 mMap->updateBoundingRect();
784void QgsLayoutMapGridWidget::mCheckGridTopSide_toggled(
bool checked )
786 if ( !mMapGrid || !mMap )
791 mMap->beginCommand( tr(
"Change Frame Top" ) );
793 mMap->updateBoundingRect();
798void QgsLayoutMapGridWidget::mCheckGridBottomSide_toggled(
bool checked )
800 if ( !mMapGrid || !mMap )
805 mMap->beginCommand( tr(
"Change Frame Bottom" ) );
807 mMap->updateBoundingRect();
812void QgsLayoutMapGridWidget::mFrameDivisionsLeftComboBox_currentIndexChanged(
int index )
817void QgsLayoutMapGridWidget::mFrameDivisionsRightComboBox_currentIndexChanged(
int index )
822void QgsLayoutMapGridWidget::mFrameDivisionsTopComboBox_currentIndexChanged(
int index )
827void QgsLayoutMapGridWidget::mFrameDivisionsBottomComboBox_currentIndexChanged(
int index )
832void QgsLayoutMapGridWidget::mGridFramePenSizeSpinBox_valueChanged(
double d )
834 if ( !mMapGrid || !mMap )
839 mMap->beginCommand( tr(
"Change Frame Thickness" ) );
840 mMapGrid->setFramePenSize( d );
841 mMap->updateBoundingRect();
846void QgsLayoutMapGridWidget::mGridFramePenColorButton_colorChanged(
const QColor &newColor )
848 if ( !mMapGrid || !mMap )
854 mMapGrid->setFramePenColor( newColor );
859void QgsLayoutMapGridWidget::mGridFrameFill1ColorButton_colorChanged(
const QColor &newColor )
861 if ( !mMapGrid || !mMap )
867 mMapGrid->setFrameFillColor1( newColor );
872void QgsLayoutMapGridWidget::mGridFrameFill2ColorButton_colorChanged(
const QColor &newColor )
874 if ( !mMapGrid || !mMap )
880 mMapGrid->setFrameFillColor2( newColor );
885void QgsLayoutMapGridWidget::mFrameStyleComboBox_currentIndexChanged(
int )
887 if ( !mMapGrid || !mMap )
893 mMap->beginCommand( tr(
"Change Frame Style" ) );
894 mMapGrid->setFrameStyle( style );
899 toggleFrameControls(
true,
true,
true,
false );
904 toggleFrameControls(
true,
false,
true,
true );
908 toggleFrameControls(
true,
false,
false,
false );
911 toggleFrameControls(
false,
false,
false,
false );
914 mMap->updateBoundingRect();
919void QgsLayoutMapGridWidget::mRotatedTicksGroupBox_toggled(
bool state )
921 if ( !mMapGrid || !mMap )
926 mMap->beginCommand( tr(
"Change Tick Rotation Enabled" ) );
927 mMapGrid->setRotatedTicksEnabled( state );
932void QgsLayoutMapGridWidget::mRotatedTicksLengthModeComboBox_currentIndexChanged(
int )
934 if ( !mMapGrid || !mMap )
940 mMap->beginCommand( tr(
"Change Tick Length Mode" ) );
941 mMapGrid->setRotatedTicksLengthMode( mode );
946void QgsLayoutMapGridWidget::mRotatedTicksThresholdSpinBox_valueChanged(
double val )
948 if ( !mMapGrid || !mMap )
953 mMap->beginCommand( tr(
"Change Rotated Ticks Threshold" ) );
954 mMapGrid->setRotatedTicksMinimumAngle( val );
959void QgsLayoutMapGridWidget::mRotatedTicksMarginToCornerSpinBox_valueChanged(
double val )
961 if ( !mMapGrid || !mMap )
966 mMap->beginCommand( tr(
"Change Rotated Ticks Margin to Corner" ) );
967 mMapGrid->setRotatedTicksMarginToCorner( val );
972void QgsLayoutMapGridWidget::mRotatedAnnotationsGroupBox_toggled(
bool state )
974 if ( !mMapGrid || !mMap )
979 mMap->beginCommand( tr(
"Change Annotation Rotation Enabled" ) );
980 mMapGrid->setRotatedAnnotationsEnabled( state );
985void QgsLayoutMapGridWidget::mRotatedAnnotationsLengthModeComboBox_currentIndexChanged(
int )
987 if ( !mMapGrid || !mMap )
993 mMap->beginCommand( tr(
"Change Annotation Length Mode" ) );
994 mMapGrid->setRotatedAnnotationsLengthMode( mode );
999void QgsLayoutMapGridWidget::mRotatedAnnotationsThresholdSpinBox_valueChanged(
double val )
1001 if ( !mMapGrid || !mMap )
1006 mMap->beginCommand( tr(
"Change Rotated Annotations Threshold" ) );
1007 mMapGrid->setRotatedAnnotationsMinimumAngle( val );
1012void QgsLayoutMapGridWidget::mRotatedAnnotationsMarginToCornerSpinBox_valueChanged(
double val )
1014 if ( !mMapGrid || !mMap )
1019 mMap->beginCommand( tr(
"Change Rotated Annotations Margin to Corner" ) );
1020 mMapGrid->setRotatedAnnotationsMarginToCorner( val );
1025void QgsLayoutMapGridWidget::intervalUnitChanged(
int )
1027 if ( !mMapGrid || !mMap )
1038 mIntervalStackedWidget->setCurrentIndex( 0 );
1042 mIntervalStackedWidget->setCurrentIndex( 1 );
1046 mMap->beginCommand( tr(
"Change Grid Unit" ) );
1047 mMapGrid->setUnits( unit );
1048 mMap->updateBoundingRect();
1053void QgsLayoutMapGridWidget::minIntervalChanged(
double interval )
1056 mMapGrid->setMinimumIntervalWidth( interval );
1058 mMap->updateBoundingRect();
1062void QgsLayoutMapGridWidget::maxIntervalChanged(
double interval )
1065 mMapGrid->setMaximumIntervalWidth( interval );
1067 mMap->updateBoundingRect();
1071void QgsLayoutMapGridWidget::annotationTextFormatChanged()
1073 if ( !mMapGrid || !mMap )
1078 mMap->beginCommand( tr(
"Change Annotation Font" ) );
1079 mMapGrid->setAnnotationTextFormat( mAnnotationFontButton->textFormat() );
1081 mMap->updateBoundingRect();
1085void QgsLayoutMapGridWidget::onCrsChanged()
1087 mBlockAnnotationFormatUpdates++;
1090 mAnnotationFormatComboBox->clear();
1095 const QgsCoordinateReferenceSystem crs = mMapGrid->crs().isValid() ? mMapGrid->crs() : mMap->crs();
1160 const int prevIndex = mAnnotationFormatComboBox->findData( prevFormat );
1161 if ( prevIndex >= 0 )
1162 mAnnotationFormatComboBox->setCurrentIndex( prevIndex );
1164 mAnnotationFormatComboBox->setCurrentIndex( 0 );
1165 mBlockAnnotationFormatUpdates--;
1168 if ( newFormat != prevFormat )
1170 mAnnotationFormatComboBox_currentIndexChanged( mAnnotationFormatComboBox->currentIndex() );
1174void QgsLayoutMapGridWidget::mGridBlendComboBox_currentIndexChanged(
int index )
1179 mMap->beginCommand( tr(
"Change Grid Blend Mode" ) );
1180 mMapGrid->setBlendMode( mGridBlendComboBox->blendMode() );
1186void QgsLayoutMapGridWidget::mGridTypeComboBox_currentIndexChanged(
int )
1188 if ( !mMapGrid || !mMap )
1193 mMap->beginCommand( tr(
"Change Grid Type" ) );
1198 mCrossWidthSpinBox->setVisible(
true );
1199 mCrossWidthDDBtn->setVisible(
true );
1200 mCrossWidthLabel->setVisible(
true );
1201 mGridLineStyleButton->setVisible(
true );
1202 mLineStyleLabel->setVisible(
true );
1203 mGridMarkerStyleButton->setVisible(
false );
1204 mMarkerStyleFrame->setVisible(
false );
1205 mMarkerStyleFrame->setVisible(
false );
1206 mMarkerStyleLabel->setVisible(
false );
1207 mGridBlendComboBox->setVisible(
true );
1208 mGridBlendLabel->setVisible(
true );
1213 mCrossWidthSpinBox->setVisible(
false );
1214 mCrossWidthDDBtn->setVisible(
false );
1215 mCrossWidthLabel->setVisible(
false );
1216 mGridLineStyleButton->setVisible(
false );
1217 mLineStyleLabel->setVisible(
false );
1218 mGridMarkerStyleButton->setVisible(
true );
1219 mMarkerStyleFrame->setVisible(
true );
1220 mMarkerStyleLabel->setVisible(
true );
1221 mGridBlendComboBox->setVisible(
true );
1222 mGridBlendLabel->setVisible(
true );
1227 mCrossWidthSpinBox->setVisible(
false );
1228 mCrossWidthDDBtn->setVisible(
false );
1229 mCrossWidthLabel->setVisible(
false );
1230 mGridLineStyleButton->setVisible(
true );
1231 mLineStyleLabel->setVisible(
true );
1232 mGridMarkerStyleButton->setVisible(
false );
1233 mMarkerStyleFrame->setVisible(
false );
1234 mMarkerStyleLabel->setVisible(
false );
1235 mGridBlendComboBox->setVisible(
true );
1236 mGridBlendLabel->setVisible(
true );
1241 mCrossWidthSpinBox->setVisible(
false );
1242 mCrossWidthDDBtn->setVisible(
false );
1243 mCrossWidthLabel->setVisible(
false );
1244 mGridLineStyleButton->setVisible(
false );
1245 mLineStyleLabel->setVisible(
false );
1246 mGridMarkerStyleButton->setVisible(
false );
1247 mMarkerStyleFrame->setVisible(
false );
1248 mMarkerStyleLabel->setVisible(
false );
1249 mGridBlendComboBox->setVisible(
false );
1250 mGridBlendLabel->setVisible(
false );
1254 mMap->updateBoundingRect();
1261 if ( !mMapGrid || !mMap )
1266 if ( mMapGrid->crs() == crs )
1269 mMap->beginCommand( tr(
"Change Grid CRS" ) );
1270 mMapGrid->setCrs( crs );
1271 mMap->updateBoundingRect();
1276void QgsLayoutMapGridWidget::mDrawAnnotationGroupBox_toggled(
bool state )
1278 if ( !mMapGrid || !mMap )
1283 mMap->beginCommand( tr(
"Toggle Annotations" ) );
1284 mMapGrid->setAnnotationEnabled( state );
1285 mMap->updateBoundingRect();
1290void QgsLayoutMapGridWidget::mAnnotationFormatButton_clicked()
1292 if ( !mMapGrid || !mMap )
1297 QgsExpressionContext expressionContext = mMapGrid->createExpressionContext();
1298 expressionContext.
setHighlightedFunctions( QStringList() << QStringLiteral(
"to_dms" ) << QStringLiteral(
"to_dm" ) );
1300 QgsExpressionBuilderDialog exprDlg(
coverageLayer(), mMapGrid->annotationExpression(),
this, QStringLiteral(
"generic" ), expressionContext );
1301 exprDlg.setWindowTitle( tr(
"Expression Based Annotation" ) );
1303 if ( exprDlg.exec() == QDialog::Accepted )
1305 const QString expression = exprDlg.expressionText();
1306 mMap->beginCommand( tr(
"Change Annotation Format" ) );
1307 mMapGrid->setAnnotationExpression( expression );
1308 mMap->updateBoundingRect();
1314void QgsLayoutMapGridWidget::mAnnotationDisplayLeftComboBox_currentIndexChanged(
int )
1319void QgsLayoutMapGridWidget::mAnnotationDisplayRightComboBox_currentIndexChanged(
int )
1324void QgsLayoutMapGridWidget::mAnnotationDisplayTopComboBox_currentIndexChanged(
int )
1329void QgsLayoutMapGridWidget::mAnnotationDisplayBottomComboBox_currentIndexChanged(
int )
1334void QgsLayoutMapGridWidget::mAnnotationPositionLeftComboBox_currentIndexChanged(
int )
1339void QgsLayoutMapGridWidget::mAnnotationPositionRightComboBox_currentIndexChanged(
int )
1344void QgsLayoutMapGridWidget::mAnnotationPositionTopComboBox_currentIndexChanged(
int )
1349void QgsLayoutMapGridWidget::mAnnotationPositionBottomComboBox_currentIndexChanged(
int )
1354void QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxLeft_currentIndexChanged(
int index )
1359void QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxRight_currentIndexChanged(
int index )
1364void QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxTop_currentIndexChanged(
int index )
1369void QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxBottom_currentIndexChanged(
int index )
1374void QgsLayoutMapGridWidget::mDistanceToMapFrameSpinBox_valueChanged(
double d )
1376 if ( !mMapGrid || !mMap )
1382 mMapGrid->setAnnotationFrameDistance( d );
1383 mMap->updateBoundingRect();
1388void QgsLayoutMapGridWidget::lineSymbolChanged()
1390 if ( !mMapGrid || !mMap )
1396 mMapGrid->setLineSymbol( mGridLineStyleButton->clonedSymbol<QgsLineSymbol>() );
1401void QgsLayoutMapGridWidget::markerSymbolChanged()
1403 if ( !mMapGrid || !mMap )
1409 mMapGrid->setMarkerSymbol( mGridMarkerStyleButton->clonedSymbol<QgsMarkerSymbol>() );
1414void QgsLayoutMapGridWidget::gridEnabledToggled(
bool active )
1416 if ( !mMapGrid || !mMap )
1421 mMap->beginCommand( tr(
"Toggle Grid Display" ) );
1422 mMapGrid->setEnabled( active );
1424 mMap->updateBoundingRect();
1428void QgsLayoutMapGridWidget::mAnnotationFormatComboBox_currentIndexChanged(
int index )
1430 if ( !mMapGrid || !mMap )
1434 if ( mBlockAnnotationFormatUpdates )
1437 mMap->beginCommand( tr(
"Change Annotation Format" ) );
1442 mMap->updateBoundingRect();
1447void QgsLayoutMapGridWidget::mCoordinatePrecisionSpinBox_valueChanged(
int value )
1449 if ( !mMapGrid || !mMap )
1453 mMap->beginCommand( tr(
"Change Annotation Precision" ) );
1454 mMapGrid->setAnnotationPrecision( value );
1455 mMap->updateBoundingRect();
@ YardsBritishSears1922Truncated
British yards (Sears 1922 truncated).
@ MilesUSSurvey
US Survey miles.
@ LinksBritishSears1922
British links (Sears 1922).
@ YardsBritishBenoit1895A
British yards (Benoit 1895 A).
@ LinksBritishBenoit1895A
British links (Benoit 1895 A).
@ Centimeters
Centimeters.
@ YardsIndian1975
Indian yards (1975).
@ FeetUSSurvey
US Survey feet.
@ Millimeters
Millimeters.
@ FeetBritishSears1922
British feet (Sears 1922).
@ YardsClarkes
Clarke's yards.
@ YardsIndian
Indian yards.
@ FeetBritishBenoit1895B
British feet (Benoit 1895 B).
@ Miles
Terrestrial miles.
@ LinksUSSurvey
US Survey links.
@ ChainsUSSurvey
US Survey chains.
@ FeetClarkes
Clarke's feet.
@ Unknown
Unknown distance unit.
@ FeetBritish1936
British feet (1936).
@ FeetIndian1962
Indian feet (1962).
@ YardsBritishSears1922
British yards (Sears 1922).
@ FeetIndian1937
Indian feet (1937).
@ YardsIndian1937
Indian yards (1937).
@ Degrees
Degrees, for planar geographic CRS distance measurements.
@ ChainsBritishBenoit1895B
British chains (Benoit 1895 B).
@ LinksBritishSears1922Truncated
British links (Sears 1922 truncated).
@ ChainsBritishBenoit1895A
British chains (Benoit 1895 A).
@ YardsBritishBenoit1895B
British yards (Benoit 1895 B).
@ FeetBritish1865
British feet (1865).
@ YardsIndian1962
Indian yards (1962).
@ FeetBritishSears1922Truncated
British feet (Sears 1922 truncated).
@ MetersGermanLegal
German legal meter.
@ LinksBritishBenoit1895B
British links (Benoit 1895 B).
@ ChainsInternational
International chains.
@ LinksInternational
International links.
@ ChainsBritishSears1922Truncated
British chains (Sears 1922 truncated).
@ FeetIndian
Indian (geodetic) feet.
@ NauticalMiles
Nautical miles.
@ ChainsClarkes
Clarke's chains.
@ LinksClarkes
Clarke's links.
@ ChainsBritishSears1922
British chains (Sears 1922).
@ FeetIndian1975
Indian feet (1975).
@ FeetGoldCoast
Gold Coast feet.
@ FeetBritishBenoit1895A
British feet (Benoit 1895 A).
Represents a coordinate reference system (CRS).
Qgis::DistanceUnit mapUnits
void setHighlightedFunctions(const QStringList &names)
Sets the list of function names intended to be highlighted to the user.
An individual grid which is drawn above the map content in a QgsLayoutItemMap.
GridStyle
Grid drawing style.
@ Markers
Draw markers at intersections of grid lines.
@ Cross
Draw line crosses at intersections of grid lines.
@ FrameAnnotationsOnly
No grid lines over the map, only draw frame and annotations.
GridUnit
Unit for grid values.
@ CM
Grid units in centimeters.
@ MM
Grid units in millimeters.
@ DynamicPageSizeBased
Dynamically sized, based on a on-page size range.
@ MapUnit
Grid units follow map units.
@ FrameTop
Top side of map.
@ FrameBottom
Bottom side of map.
@ FrameLeft
Left side of map.
@ FrameRight
Right side of map.
AnnotationPosition
Position for grid annotations.
@ InsideMapFrame
Draw annotations inside the map frame.
@ OutsideMapFrame
Draw annotations outside the map frame.
DisplayMode
Display settings for grid annotations and frames.
@ LongitudeOnly
Show longitude/x annotations/divisions only.
@ ShowAll
Show both latitude and longitude annotations/divisions.
@ LatitudeOnly
Show latitude/y annotations/divisions only.
void crsChanged()
Emitted whenever the grid's CRS is changed.
TickLengthMode
Tick length mode (useful for rotated grids).
@ OrthogonalTicks
Align ticks orthogonaly.
@ NormalizedTicks
Constant tick lengths.
AnnotationFormat
Format for displaying grid annotations.
@ DegreeMinuteSecondNoSuffix
Degree/minutes/seconds, use - for S/W coordinates.
@ DegreeMinuteSecondPadded
Degree/minutes/seconds, with minutes using leading zeros where required.
@ DegreeMinuteSecond
Degree/minutes/seconds, use NSEW suffix.
@ DecimalWithSuffix
Decimal degrees, use NSEW suffix.
@ DegreeMinute
Degree/minutes, use NSEW suffix.
@ DegreeMinuteNoSuffix
Degree/minutes, use - for S/W coordinates.
@ Decimal
Decimal degrees, use - for S/W coordinates.
@ DegreeMinutePadded
Degree/minutes, with minutes using leading zeros where required.
@ CustomFormat
Custom expression-based format.
AnnotationDirection
Direction of grid annotations.
@ OnTick
Draw annotations parallel to tick (on the line).
@ Horizontal
Draw annotations horizontally.
@ Vertical
Draw annotations vertically, ascending.
@ BoundaryDirection
Annotations follow the boundary direction.
@ AboveTick
Draw annotations parallel to tick (above the line).
@ UnderTick
Draw annotations parallel to tick (under the line).
@ VerticalDescending
Draw annotations vertically, descending.
FrameStyle
Style for grid frame.
@ Zebra
Black/white pattern.
@ InteriorTicks
Tick markers drawn inside map frame.
@ LineBorder
Simple solid line frame.
@ InteriorExteriorTicks
Tick markers drawn both inside and outside the map frame.
@ LineBorderNautical
Simple solid line frame, with nautical style diagonals on corners.
@ ExteriorTicks
Tick markers drawn outside map frame.
@ NoFrame
Disable grid frame.
@ ZebraNautical
Black/white pattern, with nautical style diagonals on corners.
BorderSide
Border sides for annotations.
Layout graphical items for displaying a map.
@ UndoGridFramePenColor
Map grid frame pen color.
@ UndoMapGridIntervalRange
Grid interval range.
@ UndoMapGridLineSymbol
Grid line symbol.
@ UndoMapGridMarkerSymbol
Grid marker symbol.
@ UndoMapGridFrameFill1Color
Map grid frame fill color 1.
@ UndoMapAnnotationDistance
Map frame annotation distance.
@ UndoMapGridFrameFill2Color
Map grid frame fill color 2.
@ MapGridOffsetY
Map grid offset Y.
@ MapGridFrameDivisionsBottom
Map frame division display bottom.
@ MapGridEnabled
Map grid enabled.
@ MapGridIntervalX
Map grid interval X.
@ MapGridFrameDivisionsTop
Map frame division display top.
@ MapGridAnnotationDisplayLeft
Map annotation display left.
@ MapGridFrameMargin
Map grid frame margin.
@ MapGridDrawAnnotation
Map annotation visibility (for individual annotations).
@ MapGridCrossSize
Map grid cross size.
@ MapGridAnnotationDisplayRight
Map annotation display right.
@ MapGridOffsetX
Map grid offset X.
@ MapGridAnnotationDisplayTop
Map annotation display top.
@ MapGridAnnotationDisplayBottom
Map annotation display bottom.
@ MapGridFrameDivisionsRight
Map frame division display right.
@ MapGridLabelDistance
Map grid label distance.
@ MapGridIntervalY
Map grid interval Y.
@ MapGridFrameSize
Map grid frame size.
@ MapGridFrameLineThickness
Map grid frame line thickness.
@ MapGridFrameDivisionsLeft
Map frame division display left.
void layerChanged(QgsVectorLayer *layer)
Emitted when the context's layer is changed.
QVector< double > mapScales() const
Returns the list of custom project map scales.
static QgsProject * instance()
Returns the QgsProject singleton instance.
const QgsProjectViewSettings * viewSettings() const
Returns the project's view settings, which contains settings and properties relating to how a QgsProj...
T value(const QString &dynamicKeyPart=QString()) const
Returns settings value.
static const QgsSettingsEntryStringList * settingsMapScales
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into c
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.