29 #include <QButtonGroup> 37 , mLayoutObject( layoutObject )
39 if ( mLayoutObject->layout() )
42 this, [ = ] { updateDataDefinedButtons(); } );
50 void QgsLayoutConfigObject::updateDataDefinedProperty()
61 key = static_cast< QgsLayoutObject::DataDefinedProperty >( ddButton->
propertyKey() );
71 mLayoutObject->dataDefinedProperties().setProperty( key, ddButton->
toProperty() );
72 mLayoutObject->refresh();
76 void QgsLayoutConfigObject::updateDataDefinedButtons()
78 const QList< QgsPropertyOverrideButton * > buttons = findChildren< QgsPropertyOverrideButton * >();
87 button->blockSignals(
true );
91 button->blockSignals(
false );
103 whileBlocking( button )->setToProperty( mLayoutObject->dataDefinedProperties().property( key ) );
112 if ( !mLayoutObject )
124 return printLayout->
atlas();
129 mLayoutObject = object;
134 if ( !mLayoutObject )
137 QgsLayout *layout = mLayoutObject->layout();
152 , mObject( layoutObject )
171 oldConfigObject->deleteLater();
178 mConfigObject->deleteLater();
179 mConfigObject = oldConfigObject;
190 const auto symbolButtonWidgets = findChildren<QgsSymbolButton *>();
193 symbolWidget->setMessageBar( iface->
messageBar() );
195 const auto fontButtonWidgets = findChildren<QgsFontButton *>();
198 fontButton->setMessageBar( iface->
messageBar() );
242 mBlockVariableUpdates =
true;
244 mVariableEditor->setContext( &context );
249 const int multiFrameScopeIndex = context.
indexOfScope( tr(
"Multiframe Item" ) );
250 const int itemScopeIndex = context.
indexOfScope( tr(
"Layout Item" ) );
251 if ( multiFrameScopeIndex >= 0 )
252 mVariableEditor->setEditableScopeIndex( multiFrameScopeIndex );
253 else if ( itemScopeIndex >= 0 )
254 mVariableEditor->setEditableScopeIndex( itemScopeIndex );
255 mBlockVariableUpdates =
false;
264 mVariableEditor->setMinimumHeight( mVariableEditor->fontMetrics().height() * 15 );
266 mItemRotationSpinBox->setClearValue( 0 );
267 mStrokeUnitsComboBox->linkToWidget( mStrokeWidthSpinBox );
270 mPosUnitsComboBox->linkToWidget( mXPosSpin );
271 mPosUnitsComboBox->linkToWidget( mYPosSpin );
272 mSizeUnitsComboBox->linkToWidget( mWidthSpin );
273 mSizeUnitsComboBox->linkToWidget( mHeightSpin );
278 mPosLockAspectRatio->setWidthSpinBox( mXPosSpin );
279 mPosLockAspectRatio->setHeightSpinBox( mYPosSpin );
280 mSizeLockAspectRatio->setWidthSpinBox( mWidthSpin );
281 mSizeLockAspectRatio->setHeightSpinBox( mHeightSpin );
283 mItemFrameColorDDBtn->registerLinkedWidget( mFrameColorButton );
284 mItemBackgroundColorDDBtn->registerLinkedWidget( mBackgroundColorButton );
287 connect( mBackgroundColorButton, &
QgsColorButton::colorChanged,
this, &QgsLayoutItemPropertiesWidget::mBackgroundColorButton_colorChanged );
288 connect( mStrokeWidthSpinBox, static_cast <
void ( QDoubleSpinBox::* )(
double ) > ( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutItemPropertiesWidget::mStrokeWidthSpinBox_valueChanged );
290 connect( mFrameGroupBox, &QgsCollapsibleGroupBoxBasic::toggled,
this, &QgsLayoutItemPropertiesWidget::mFrameGroupBox_toggled );
291 connect( mFrameJoinStyleCombo,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutItemPropertiesWidget::mFrameJoinStyleCombo_currentIndexChanged );
292 connect( mBackgroundGroupBox, &QgsCollapsibleGroupBoxBasic::toggled,
this, &QgsLayoutItemPropertiesWidget::mBackgroundGroupBox_toggled );
293 connect( mItemIdLineEdit, &QLineEdit::editingFinished,
this, &QgsLayoutItemPropertiesWidget::mItemIdLineEdit_editingFinished );
294 connect( mPageSpinBox, static_cast <
void ( QSpinBox::* )(
int ) > ( &QSpinBox::valueChanged ),
this, &QgsLayoutItemPropertiesWidget::mPageSpinBox_valueChanged );
295 connect( mXPosSpin, static_cast <
void ( QDoubleSpinBox::* )(
double ) > ( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutItemPropertiesWidget::mXPosSpin_valueChanged );
296 connect( mYPosSpin, static_cast <
void ( QDoubleSpinBox::* )(
double ) > ( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutItemPropertiesWidget::mYPosSpin_valueChanged );
298 connect( mWidthSpin, static_cast <
void ( QDoubleSpinBox::* )(
double ) > ( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutItemPropertiesWidget::mWidthSpin_valueChanged );
299 connect( mHeightSpin, static_cast <
void ( QDoubleSpinBox::* )(
double ) > ( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutItemPropertiesWidget::mHeightSpin_valueChanged );
301 connect( mUpperLeftRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mUpperLeftCheckBox_stateChanged );
302 connect( mUpperMiddleRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mUpperMiddleCheckBox_stateChanged );
303 connect( mUpperRightRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mUpperRightCheckBox_stateChanged );
304 connect( mMiddleLeftRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mMiddleLeftCheckBox_stateChanged );
305 connect( mMiddleRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mMiddleCheckBox_stateChanged );
306 connect( mMiddleRightRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mMiddleRightCheckBox_stateChanged );
307 connect( mLowerLeftRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mLowerLeftCheckBox_stateChanged );
308 connect( mLowerMiddleRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mLowerMiddleCheckBox_stateChanged );
309 connect( mLowerRightRadioButton, &QRadioButton::toggled,
this, &QgsLayoutItemPropertiesWidget::mLowerRightCheckBox_stateChanged );
310 connect( mBlendModeCombo,
static_cast<void ( QComboBox::* )(
int )
>( &QComboBox::currentIndexChanged ),
this, &QgsLayoutItemPropertiesWidget::mBlendModeCombo_currentIndexChanged );
311 connect( mItemRotationSpinBox, static_cast <
void ( QDoubleSpinBox::* )(
double ) > ( &QDoubleSpinBox::valueChanged ),
this, &QgsLayoutItemPropertiesWidget::mItemRotationSpinBox_valueChanged );
312 connect( mExcludeFromPrintsCheckBox, &QCheckBox::toggled,
this, &QgsLayoutItemPropertiesWidget::mExcludeFromPrintsCheckBox_toggled );
315 QButtonGroup *buttonGroup =
new QButtonGroup(
this );
316 buttonGroup->addButton( mUpperLeftRadioButton );
317 buttonGroup->addButton( mUpperMiddleRadioButton );
318 buttonGroup->addButton( mUpperRightRadioButton );
319 buttonGroup->addButton( mMiddleLeftRadioButton );
320 buttonGroup->addButton( mMiddleRadioButton );
321 buttonGroup->addButton( mMiddleRightRadioButton );
322 buttonGroup->addButton( mLowerLeftRadioButton );
323 buttonGroup->addButton( mLowerMiddleRadioButton );
324 buttonGroup->addButton( mLowerRightRadioButton );
325 buttonGroup->setExclusive(
true );
336 if ( !mBlockVariableUpdates )
337 QgsLayoutItemPropertiesWidget::variablesChanged();
354 mBackgroundGroupBox->setVisible( showGroup );
359 mFrameGroupBox->setVisible( showGroup );
367 disconnect( mItem, &
QgsLayoutObject::changed,
this, &QgsLayoutItemPropertiesWidget::setValuesForGuiNonPositionElements );
373 connect( mItem, &
QgsLayoutObject::changed,
this, &QgsLayoutItemPropertiesWidget::setValuesForGuiNonPositionElements );
378 setValuesForGuiElements();
383 if (
QgsPrintLayout *printLayout = dynamic_cast< QgsPrintLayout * >( masterLayout ) )
392 void QgsLayoutItemPropertiesWidget::mFrameColorButton_colorChanged(
const QColor &newFrameColor )
399 mItem->setFrameStrokeColor( newFrameColor );
400 mItem->layout()->undoStack()->endCommand();
404 void QgsLayoutItemPropertiesWidget::mBackgroundColorButton_colorChanged(
const QColor &newBackgroundColor )
411 mItem->setBackgroundColor( newBackgroundColor );
412 mItem->layout()->undoStack()->endCommand();
413 mItem->invalidateCache();
416 void QgsLayoutItemPropertiesWidget::changeItemPosition()
423 QgsLayoutPoint point( mXPosSpin->value(), mYPosSpin->value(), mPosUnitsComboBox->unit() );
424 mItem->attemptMove( point,
true,
false, mPageSpinBox->value() - 1 );
426 mItem->layout()->undoStack()->endCommand();
434 mItem->layout()->undoStack()->beginCommand( mItem, tr(
"Change Item Reference" ) );
435 mItem->setReferencePoint( point );
436 mItem->layout()->undoStack()->endCommand();
439 void QgsLayoutItemPropertiesWidget::changeItemSize()
446 QgsLayoutSize size( mWidthSpin->value(), mHeightSpin->value(), mSizeUnitsComboBox->unit() );
447 mItem->attemptResize( size );
449 mItem->layout()->undoStack()->endCommand();
452 void QgsLayoutItemPropertiesWidget::variablesChanged()
457 if (
QgsLayoutFrame *frame = qobject_cast< QgsLayoutFrame * >( mItem ) )
472 if ( mUpperLeftRadioButton->isChecked() )
476 else if ( mUpperMiddleRadioButton->isChecked() )
480 else if ( mUpperRightRadioButton->isChecked() )
484 else if ( mMiddleLeftRadioButton->isChecked() )
488 else if ( mMiddleRadioButton->isChecked() )
492 else if ( mMiddleRightRadioButton->isChecked() )
496 else if ( mLowerLeftRadioButton->isChecked() )
500 else if ( mLowerMiddleRadioButton->isChecked() )
504 else if ( mLowerRightRadioButton->isChecked() )
511 void QgsLayoutItemPropertiesWidget::mStrokeWidthSpinBox_valueChanged(
double d )
520 mItem->layout()->undoStack()->endCommand();
532 mItem->layout()->undoStack()->endCommand();
535 void QgsLayoutItemPropertiesWidget::mFrameJoinStyleCombo_currentIndexChanged(
int index )
543 mItem->layout()->undoStack()->beginCommand( mItem, tr(
"Change Frame Join Style" ) );
544 mItem->setFrameJoinStyle( mFrameJoinStyleCombo->penJoinStyle() );
545 mItem->layout()->undoStack()->endCommand();
548 void QgsLayoutItemPropertiesWidget::mFrameGroupBox_toggled(
bool state )
555 mItem->layout()->undoStack()->beginCommand( mItem, state ? tr(
"Enable Frame" ) : tr(
"Disable Frame" ) );
556 mItem->setFrameEnabled( state );
558 mItem->layout()->undoStack()->endCommand();
561 void QgsLayoutItemPropertiesWidget::mBackgroundGroupBox_toggled(
bool state )
568 mItem->layout()->undoStack()->beginCommand( mItem, state ? tr(
"Enable Background" ) : tr(
"Disable Background" ) );
569 mItem->setBackgroundEnabled( state );
570 mItem->layout()->undoStack()->endCommand();
571 mItem->invalidateCache();
575 void QgsLayoutItemPropertiesWidget::setValuesForGuiPositionElements()
582 auto block = [ = ](
bool blocked )
584 mXPosSpin->blockSignals( blocked );
585 mYPosSpin->blockSignals( blocked );
586 mPosUnitsComboBox->blockSignals( blocked );
587 mWidthSpin->blockSignals( blocked );
588 mHeightSpin->blockSignals( blocked );
589 mSizeUnitsComboBox->blockSignals( blocked );
590 mUpperLeftRadioButton->blockSignals( blocked );
591 mUpperMiddleRadioButton->blockSignals( blocked );
592 mUpperRightRadioButton->blockSignals( blocked );
593 mMiddleLeftRadioButton->blockSignals( blocked );
594 mMiddleRadioButton->blockSignals( blocked );
595 mMiddleRightRadioButton->blockSignals( blocked );
596 mLowerLeftRadioButton->blockSignals( blocked );
597 mLowerMiddleRadioButton->blockSignals( blocked );
598 mLowerRightRadioButton->blockSignals( blocked );
599 mPageSpinBox->blockSignals( blocked );
605 if ( !mFreezeXPosSpin )
606 mXPosSpin->setValue( point.
x() );
607 if ( !mFreezeYPosSpin )
608 mYPosSpin->setValue( point.
y() );
609 mPosUnitsComboBox->setUnit( point.
units() );
611 switch ( mItem->referencePoint() )
615 mUpperLeftRadioButton->setChecked(
true );
621 mUpperMiddleRadioButton->setChecked(
true );
627 mUpperRightRadioButton->setChecked(
true );
633 mMiddleLeftRadioButton->setChecked(
true );
639 mMiddleRadioButton->setChecked(
true );
645 mMiddleRightRadioButton->setChecked(
true );
651 mLowerLeftRadioButton->setChecked(
true );
657 mLowerMiddleRadioButton->setChecked(
true );
663 mLowerRightRadioButton->setChecked(
true );
669 if ( !mFreezeWidthSpin )
670 mWidthSpin->setValue( size.
width() );
671 if ( !mFreezeHeightSpin )
672 mHeightSpin->setValue( size.
height() );
674 mSizeUnitsComboBox->setUnit( size.
units() );
676 mSizeLockAspectRatio->resetRatio();
677 mPosLockAspectRatio->resetRatio();
679 if ( !mFreezePageSpin )
680 mPageSpinBox->setValue( mItem->page() + 1 );
685 void QgsLayoutItemPropertiesWidget::setValuesForGuiNonPositionElements()
692 auto block = [ = ](
bool blocked )
694 mStrokeWidthSpinBox->blockSignals( blocked );
695 mStrokeUnitsComboBox->blockSignals( blocked );
696 mFrameGroupBox->blockSignals( blocked );
697 mBackgroundGroupBox->blockSignals( blocked );
698 mItemIdLineEdit->blockSignals( blocked );
699 mBlendModeCombo->blockSignals( blocked );
700 mOpacityWidget->blockSignals( blocked );
701 mFrameColorButton->blockSignals( blocked );
702 mFrameJoinStyleCombo->blockSignals( blocked );
703 mBackgroundColorButton->blockSignals( blocked );
704 mItemRotationSpinBox->blockSignals( blocked );
705 mExcludeFromPrintsCheckBox->blockSignals( blocked );
709 mBackgroundColorButton->setColor( mItem->backgroundColor() );
710 mFrameColorButton->setColor( mItem->frameStrokeColor() );
711 mStrokeUnitsComboBox->setUnit( mItem->frameStrokeWidth().units() );
712 mStrokeWidthSpinBox->setValue( mItem->frameStrokeWidth().length() );
713 mFrameJoinStyleCombo->setPenJoinStyle( mItem->frameJoinStyle() );
714 mItemIdLineEdit->setText( mItem->id() );
715 mFrameGroupBox->setChecked( mItem->frameEnabled() );
716 mBackgroundGroupBox->setChecked( mItem->hasBackground() );
717 mBlendModeCombo->setBlendMode( mItem->blendMode() );
718 mOpacityWidget->setOpacity( mItem->itemOpacity() );
719 mItemRotationSpinBox->setValue( mItem->itemRotation() );
720 mExcludeFromPrintsCheckBox->setChecked( mItem->excludeFromExports() );
741 const QList< QgsPropertyOverrideButton * > buttons = findChildren< QgsPropertyOverrideButton * >();
748 void QgsLayoutItemPropertiesWidget::setValuesForGuiElements()
755 mBackgroundColorButton->setColorDialogTitle( tr(
"Select Background Color" ) );
756 mBackgroundColorButton->setAllowOpacity(
true );
757 mBackgroundColorButton->setContext( QStringLiteral(
"composer" ) );
758 mFrameColorButton->setColorDialogTitle( tr(
"Select Frame Color" ) );
759 mFrameColorButton->setAllowOpacity(
true );
760 mFrameColorButton->setContext( QStringLiteral(
"composer" ) );
762 setValuesForGuiPositionElements();
763 setValuesForGuiNonPositionElements();
769 void QgsLayoutItemPropertiesWidget::mBlendModeCombo_currentIndexChanged(
int index )
774 mItem->layout()->undoStack()->beginCommand( mItem, tr(
"Change Blend Mode" ) );
775 mItem->setBlendMode( mBlendModeCombo->blendMode() );
776 mItem->layout()->undoStack()->endCommand();
780 void QgsLayoutItemPropertiesWidget::opacityChanged(
double value )
785 mItem->setItemOpacity( value );
786 mItem->layout()->undoStack()->endCommand();
790 void QgsLayoutItemPropertiesWidget::mItemIdLineEdit_editingFinished()
795 mItem->setId( mItemIdLineEdit->text() );
796 mItemIdLineEdit->setText( mItem->id() );
797 mItem->layout()->undoStack()->endCommand();
801 void QgsLayoutItemPropertiesWidget::mPageSpinBox_valueChanged(
int )
803 mFreezePageSpin =
true;
804 changeItemPosition();
805 mFreezePageSpin =
false;
808 void QgsLayoutItemPropertiesWidget::mXPosSpin_valueChanged(
double )
810 mFreezeXPosSpin =
true;
811 changeItemPosition();
812 mFreezeXPosSpin =
false;
815 void QgsLayoutItemPropertiesWidget::mYPosSpin_valueChanged(
double )
817 mFreezeYPosSpin =
true;
818 changeItemPosition();
819 mFreezeYPosSpin =
false;
824 changeItemPosition();
827 void QgsLayoutItemPropertiesWidget::mWidthSpin_valueChanged(
double )
829 mFreezeWidthSpin =
true;
831 mFreezeWidthSpin =
false;
834 void QgsLayoutItemPropertiesWidget::mHeightSpin_valueChanged(
double )
836 mFreezeHeightSpin =
true;
838 mFreezeHeightSpin =
false;
846 void QgsLayoutItemPropertiesWidget::mUpperLeftCheckBox_stateChanged(
bool state )
855 setValuesForGuiPositionElements();
858 void QgsLayoutItemPropertiesWidget::mUpperMiddleCheckBox_stateChanged(
bool state )
866 setValuesForGuiPositionElements();
869 void QgsLayoutItemPropertiesWidget::mUpperRightCheckBox_stateChanged(
bool state )
877 setValuesForGuiPositionElements();
880 void QgsLayoutItemPropertiesWidget::mMiddleLeftCheckBox_stateChanged(
bool state )
888 setValuesForGuiPositionElements();
891 void QgsLayoutItemPropertiesWidget::mMiddleCheckBox_stateChanged(
bool state )
899 setValuesForGuiPositionElements();
902 void QgsLayoutItemPropertiesWidget::mMiddleRightCheckBox_stateChanged(
bool state )
910 setValuesForGuiPositionElements();
913 void QgsLayoutItemPropertiesWidget::mLowerLeftCheckBox_stateChanged(
bool state )
921 setValuesForGuiPositionElements();
924 void QgsLayoutItemPropertiesWidget::mLowerMiddleCheckBox_stateChanged(
bool state )
932 setValuesForGuiPositionElements();
935 void QgsLayoutItemPropertiesWidget::mLowerRightCheckBox_stateChanged(
bool state )
943 setValuesForGuiPositionElements();
946 void QgsLayoutItemPropertiesWidget::mItemRotationSpinBox_valueChanged(
double val )
951 mItem->setItemRotation( val,
true );
953 mItem->layout()->undoStack()->endCommand();
957 void QgsLayoutItemPropertiesWidget::mExcludeFromPrintsCheckBox_toggled(
bool checked )
961 mItem->layout()->undoStack()->beginCommand( mItem, checked ? tr(
"Exclude from Exports" ) : tr(
"Include in Exports" ) );
962 mItem->setExcludeFromExports( checked );
963 mItem->layout()->undoStack()->endCommand();
static void setLayoutItemVariables(QgsLayoutItem *item, const QVariantMap &variables)
Sets all layout item context variables for an item.
QgsVectorLayer * coverageLayer() const
Returns the current layout context coverage layer (if set).
Base class for graphical items within a QgsLayout.
Lower left corner of item.
static QgsApplication * instance()
Returns the singleton instance of the QgsApplication.
void customVariablesChanged()
Emitted whenever a custom global variable changes.
Exclude item from exports.
A common interface for layout designer dialogs and widgets.
void metadataChanged()
Emitted when the project's metadata is changed.
void changed()
Emitted when pages are added or removed from the collection.
void toggled(bool)
Emitted when atlas is enabled or disabled.
QgsLayoutConfigObject(QWidget *parent SIP_TRANSFERTHIS, QgsLayoutObject *layoutObject)
Constructor for QgsLayoutConfigObject, linked with the specified layoutObject.
Lower right corner of item.
QgsLayoutRenderContext & renderContext()
Returns a reference to the layout's render context, which stores information relating to the current ...
static const QgsPropertiesDefinition & propertyDefinitions()
Returns the layout object property definitions.
Abstract base class for layout items with the ability to distribute the content to several frames (Qg...
void dpiChanged()
Emitted when the context's DPI is changed.
This class provides a method of storing points, consisting of an x and y coordinate, for use in QGIS layouts.
ReferencePoint
Fixed position reference point.
void sizePositionChanged()
Emitted when the item's size or position changes.
QgsUnitTypes::LayoutUnit units() const
Returns the units for the point.
QgsVectorLayer * layer() const
Returns the vector layer associated with the layout's context.
QgsLayoutAtlas * layoutAtlas() const
Returns the atlas for the layout, if available.
const QgsLayout * layout() const
Returns the layout the object is attached to.
virtual QgsMessageBar * messageBar()=0
Returns the designer's message bar.
void variablesChanged()
Emitted whenever the expression variables stored in the layout have been changed. ...
This class provides a method of storing measurements for use in QGIS layouts using a variety of diffe...
Upper right corner of item.
QgsLayoutPageCollection * pageCollection()
Returns a pointer to the layout's page collection, which stores and manages page items in the layout...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
double y() const
Returns y coordinate of point.
Class used to render QgsLayout as an atlas, by iterating over the features from an associated vector ...
void initializeDataDefinedButton(QgsPropertyOverrideButton *button, QgsLayoutObject::DataDefinedProperty key)
Registers a data defined button, setting up its initial value, connections and description.
void setObject(QgsLayoutObject *object) SIP_SKIP
Links a new layout object to this QgsLayoutConfigObject.
double x() const
Returns x coordinate of point.
QgsUnitTypes::LayoutUnit units() const
Returns the units for the size.
void layerChanged(QgsVectorLayer *layer)
Emitted when the context's layer is changed.
void updateDataDefinedButton(QgsPropertyOverrideButton *button)
Updates a data defined button to reflect the item's current properties.
void changed(QgsUnitTypes::LayoutUnit unit)
Emitted when the unit is changed.
Upper left corner of item.
QgsLayoutAtlas * atlas()
Returns the print layout's atlas.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
QgsLayoutReportContext & reportContext()
Returns a reference to the layout's report context, which stores information relating to the current ...
QgsSignalBlocker< Object > whileBlocking(Object *object)
Temporarily blocks signals from a QObject while calling a single method from the object.
void customVariablesChanged()
Emitted whenever the expression variables stored in the project have been changed.
const QgsLayoutMeasurementConverter & measurementConverter() const
Returns the layout measurement converter to be used in the layout.
static void setLayoutMultiFrameVariables(QgsLayoutMultiFrame *frame, const QVariantMap &variables)
Sets all layout multiframe context variables for an frame.
void nameChanged(const QString &name)
Emitted when the layout's name is changed.
An object for property widgets for layout items.
Background color adjustment.
QgsProject * project() const
The project associated with the layout.
A base class for objects which belong to a layout.
LayoutUnit
Layout measurement units.
Layout item incremental movement, e.g. as a result of a keypress.
Print layout, a QgsLayout subclass for static or atlas-based layouts.
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
Interface for master layout type objects, such as print layouts and reports.
void changed()
Emitted when the object's properties change.
Represents a vector layer which manages a vector based data sets.
double height() const
Returns the height of the size.
int indexOfScope(QgsExpressionContextScope *scope) const
Returns the index of the specified scope if it exists within the context.
DataDefinedProperty
Data defined properties for different item types.
Base class for frame items, which form a layout multiframe item.
void coverageLayerChanged(QgsVectorLayer *layer)
Emitted when the coverage layer for the atlas changes.
double width() const
Returns the width of the size.