35#include "moc_qgslayoutmapgridwidget.cpp"
37using namespace Qt::StringLiterals;
60 mHAlignmentComboBox->setAvailableAlignments( Qt::AlignmentFlag::AlignLeft | Qt::AlignmentFlag::AlignHCenter | Qt::AlignmentFlag::AlignRight | Qt::AlignmentFlag::AlignJustify );
62 mGridFrameMarginSpinBox->setShowClearButton(
true );
63 mGridFrameMarginSpinBox->setClearValue( 0 );
65 mDistanceToMapFrameSpinBox->setShowClearButton(
true );
66 mDistanceToMapFrameSpinBox->setClearValue( 0 );
68 mOffsetXSpinBox->setShowClearButton(
true );
69 mOffsetXSpinBox->setClearValue( 0 );
70 mOffsetYSpinBox->setShowClearButton(
true );
71 mOffsetYSpinBox->setClearValue( 0 );
73 connect( mIntervalXSpinBox, &QgsDoubleSpinBox::editingFinished,
this, &QgsLayoutMapGridWidget::mIntervalXSpinBox_editingFinished );
74 connect( mIntervalYSpinBox, &QgsDoubleSpinBox::editingFinished,
this, &QgsLayoutMapGridWidget::mIntervalYSpinBox_editingFinished );
75 connect( mOffsetXSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mOffsetXSpinBox_valueChanged );
76 connect( mOffsetYSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mOffsetYSpinBox_valueChanged );
77 connect( mCrossWidthSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mCrossWidthSpinBox_valueChanged );
78 connect( mFrameWidthSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mFrameWidthSpinBox_valueChanged );
79 connect( mGridFrameMarginSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mGridFrameMarginSpinBox_valueChanged );
80 connect( mFrameStyleComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameStyleComboBox_currentIndexChanged );
81 connect( mRotatedTicksGroupBox, &QGroupBox::toggled,
this, &QgsLayoutMapGridWidget::mRotatedTicksGroupBox_toggled );
82 connect( mRotatedTicksLengthModeComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mRotatedTicksLengthModeComboBox_currentIndexChanged );
83 connect( mRotatedTicksThresholdSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mRotatedTicksThresholdSpinBox_valueChanged );
84 connect( mRotatedTicksMarginToCornerSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mRotatedTicksMarginToCornerSpinBox_valueChanged );
85 connect( mRotatedAnnotationsGroupBox, &QGroupBox::toggled,
this, &QgsLayoutMapGridWidget::mRotatedAnnotationsGroupBox_toggled );
86 connect( mRotatedAnnotationsLengthModeComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mRotatedAnnotationsLengthModeComboBox_currentIndexChanged );
87 connect( mRotatedAnnotationsThresholdSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mRotatedAnnotationsThresholdSpinBox_valueChanged );
88 connect( mRotatedAnnotationsMarginToCornerSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mRotatedAnnotationsMarginToCornerSpinBox_valueChanged );
89 connect( mGridFramePenSizeSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mGridFramePenSizeSpinBox_valueChanged );
90 connect( mGridFramePenColorButton, &
QgsColorButton::colorChanged,
this, &QgsLayoutMapGridWidget::mGridFramePenColorButton_colorChanged );
91 connect( mGridFrameFill1ColorButton, &
QgsColorButton::colorChanged,
this, &QgsLayoutMapGridWidget::mGridFrameFill1ColorButton_colorChanged );
92 connect( mGridFrameFill2ColorButton, &
QgsColorButton::colorChanged,
this, &QgsLayoutMapGridWidget::mGridFrameFill2ColorButton_colorChanged );
93 connect( mGridTypeComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mGridTypeComboBox_currentIndexChanged );
94 connect( mMapGridUnitComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::intervalUnitChanged );
95 connect( mGridBlendComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mGridBlendComboBox_currentIndexChanged );
96 connect( mCheckGridLeftSide, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::mCheckGridLeftSide_toggled );
97 connect( mCheckGridRightSide, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::mCheckGridRightSide_toggled );
98 connect( mCheckGridTopSide, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::mCheckGridTopSide_toggled );
99 connect( mCheckGridBottomSide, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::mCheckGridBottomSide_toggled );
100 connect( mFrameDivisionsLeftComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameDivisionsLeftComboBox_currentIndexChanged );
101 connect( mFrameDivisionsRightComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameDivisionsRightComboBox_currentIndexChanged );
102 connect( mFrameDivisionsTopComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameDivisionsTopComboBox_currentIndexChanged );
103 connect( mFrameDivisionsBottomComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mFrameDivisionsBottomComboBox_currentIndexChanged );
104 connect( mDrawAnnotationGroupBox, &QgsCollapsibleGroupBoxBasic::toggled,
this, &QgsLayoutMapGridWidget::mDrawAnnotationGroupBox_toggled );
105 connect( mAnnotationFormatButton, &QToolButton::clicked,
this, &QgsLayoutMapGridWidget::mAnnotationFormatButton_clicked );
106 connect( mAnnotationDisplayLeftComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDisplayLeftComboBox_currentIndexChanged );
107 connect( mAnnotationDisplayRightComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDisplayRightComboBox_currentIndexChanged );
108 connect( mAnnotationDisplayTopComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDisplayTopComboBox_currentIndexChanged );
109 connect( mAnnotationDisplayBottomComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDisplayBottomComboBox_currentIndexChanged );
110 connect( mAnnotationPositionLeftComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationPositionLeftComboBox_currentIndexChanged );
111 connect( mAnnotationPositionRightComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationPositionRightComboBox_currentIndexChanged );
112 connect( mAnnotationPositionTopComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationPositionTopComboBox_currentIndexChanged );
113 connect( mAnnotationPositionBottomComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationPositionBottomComboBox_currentIndexChanged );
114 connect( mAnnotationDirectionComboBoxLeft,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxLeft_currentIndexChanged );
115 connect( mAnnotationDirectionComboBoxRight,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxRight_currentIndexChanged );
116 connect( mAnnotationDirectionComboBoxTop,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxTop_currentIndexChanged );
117 connect( mAnnotationDirectionComboBoxBottom,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxBottom_currentIndexChanged );
118 connect( mAnnotationFormatComboBox,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutMapGridWidget::mAnnotationFormatComboBox_currentIndexChanged );
119 connect( mCoordinatePrecisionSpinBox,
static_cast<void ( QSpinBox::* )(
int )
>( &QSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mCoordinatePrecisionSpinBox_valueChanged );
120 connect( mDistanceToMapFrameSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::mDistanceToMapFrameSpinBox_valueChanged );
121 connect( mMinWidthSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::minIntervalChanged );
122 connect( mMaxWidthSpinBox,
static_cast<void ( QDoubleSpinBox::* )(
double )
>( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutMapGridWidget::maxIntervalChanged );
125 mMap->beginCommand( tr(
"Change Grid Text Alignment" ) );
126 mMapGrid->setHorizontalAlignment( mHAlignmentComboBox->horizontalAlignment() );
128 mMap->updateBoundingRect();
132 connect( mEnabledCheckBox, &QCheckBox::toggled,
this, &QgsLayoutMapGridWidget::gridEnabledToggled );
136 mMapGridCrsSelector->setNotSetText( tr(
"Use Map CRS" ) );
137 mMapGridCrsSelector->setDialogTitle( tr(
"Grid CRS" ) );
141 blockAllSignals(
true );
153 insertFrameDisplayEntries( mFrameDivisionsLeftComboBox );
154 insertFrameDisplayEntries( mFrameDivisionsRightComboBox );
155 insertFrameDisplayEntries( mFrameDivisionsTopComboBox );
156 insertFrameDisplayEntries( mFrameDivisionsBottomComboBox );
158 insertAnnotationDisplayEntries( mAnnotationDisplayLeftComboBox );
159 insertAnnotationDisplayEntries( mAnnotationDisplayRightComboBox );
160 insertAnnotationDisplayEntries( mAnnotationDisplayTopComboBox );
161 insertAnnotationDisplayEntries( mAnnotationDisplayBottomComboBox );
163 insertAnnotationPositionEntries( mAnnotationPositionLeftComboBox );
164 insertAnnotationPositionEntries( mAnnotationPositionRightComboBox );
165 insertAnnotationPositionEntries( mAnnotationPositionTopComboBox );
166 insertAnnotationPositionEntries( mAnnotationPositionBottomComboBox );
168 insertAnnotationDirectionEntries( mAnnotationDirectionComboBoxLeft );
169 insertAnnotationDirectionEntries( mAnnotationDirectionComboBoxRight );
170 insertAnnotationDirectionEntries( mAnnotationDirectionComboBoxTop );
171 insertAnnotationDirectionEntries( mAnnotationDirectionComboBoxBottom );
173 mGridFramePenColorButton->setColorDialogTitle( tr(
"Select Grid Frame Color" ) );
174 mGridFramePenColorButton->setAllowOpacity(
true );
175 mGridFramePenColorButton->setContext( u
"composer"_s );
176 mGridFramePenColorButton->setNoColorString( tr(
"Transparent Frame" ) );
177 mGridFramePenColorButton->setOpaqueColorString( tr(
"Opaque Frame" ) );
178 mGridFramePenColorButton->setShowNoColor(
true );
180 mGridFrameFill1ColorButton->setColorDialogTitle( tr(
"Select Grid Frame Fill Color" ) );
181 mGridFrameFill1ColorButton->setAllowOpacity(
true );
182 mGridFrameFill1ColorButton->setContext( u
"composer"_s );
183 mGridFrameFill1ColorButton->setNoColorString( tr(
"Transparent Fill" ) );
184 mGridFrameFill1ColorButton->setOpaqueColorString( tr(
"Opaque Fill" ) );
185 mGridFrameFill1ColorButton->setShowNoColor(
true );
187 mGridFrameFill2ColorButton->setColorDialogTitle( tr(
"Select Grid Frame Fill Color" ) );
188 mGridFrameFill2ColorButton->setAllowOpacity(
true );
189 mGridFrameFill2ColorButton->setContext( u
"composer"_s );
190 mGridFrameFill2ColorButton->setNoColorString( tr(
"Transparent Fill" ) );
191 mGridFrameFill2ColorButton->setOpaqueColorString( tr(
"Opaque Fill" ) );
192 mGridFrameFill2ColorButton->setShowNoColor(
true );
198 toggleFrameControls(
false,
false,
false,
false );
225 blockAllSignals(
false );
226 connect( mAnnotationFontButton, &
QgsFontButton::changed,
this, &QgsLayoutMapGridWidget::annotationTextFormatChanged );
230 mGridLineStyleButton->registerExpressionContextGenerator( mMapGrid );
232 mGridMarkerStyleButton->registerExpressionContextGenerator( mMapGrid );
234 if ( mMap->layout() )
241 mAnnotationFontButton->registerExpressionContextGenerator( mMapGrid );
268void QgsLayoutMapGridWidget::setGuiElementValues()
275 if ( !mMapGrid || !mMap )
280 blockAllSignals(
true );
283 blockAllSignals(
false );
286void QgsLayoutMapGridWidget::blockAllSignals(
bool block )
289 mEnabledCheckBox->blockSignals( block );
290 mGridTypeComboBox->blockSignals( block );
291 mIntervalXSpinBox->blockSignals( block );
292 mIntervalYSpinBox->blockSignals( block );
293 mOffsetXSpinBox->blockSignals( block );
294 mOffsetYSpinBox->blockSignals( block );
295 mCrossWidthSpinBox->blockSignals( block );
296 mFrameStyleComboBox->blockSignals( block );
297 mFrameWidthSpinBox->blockSignals( block );
298 mGridFrameMarginSpinBox->blockSignals( block );
299 mGridLineStyleButton->blockSignals( block );
300 mMapGridUnitComboBox->blockSignals( block );
301 mGridFramePenSizeSpinBox->blockSignals( block );
302 mGridFramePenColorButton->blockSignals( block );
303 mGridFrameFill1ColorButton->blockSignals( block );
304 mGridFrameFill2ColorButton->blockSignals( block );
305 mGridBlendComboBox->blockSignals( block );
306 mCheckGridLeftSide->blockSignals( block );
307 mCheckGridRightSide->blockSignals( block );
308 mCheckGridTopSide->blockSignals( block );
309 mCheckGridBottomSide->blockSignals( block );
310 mFrameDivisionsLeftComboBox->blockSignals( block );
311 mFrameDivisionsRightComboBox->blockSignals( block );
312 mFrameDivisionsTopComboBox->blockSignals( block );
313 mFrameDivisionsBottomComboBox->blockSignals( block );
314 mGridMarkerStyleButton->blockSignals( block );
317 mDrawAnnotationGroupBox->blockSignals( block );
318 mAnnotationFormatComboBox->blockSignals( block );
319 mAnnotationDisplayLeftComboBox->blockSignals( block );
320 mAnnotationPositionLeftComboBox->blockSignals( block );
321 mAnnotationDirectionComboBoxLeft->blockSignals( block );
322 mAnnotationDisplayRightComboBox->blockSignals( block );
323 mAnnotationPositionRightComboBox->blockSignals( block );
324 mAnnotationDirectionComboBoxRight->blockSignals( block );
325 mAnnotationDisplayTopComboBox->blockSignals( block );
326 mAnnotationPositionTopComboBox->blockSignals( block );
327 mAnnotationDirectionComboBoxTop->blockSignals( block );
328 mAnnotationDisplayBottomComboBox->blockSignals( block );
329 mAnnotationPositionBottomComboBox->blockSignals( block );
330 mAnnotationDirectionComboBoxBottom->blockSignals( block );
331 mDistanceToMapFrameSpinBox->blockSignals( block );
332 mCoordinatePrecisionSpinBox->blockSignals( block );
333 mAnnotationFontButton->blockSignals( block );
334 mMinWidthSpinBox->blockSignals( block );
335 mMaxWidthSpinBox->blockSignals( block );
336 mHAlignmentComboBox->blockSignals( block );
341 if ( !mMapGrid || !mMap )
346 mMap->beginCommand( tr(
"Change Frame Divisions" ) );
347 mMapGrid->setFrameDivisions( mode, border );
349 mMap->updateBoundingRect();
354 if ( !mMapGrid || !mMap )
359 mMap->beginCommand( tr(
"Change Annotation Format" ) );
360 mMapGrid->setAnnotationDisplay( mode, border );
361 mMap->updateBoundingRect();
366void QgsLayoutMapGridWidget::toggleFrameControls(
bool frameEnabled,
bool frameFillEnabled,
bool frameSizeEnabled,
bool rotationEnabled )
369 mFrameWidthSpinBox->setEnabled( frameSizeEnabled );
370 mGridFrameMarginSpinBox->setEnabled( frameEnabled );
371 mGridFramePenSizeSpinBox->setEnabled( frameEnabled );
372 mGridFramePenColorButton->setEnabled( frameEnabled );
373 mGridFrameFill1ColorButton->setEnabled( frameFillEnabled );
374 mGridFrameFill2ColorButton->setEnabled( frameFillEnabled );
375 mFrameWidthLabel->setEnabled( frameSizeEnabled );
376 mFrameMarginLabel->setEnabled( frameEnabled );
377 mFramePenLabel->setEnabled( frameEnabled );
378 mFrameFillLabel->setEnabled( frameFillEnabled );
379 mCheckGridLeftSide->setEnabled( frameEnabled );
380 mCheckGridRightSide->setEnabled( frameEnabled );
381 mCheckGridTopSide->setEnabled( frameEnabled );
382 mCheckGridBottomSide->setEnabled( frameEnabled );
383 mFrameDivisionsLeftComboBox->setEnabled( frameEnabled );
384 mFrameDivisionsRightComboBox->setEnabled( frameEnabled );
385 mFrameDivisionsTopComboBox->setEnabled( frameEnabled );
386 mFrameDivisionsBottomComboBox->setEnabled( frameEnabled );
387 mLeftDivisionsLabel->setEnabled( frameEnabled );
388 mRightDivisionsLabel->setEnabled( frameEnabled );
389 mTopDivisionsLabel->setEnabled( frameEnabled );
390 mBottomDivisionsLabel->setEnabled( frameEnabled );
391 mRotatedTicksGroupBox->setEnabled( rotationEnabled );
394void QgsLayoutMapGridWidget::insertAnnotationPositionEntries( QComboBox *
c )
400void QgsLayoutMapGridWidget::insertAnnotationDirectionEntries( QComboBox *
c )
418 c->setCurrentIndex(
c->findData( QVariant::fromValue( display ) ) );
423 if ( !mMapGrid || !mMap )
428 mMap->beginCommand( tr(
"Change Annotation Position" ) );
429 mMapGrid->setAnnotationPosition( position, border );
431 mMap->updateBoundingRect();
438 if ( !mMapGrid || !mMap )
443 mMap->beginCommand( tr(
"Change Annotation Direction" ) );
444 mMapGrid->setAnnotationDirection( direction, border );
445 mMap->updateBoundingRect();
450void QgsLayoutMapGridWidget::insertFrameDisplayEntries( QComboBox *
c )
457void QgsLayoutMapGridWidget::insertAnnotationDisplayEntries( QComboBox *
c )
472 c->setCurrentIndex(
c->findData( QVariant::fromValue( pos ) ) );
481 c->setCurrentIndex(
c->findData( QVariant::fromValue( dir ) ) );
484bool QgsLayoutMapGridWidget::hasPredefinedScales()
const
489 if ( !hasProjectScales || scales.isEmpty() )
493 return !scales.isEmpty() && !scales[0].isEmpty();
498void QgsLayoutMapGridWidget::setGridItems()
505 mGridMarkerStyleButton->registerExpressionContextGenerator( mMapGrid );
506 mGridLineStyleButton->registerExpressionContextGenerator( mMapGrid );
507 mAnnotationFontButton->registerExpressionContextGenerator( mMapGrid );
509 mEnabledCheckBox->setChecked( mMapGrid->enabled() );
510 mIntervalXSpinBox->setValue( mMapGrid->intervalX() );
511 mIntervalYSpinBox->setValue( mMapGrid->intervalY() );
512 mOffsetXSpinBox->setValue( mMapGrid->offsetX() );
513 mOffsetYSpinBox->setValue( mMapGrid->offsetY() );
514 mCrossWidthSpinBox->setValue( mMapGrid->crossLength() );
515 mFrameWidthSpinBox->setValue( mMapGrid->frameWidth() );
516 mGridFrameMarginSpinBox->setValue( mMapGrid->frameMargin() );
517 mGridFramePenSizeSpinBox->setValue( mMapGrid->framePenSize() );
518 mGridFramePenColorButton->setColor( mMapGrid->framePenColor() );
519 mGridFrameFill1ColorButton->setColor( mMapGrid->frameFillColor1() );
520 mGridFrameFill2ColorButton->setColor( mMapGrid->frameFillColor2() );
523 mGridTypeComboBox->setCurrentIndex( mGridTypeComboBox->findData( QVariant::fromValue( gridStyle ) ) );
527 mCrossWidthSpinBox->setVisible(
true );
528 mCrossWidthDDBtn->setVisible(
true );
529 mCrossWidthLabel->setVisible(
true );
530 mGridLineStyleButton->setVisible(
true );
531 mLineStyleLabel->setVisible(
true );
532 mGridMarkerStyleButton->setVisible(
false );
533 mMarkerStyleLabel->setVisible(
false );
534 mGridBlendComboBox->setVisible(
true );
535 mGridBlendLabel->setVisible(
true );
538 mCrossWidthSpinBox->setVisible(
false );
539 mCrossWidthDDBtn->setVisible(
false );
540 mCrossWidthLabel->setVisible(
false );
541 mGridLineStyleButton->setVisible(
false );
542 mLineStyleLabel->setVisible(
false );
543 mGridMarkerStyleButton->setVisible(
true );
544 mMarkerStyleFrame->setVisible(
true );
545 mMarkerStyleLabel->setVisible(
true );
546 mGridBlendComboBox->setVisible(
true );
547 mGridBlendLabel->setVisible(
true );
550 mCrossWidthSpinBox->setVisible(
false );
551 mCrossWidthDDBtn->setVisible(
false );
552 mCrossWidthLabel->setVisible(
false );
553 mGridLineStyleButton->setVisible(
true );
554 mLineStyleLabel->setVisible(
true );
555 mGridMarkerStyleButton->setVisible(
false );
556 mMarkerStyleFrame->setVisible(
false );
557 mMarkerStyleLabel->setVisible(
false );
558 mGridBlendComboBox->setVisible(
true );
559 mGridBlendLabel->setVisible(
true );
562 mCrossWidthSpinBox->setVisible(
false );
563 mCrossWidthDDBtn->setVisible(
false );
564 mCrossWidthLabel->setVisible(
false );
565 mGridLineStyleButton->setVisible(
false );
566 mLineStyleLabel->setVisible(
false );
567 mGridMarkerStyleButton->setVisible(
false );
568 mMarkerStyleFrame->setVisible(
false );
569 mMarkerStyleLabel->setVisible(
false );
570 mGridBlendComboBox->setVisible(
false );
571 mGridBlendLabel->setVisible(
false );
576 mFrameWidthSpinBox->setValue( mMapGrid->frameWidth() );
577 mGridFrameMarginSpinBox->setValue( mMapGrid->frameMargin() );
579 mFrameStyleComboBox->setCurrentIndex( mFrameStyleComboBox->findData( QVariant::fromValue( gridFrameStyle ) ) );
580 switch ( gridFrameStyle )
584 toggleFrameControls(
true,
true,
true,
false );
589 toggleFrameControls(
true,
false,
true,
true );
593 toggleFrameControls(
true,
false,
false,
false );
596 toggleFrameControls(
false,
false,
false,
false );
605 mRotatedTicksGroupBox->setChecked( mMapGrid->rotatedTicksEnabled() );
606 mRotatedTicksLengthModeComboBox->setCurrentIndex( mRotatedTicksLengthModeComboBox->findData( QVariant::fromValue( mMapGrid->rotatedTicksLengthMode() ) ) );
607 mRotatedTicksThresholdSpinBox->setValue( mMapGrid->rotatedTicksMinimumAngle() );
608 mRotatedTicksMarginToCornerSpinBox->setValue( mMapGrid->rotatedTicksMarginToCorner() );
610 mRotatedAnnotationsGroupBox->setChecked( mMapGrid->rotatedAnnotationsEnabled() );
611 mRotatedAnnotationsLengthModeComboBox->setCurrentIndex( mRotatedAnnotationsLengthModeComboBox->findData( QVariant::fromValue( mMapGrid->rotatedAnnotationsLengthMode() ) ) );
612 mRotatedAnnotationsThresholdSpinBox->setValue( mMapGrid->rotatedAnnotationsMinimumAngle() );
613 mRotatedAnnotationsMarginToCornerSpinBox->setValue( mMapGrid->rotatedAnnotationsMarginToCorner() );
621 mGridLineStyleButton->setSymbol( mMapGrid->lineSymbol()->clone() );
623 mGridMarkerStyleButton->setSymbol( mMapGrid->markerSymbol()->clone() );
625 mGridBlendComboBox->setBlendMode( mMapGrid->blendMode() );
627 mDrawAnnotationGroupBox->setChecked( mMapGrid->annotationEnabled() );
628 mAnnotationDisplayLeftComboBox->setCurrentIndex( mAnnotationDisplayLeftComboBox->findData( QVariant::fromValue( mMapGrid->annotationDisplay(
Qgis::MapGridBorderSide::Left ) ) ) );
629 mAnnotationDisplayRightComboBox->setCurrentIndex( mAnnotationDisplayRightComboBox->findData( QVariant::fromValue( mMapGrid->annotationDisplay(
Qgis::MapGridBorderSide::Right ) ) ) );
630 mAnnotationDisplayTopComboBox->setCurrentIndex( mAnnotationDisplayTopComboBox->findData( QVariant::fromValue( mMapGrid->annotationDisplay(
Qgis::MapGridBorderSide::Top ) ) ) );
631 mAnnotationDisplayBottomComboBox->setCurrentIndex( mAnnotationDisplayBottomComboBox->findData( QVariant::fromValue( mMapGrid->annotationDisplay(
Qgis::MapGridBorderSide::Bottom ) ) ) );
633 mAnnotationPositionLeftComboBox->setCurrentIndex( mAnnotationPositionLeftComboBox->findData( QVariant::fromValue( mMapGrid->annotationPosition(
Qgis::MapGridBorderSide::Left ) ) ) );
634 mAnnotationPositionRightComboBox->setCurrentIndex( mAnnotationPositionRightComboBox->findData( QVariant::fromValue( mMapGrid->annotationPosition(
Qgis::MapGridBorderSide::Right ) ) ) );
635 mAnnotationPositionTopComboBox->setCurrentIndex( mAnnotationPositionTopComboBox->findData( QVariant::fromValue( mMapGrid->annotationPosition(
Qgis::MapGridBorderSide::Top ) ) ) );
636 mAnnotationPositionBottomComboBox->setCurrentIndex( mAnnotationPositionBottomComboBox->findData( QVariant::fromValue( mMapGrid->annotationPosition(
Qgis::MapGridBorderSide::Bottom ) ) ) );
643 mAnnotationFontButton->setDialogTitle( tr(
"Grid Annotation Font" ) );
645 mAnnotationFontButton->setTextFormat( mMapGrid->annotationTextFormat() );
647 mAnnotationFormatComboBox->setCurrentIndex( mAnnotationFormatComboBox->findData( QVariant::fromValue( mMapGrid->annotationFormat() ) ) );
649 mDistanceToMapFrameSpinBox->setValue( mMapGrid->annotationFrameDistance() );
650 mCoordinatePrecisionSpinBox->setValue( mMapGrid->annotationPrecision() );
652 mHAlignmentComboBox->setCurrentAlignment( mMapGrid->horizontalAlignment() );
655 mMapGridUnitComboBox->setCurrentIndex( mMapGridUnitComboBox->findData( QVariant::fromValue( mMapGrid->units() ) ) );
656 switch ( mMapGrid->units() )
661 mIntervalStackedWidget->setCurrentIndex( 0 );
665 mIntervalStackedWidget->setCurrentIndex( 1 );
668 mMinWidthSpinBox->setValue( mMapGrid->minimumIntervalWidth() );
669 mMaxWidthSpinBox->setValue( mMapGrid->maximumIntervalWidth() );
671 whileBlocking( mMapGridCrsSelector )->setCrs( mMapGrid->crs() );
674void QgsLayoutMapGridWidget::mIntervalXSpinBox_editingFinished()
676 if ( !mMapGrid || !mMap )
681 mMap->beginCommand( tr(
"Change Grid Interval" ) );
682 mMapGrid->setIntervalX( mIntervalXSpinBox->value() );
683 mMap->updateBoundingRect();
688void QgsLayoutMapGridWidget::mIntervalYSpinBox_editingFinished()
690 if ( !mMapGrid || !mMap )
695 mMap->beginCommand( tr(
"Change Grid Interval" ) );
696 mMapGrid->setIntervalY( mIntervalYSpinBox->value() );
697 mMap->updateBoundingRect();
702void QgsLayoutMapGridWidget::mOffsetXSpinBox_valueChanged(
double value )
704 if ( !mMapGrid || !mMap )
709 mMap->beginCommand( tr(
"Change Grid Offset" ) );
710 mMapGrid->setOffsetX( value );
711 mMap->updateBoundingRect();
716void QgsLayoutMapGridWidget::mOffsetYSpinBox_valueChanged(
double value )
718 if ( !mMapGrid || !mMap )
723 mMap->beginCommand( tr(
"Change Grid Offset" ) );
724 mMapGrid->setOffsetY( value );
725 mMap->updateBoundingRect();
730void QgsLayoutMapGridWidget::mCrossWidthSpinBox_valueChanged(
double val )
732 if ( !mMapGrid || !mMap )
737 mMap->beginCommand( tr(
"Change Cross Width" ) );
738 mMapGrid->setCrossLength( val );
743void QgsLayoutMapGridWidget::mFrameWidthSpinBox_valueChanged(
double val )
745 if ( !mMapGrid || !mMap )
750 mMap->beginCommand( tr(
"Change Frame Width" ) );
751 mMapGrid->setFrameWidth( val );
752 mMap->updateBoundingRect();
757void QgsLayoutMapGridWidget::mGridFrameMarginSpinBox_valueChanged(
double val )
759 if ( !mMapGrid || !mMap )
764 mMap->beginCommand( tr(
"Change Grid Frame Margin" ) );
765 mMapGrid->setFrameMargin( val );
766 mMap->updateBoundingRect();
771void QgsLayoutMapGridWidget::mCheckGridLeftSide_toggled(
bool checked )
773 if ( !mMapGrid || !mMap )
778 mMap->beginCommand( tr(
"Change Frame Left" ) );
780 mMap->updateBoundingRect();
785void QgsLayoutMapGridWidget::mCheckGridRightSide_toggled(
bool checked )
787 if ( !mMapGrid || !mMap )
792 mMap->beginCommand( tr(
"Change Frame Right" ) );
794 mMap->updateBoundingRect();
799void QgsLayoutMapGridWidget::mCheckGridTopSide_toggled(
bool checked )
801 if ( !mMapGrid || !mMap )
806 mMap->beginCommand( tr(
"Change Frame Top" ) );
808 mMap->updateBoundingRect();
813void QgsLayoutMapGridWidget::mCheckGridBottomSide_toggled(
bool checked )
815 if ( !mMapGrid || !mMap )
820 mMap->beginCommand( tr(
"Change Frame Bottom" ) );
822 mMap->updateBoundingRect();
827void QgsLayoutMapGridWidget::mFrameDivisionsLeftComboBox_currentIndexChanged(
int index )
832void QgsLayoutMapGridWidget::mFrameDivisionsRightComboBox_currentIndexChanged(
int index )
837void QgsLayoutMapGridWidget::mFrameDivisionsTopComboBox_currentIndexChanged(
int index )
842void QgsLayoutMapGridWidget::mFrameDivisionsBottomComboBox_currentIndexChanged(
int index )
847void QgsLayoutMapGridWidget::mGridFramePenSizeSpinBox_valueChanged(
double d )
849 if ( !mMapGrid || !mMap )
854 mMap->beginCommand( tr(
"Change Frame Thickness" ) );
855 mMapGrid->setFramePenSize( d );
856 mMap->updateBoundingRect();
861void QgsLayoutMapGridWidget::mGridFramePenColorButton_colorChanged(
const QColor &newColor )
863 if ( !mMapGrid || !mMap )
869 mMapGrid->setFramePenColor( newColor );
874void QgsLayoutMapGridWidget::mGridFrameFill1ColorButton_colorChanged(
const QColor &newColor )
876 if ( !mMapGrid || !mMap )
882 mMapGrid->setFrameFillColor1( newColor );
887void QgsLayoutMapGridWidget::mGridFrameFill2ColorButton_colorChanged(
const QColor &newColor )
889 if ( !mMapGrid || !mMap )
895 mMapGrid->setFrameFillColor2( newColor );
900void QgsLayoutMapGridWidget::mFrameStyleComboBox_currentIndexChanged(
int )
902 if ( !mMapGrid || !mMap )
908 mMap->beginCommand( tr(
"Change Frame Style" ) );
909 mMapGrid->setFrameStyle( style );
914 toggleFrameControls(
true,
true,
true,
false );
919 toggleFrameControls(
true,
false,
true,
true );
923 toggleFrameControls(
true,
false,
false,
false );
926 toggleFrameControls(
false,
false,
false,
false );
929 mMap->updateBoundingRect();
934void QgsLayoutMapGridWidget::mRotatedTicksGroupBox_toggled(
bool state )
936 if ( !mMapGrid || !mMap )
941 mMap->beginCommand( tr(
"Change Tick Rotation Enabled" ) );
942 mMapGrid->setRotatedTicksEnabled( state );
947void QgsLayoutMapGridWidget::mRotatedTicksLengthModeComboBox_currentIndexChanged(
int )
949 if ( !mMapGrid || !mMap )
955 mMap->beginCommand( tr(
"Change Tick Length Mode" ) );
956 mMapGrid->setRotatedTicksLengthMode( mode );
961void QgsLayoutMapGridWidget::mRotatedTicksThresholdSpinBox_valueChanged(
double val )
963 if ( !mMapGrid || !mMap )
968 mMap->beginCommand( tr(
"Change Rotated Ticks Threshold" ) );
969 mMapGrid->setRotatedTicksMinimumAngle( val );
974void QgsLayoutMapGridWidget::mRotatedTicksMarginToCornerSpinBox_valueChanged(
double val )
976 if ( !mMapGrid || !mMap )
981 mMap->beginCommand( tr(
"Change Rotated Ticks Margin to Corner" ) );
982 mMapGrid->setRotatedTicksMarginToCorner( val );
987void QgsLayoutMapGridWidget::mRotatedAnnotationsGroupBox_toggled(
bool state )
989 if ( !mMapGrid || !mMap )
994 mMap->beginCommand( tr(
"Change Annotation Rotation Enabled" ) );
995 mMapGrid->setRotatedAnnotationsEnabled( state );
1000void QgsLayoutMapGridWidget::mRotatedAnnotationsLengthModeComboBox_currentIndexChanged(
int )
1002 if ( !mMapGrid || !mMap )
1008 mMap->beginCommand( tr(
"Change Annotation Length Mode" ) );
1009 mMapGrid->setRotatedAnnotationsLengthMode( mode );
1014void QgsLayoutMapGridWidget::mRotatedAnnotationsThresholdSpinBox_valueChanged(
double val )
1016 if ( !mMapGrid || !mMap )
1021 mMap->beginCommand( tr(
"Change Rotated Annotations Threshold" ) );
1022 mMapGrid->setRotatedAnnotationsMinimumAngle( val );
1027void QgsLayoutMapGridWidget::mRotatedAnnotationsMarginToCornerSpinBox_valueChanged(
double val )
1029 if ( !mMapGrid || !mMap )
1034 mMap->beginCommand( tr(
"Change Rotated Annotations Margin to Corner" ) );
1035 mMapGrid->setRotatedAnnotationsMarginToCorner( val );
1040void QgsLayoutMapGridWidget::intervalUnitChanged(
int )
1042 if ( !mMapGrid || !mMap )
1053 mIntervalStackedWidget->setCurrentIndex( 0 );
1057 mIntervalStackedWidget->setCurrentIndex( 1 );
1061 mMap->beginCommand( tr(
"Change Grid Unit" ) );
1062 mMapGrid->setUnits( unit );
1063 mMap->updateBoundingRect();
1068void QgsLayoutMapGridWidget::minIntervalChanged(
double interval )
1071 mMapGrid->setMinimumIntervalWidth( interval );
1073 mMap->updateBoundingRect();
1077void QgsLayoutMapGridWidget::maxIntervalChanged(
double interval )
1080 mMapGrid->setMaximumIntervalWidth( interval );
1082 mMap->updateBoundingRect();
1086void QgsLayoutMapGridWidget::annotationTextFormatChanged()
1088 if ( !mMapGrid || !mMap )
1093 mMap->beginCommand( tr(
"Change Annotation Font" ) );
1094 mMapGrid->setAnnotationTextFormat( mAnnotationFontButton->textFormat() );
1096 mMap->updateBoundingRect();
1100void QgsLayoutMapGridWidget::onCrsChanged()
1102 mBlockAnnotationFormatUpdates++;
1105 mAnnotationFormatComboBox->clear();
1110 const QgsCoordinateReferenceSystem crs = mMapGrid->crs().isValid() ? mMapGrid->crs() : mMap->crs();
1175 const int prevIndex = mAnnotationFormatComboBox->findData( QVariant::fromValue( prevFormat ) );
1176 if ( prevIndex >= 0 )
1177 mAnnotationFormatComboBox->setCurrentIndex( prevIndex );
1179 mAnnotationFormatComboBox->setCurrentIndex( 0 );
1180 mBlockAnnotationFormatUpdates--;
1183 if ( newFormat != prevFormat )
1185 mAnnotationFormatComboBox_currentIndexChanged( mAnnotationFormatComboBox->currentIndex() );
1189void QgsLayoutMapGridWidget::mGridBlendComboBox_currentIndexChanged(
int index )
1194 mMap->beginCommand( tr(
"Change Grid Blend Mode" ) );
1195 mMapGrid->setBlendMode( mGridBlendComboBox->blendMode() );
1201void QgsLayoutMapGridWidget::mGridTypeComboBox_currentIndexChanged(
int )
1203 if ( !mMapGrid || !mMap )
1208 mMap->beginCommand( tr(
"Change Grid Type" ) );
1213 mCrossWidthSpinBox->setVisible(
true );
1214 mCrossWidthDDBtn->setVisible(
true );
1215 mCrossWidthLabel->setVisible(
true );
1216 mGridLineStyleButton->setVisible(
true );
1217 mLineStyleLabel->setVisible(
true );
1218 mGridMarkerStyleButton->setVisible(
false );
1219 mMarkerStyleFrame->setVisible(
false );
1220 mMarkerStyleFrame->setVisible(
false );
1221 mMarkerStyleLabel->setVisible(
false );
1222 mGridBlendComboBox->setVisible(
true );
1223 mGridBlendLabel->setVisible(
true );
1228 mCrossWidthSpinBox->setVisible(
false );
1229 mCrossWidthDDBtn->setVisible(
false );
1230 mCrossWidthLabel->setVisible(
false );
1231 mGridLineStyleButton->setVisible(
false );
1232 mLineStyleLabel->setVisible(
false );
1233 mGridMarkerStyleButton->setVisible(
true );
1234 mMarkerStyleFrame->setVisible(
true );
1235 mMarkerStyleLabel->setVisible(
true );
1236 mGridBlendComboBox->setVisible(
true );
1237 mGridBlendLabel->setVisible(
true );
1242 mCrossWidthSpinBox->setVisible(
false );
1243 mCrossWidthDDBtn->setVisible(
false );
1244 mCrossWidthLabel->setVisible(
false );
1245 mGridLineStyleButton->setVisible(
true );
1246 mLineStyleLabel->setVisible(
true );
1247 mGridMarkerStyleButton->setVisible(
false );
1248 mMarkerStyleFrame->setVisible(
false );
1249 mMarkerStyleLabel->setVisible(
false );
1250 mGridBlendComboBox->setVisible(
true );
1251 mGridBlendLabel->setVisible(
true );
1256 mCrossWidthSpinBox->setVisible(
false );
1257 mCrossWidthDDBtn->setVisible(
false );
1258 mCrossWidthLabel->setVisible(
false );
1259 mGridLineStyleButton->setVisible(
false );
1260 mLineStyleLabel->setVisible(
false );
1261 mGridMarkerStyleButton->setVisible(
false );
1262 mMarkerStyleFrame->setVisible(
false );
1263 mMarkerStyleLabel->setVisible(
false );
1264 mGridBlendComboBox->setVisible(
false );
1265 mGridBlendLabel->setVisible(
false );
1269 mMap->updateBoundingRect();
1276 if ( !mMapGrid || !mMap )
1281 if ( mMapGrid->crs() == crs )
1284 mMap->beginCommand( tr(
"Change Grid CRS" ) );
1285 mMapGrid->setCrs( crs );
1286 mMap->updateBoundingRect();
1291void QgsLayoutMapGridWidget::mDrawAnnotationGroupBox_toggled(
bool state )
1293 if ( !mMapGrid || !mMap )
1298 mMap->beginCommand( tr(
"Toggle Annotations" ) );
1299 mMapGrid->setAnnotationEnabled( state );
1300 mMap->updateBoundingRect();
1305void QgsLayoutMapGridWidget::mAnnotationFormatButton_clicked()
1307 if ( !mMapGrid || !mMap )
1312 QgsExpressionContext expressionContext = mMapGrid->createExpressionContext();
1315 QgsExpressionBuilderDialog exprDlg(
coverageLayer(), mMapGrid->annotationExpression(),
this, u
"generic"_s, expressionContext );
1316 exprDlg.setWindowTitle( tr(
"Expression Based Annotation" ) );
1318 if ( exprDlg.exec() == QDialog::Accepted )
1320 const QString expression = exprDlg.expressionText();
1321 mMap->beginCommand( tr(
"Change Annotation Format" ) );
1322 mMapGrid->setAnnotationExpression( expression );
1323 mMap->updateBoundingRect();
1329void QgsLayoutMapGridWidget::mAnnotationDisplayLeftComboBox_currentIndexChanged(
int )
1334void QgsLayoutMapGridWidget::mAnnotationDisplayRightComboBox_currentIndexChanged(
int )
1339void QgsLayoutMapGridWidget::mAnnotationDisplayTopComboBox_currentIndexChanged(
int )
1344void QgsLayoutMapGridWidget::mAnnotationDisplayBottomComboBox_currentIndexChanged(
int )
1349void QgsLayoutMapGridWidget::mAnnotationPositionLeftComboBox_currentIndexChanged(
int )
1354void QgsLayoutMapGridWidget::mAnnotationPositionRightComboBox_currentIndexChanged(
int )
1359void QgsLayoutMapGridWidget::mAnnotationPositionTopComboBox_currentIndexChanged(
int )
1364void QgsLayoutMapGridWidget::mAnnotationPositionBottomComboBox_currentIndexChanged(
int )
1369void QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxLeft_currentIndexChanged(
int index )
1374void QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxRight_currentIndexChanged(
int index )
1379void QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxTop_currentIndexChanged(
int index )
1384void QgsLayoutMapGridWidget::mAnnotationDirectionComboBoxBottom_currentIndexChanged(
int index )
1389void QgsLayoutMapGridWidget::mDistanceToMapFrameSpinBox_valueChanged(
double d )
1391 if ( !mMapGrid || !mMap )
1397 mMapGrid->setAnnotationFrameDistance( d );
1398 mMap->updateBoundingRect();
1403void QgsLayoutMapGridWidget::lineSymbolChanged()
1405 if ( !mMapGrid || !mMap )
1411 mMapGrid->setLineSymbol( mGridLineStyleButton->clonedSymbol<QgsLineSymbol>() );
1416void QgsLayoutMapGridWidget::markerSymbolChanged()
1418 if ( !mMapGrid || !mMap )
1424 mMapGrid->setMarkerSymbol( mGridMarkerStyleButton->clonedSymbol<QgsMarkerSymbol>() );
1429void QgsLayoutMapGridWidget::gridEnabledToggled(
bool active )
1431 if ( !mMapGrid || !mMap )
1436 mMap->beginCommand( tr(
"Toggle Grid Display" ) );
1437 mMapGrid->setEnabled( active );
1439 mMap->updateBoundingRect();
1443void QgsLayoutMapGridWidget::mAnnotationFormatComboBox_currentIndexChanged(
int index )
1445 if ( !mMapGrid || !mMap )
1449 if ( mBlockAnnotationFormatUpdates )
1452 mMap->beginCommand( tr(
"Change Annotation Format" ) );
1457 mMap->updateBoundingRect();
1462void QgsLayoutMapGridWidget::mCoordinatePrecisionSpinBox_valueChanged(
int value )
1464 if ( !mMapGrid || !mMap )
1468 mMap->beginCommand( tr(
"Change Annotation Precision" ) );
1469 mMapGrid->setAnnotationPrecision( value );
1470 mMap->updateBoundingRect();
MapGridTickLengthMode
Map grid tick length mode (useful for rotated grids).
@ OrthogonalTicks
Align ticks orthogonaly.
@ NormalizedTicks
Constant tick lengths.
MapGridAnnotationPosition
Position for map grid annotations.
@ InsideMapFrame
Draw annotations inside the map frame.
@ OutsideMapFrame
Draw annotations outside the map frame.
MapGridUnit
Units for map grid values.
@ Centimeters
Grid units in centimeters.
@ Millimeters
Grid units in millimeters.
@ DynamicPageSizeBased
Dynamically sized, based on a on-page size range.
@ MapUnits
Grid units follow map units.
@ 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).
MapGridBorderSide
Border sides for map grid annotations.
@ Bottom
Bottom side of map.
@ Right
Right side of map.
MapGridComponentVisibility
Visibility display settings for map grid annotations and frames.
@ ShowAll
Show both latitude and longitude annotations/divisions.
@ LongitudeOnly
Show longitude/x annotations/divisions only.
@ LatitudeOnly
Show latitude/y annotations/divisions only.
MapGridStyle
Map grid drawing styles.
@ LineCrosses
Draw line crosses at intersections of grid lines.
@ Markers
Draw markers at intersections of grid lines.
@ Lines
Draw lines for grid.
@ FrameAndAnnotationsOnly
No grid lines over the map, only draw frame and annotations.
MapGridFrameStyle
Style for map grid frames.
@ LineBorderNautical
Simple solid line frame, with nautical style diagonals on corners.
@ ZebraNautical
Black/white pattern, with nautical style diagonals on corners.
@ InteriorExteriorTicks
Tick markers drawn both inside and outside the map frame.
@ NoFrame
Disable grid frame.
@ ExteriorTicks
Tick markers drawn outside map frame.
@ Zebra
Black/white pattern.
@ LineBorder
Simple solid line frame.
@ InteriorTicks
Tick markers drawn inside map frame.
MapGridAnnotationDirection
Direction of grid annotations.
@ Vertical
Draw annotations vertically, ascending.
@ UnderTick
Draw annotations parallel to tick (under the line).
@ VerticalDescending
Draw annotations vertically, descending.
@ BoundaryDirection
Annotations follow the boundary direction.
@ AboveTick
Draw annotations parallel to tick (above the line).
@ OnTick
Draw annotations parallel to tick (on the line).
@ Horizontal
Draw annotations horizontally.
MapGridAnnotationFormat
Format for displaying map grid annotations.
@ DegreeMinute
Degree/minutes, use NSEW suffix.
@ DegreeMinuteSecond
Degree/minutes/seconds, use NSEW suffix.
@ DegreeMinuteNoSuffix
Degree/minutes, use - for S/W coordinates.
@ CustomFormat
Custom expression-based format.
@ Decimal
Decimal degrees, use - for S/W coordinates.
@ DegreeMinuteSecondNoSuffix
Degree/minutes/seconds, use - for S/W coordinates.
@ DegreeMinutePadded
Degree/minutes, with minutes using leading zeros where required.
@ DegreeMinuteSecondPadded
Degree/minutes/seconds, with minutes using leading zeros where required.
@ DecimalWithSuffix
Decimal degrees, use NSEW suffix.
void changed()
Emitted when the alignment is changed.
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.
void crsChanged()
Emitted whenever the grid's CRS is changed.
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.