27void QgsLayoutObject::initPropertyDefinitions()
29 if ( !sPropertyDefinitions.isEmpty() )
37 "|<b>B5</b>|<b>B4</b>|<b>B3</b>|<b>B2</b>|<b>B1</b>|<b>B0</b>"
38 "|<b>Legal</b>|<b>Ansi A</b>|<b>Ansi B</b>|<b>Ansi C</b>|<b>Ansi D</b>|<b>Ansi E</b>"
39 "|<b>Arch A</b>|<b>Arch B</b>|<b>Arch C</b>|<b>Arch D</b>|<b>Arch E</b>|<b>Arch E1</b>]"
131 QgsLayoutObject::initPropertyDefinitions();
132 return sPropertyDefinitions;
238 initPropertyDefinitions();
281 return mLayout->createExpressionContext();
291 if ( parentElement.isNull() )
297 QDomElement objectElement = document.createElement( QStringLiteral(
"LayoutObject" ) );
299 QDomElement ddPropsElement = document.createElement( QStringLiteral(
"dataDefinedProperties" ) );
301 objectElement.appendChild( ddPropsElement );
306 parentElement.appendChild( objectElement );
313 if ( parentElement.isNull() )
318 const QDomNodeList objectNodeList = parentElement.elementsByTagName( QStringLiteral(
"LayoutObject" ) );
319 if ( objectNodeList.size() < 1 )
323 const QDomElement objectElement = objectNodeList.at( 0 ).toElement();
325 const QDomNode propsNode = objectElement.namedItem( QStringLiteral(
"dataDefinedProperties" ) );
326 if ( !propsNode.isNull() )
virtual bool readXml(const QDomElement &collectionElem, const QgsPropertiesDefinition &definitions)
Reads property collection state from an XML element.
virtual bool writeXml(QDomElement &collectionElem, const QgsPropertiesDefinition &definitions) const
Writes the current state of the property collection into an XML element.
static QgsExpressionContextScope * globalScope()
Creates a new scope which contains variables and functions relating to the global QGIS context.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
QStringList customProperties() const
Returns list of keys stored in custom properties for the object.
QVariant customProperty(const QString &key, const QVariant &defaultValue=QVariant()) const
Read a custom property from the object.
static const QgsPropertiesDefinition & propertyDefinitions()
Returns the layout object property definitions.
QgsObjectCustomProperties mCustomProperties
Custom properties for object.
QgsPropertyCollection mDataDefinedProperties
bool readObjectPropertiesFromElement(const QDomElement &parentElement, const QDomDocument &document, const QgsReadWriteContext &context)
Sets object properties from a DOM element.
const QgsLayout * layout() const
Returns the layout the object is attached to.
void setCustomProperty(const QString &key, const QVariant &value)
Set a custom property for the object.
virtual void refresh()
Refreshes the object, causing a recalculation of any property overrides.
QPointer< QgsLayout > mLayout
QgsExpressionContext createExpressionContext() const override
Creates an expression context relating to the objects' current state.
void removeCustomProperty(const QString &key)
Remove a custom property from the object.
DataDefinedProperty
Data defined properties for different item types.
@ PositionX
X position on page.
@ ItemWidth
Width of item.
@ MapYMin
Map extent y minimum.
@ MapZRangeUpper
Map frame Z-range lower value (since QGIS 3.38)
@ ScalebarMinimumWidth
Scalebar segment minimum width (since QGIS 3.26)
@ 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.
@ ExcludeFromExports
Exclude item from exports.
@ PaperWidth
Paper width (deprecated)
@ StartDateTime
Temporal range's start DateTime.
@ MapLayers
Map layer set.
@ PictureSvgStrokeColor
SVG stroke color.
@ MapZRangeLower
Map frame Z-range lower value (since QGIS 3.38)
@ MapGridAnnotationDisplayLeft
Map annotation display left.
@ MapRotation
Map rotation.
@ ItemRotation
Rotation of item.
@ TestProperty
Dummy property with no effect on item.
@ PositionY
Y position on page.
@ PaperOrientation
Paper orientation.
@ MapXMax
Map extent x maximum.
@ MapGridFrameMargin
Map grid frame margin.
@ MapStylePreset
Layer and style map theme.
@ PageNumber
Page number for item placement.
@ MapYMax
Map extent y maximum.
@ MapAtlasMargin
Map atlas margin.
@ MapGridCrossSize
Map grid cross size.
@ MapGridAnnotationDisplayRight
Map annotation display right.
@ NumPages
Number of pages in composition (deprecated)
@ ElevationProfileMaximumDistance
Maximum distance value for elevation profile (since QGIS 3.30)
@ PaperHeight
Paper height (deprecated)
@ MapGridOffsetX
Map grid offset X.
@ ItemHeight
Height of item.
@ ScalebarRightSegments
Number of segments on the right of 0 (since QGIS 3.26)
@ ScalebarLineColor
Scalebar line color (deprecated, use data defined properties on scalebar line symbol instead)
@ MarginBottom
Bottom margin (since QGIS 3.30)
@ MapGridAnnotationDisplayTop
Map annotation display top.
@ ElevationProfileElevationMinorInterval
Minor grid line interval for elevation profile elevation axis (since QGIS 3.30)
@ MapGridAnnotationDisplayBottom
Map annotation display bottom.
@ MapGridFrameDivisionsRight
Map frame division display right.
@ ScalebarRightSegmentSubdivisions
Number of subdivisions per segment on right of 0 (since QGIS 3.26)
@ ElevationProfileDistanceMinorInterval
Minor grid line interval for elevation profile distance axis (since QGIS 3.30)
@ Transparency
Item transparency (deprecated)
@ MapGridLabelDistance
Map grid label distance.
@ ElevationProfileMinimumDistance
Minimum distance value for elevation profile (since QGIS 3.30)
@ ElevationProfileMaximumElevation
Maximum elevation value for elevation profile (since QGIS 3.30)
@ ScalebarMaximumWidth
Scalebar segment maximum width (since QGIS 3.26)
@ ElevationProfileDistanceLabelInterval
Label interval for elevation profile distance axis (since QGIS 3.30)
@ ScalebarHeight
Scalebar height (since QGIS 3.26)
@ MapGridIntervalY
Map grid interval Y.
@ ElevationProfileTolerance
Tolerance distance for elevation profiles (since QGIS 3.30)
@ SourceUrl
Html source url.
@ EndDateTime
Temporal range's end DateTime.
@ ScalebarFillColor2
Scalebar secondary fill color (deprecated, use data defined properties on scalebar fill symbol 2 inst...
@ ScalebarSubdivisionHeight
Scalebar subdivision height (since QGIS 3.26)
@ ElevationProfileMinimumElevation
Minimum elevation value for elevation profile (since QGIS 3.30)
@ BackgroundColor
Item background color.
@ BlendMode
Item blend mode.
@ PresetPaperSize
Preset paper size for composition.
@ ScalebarFillColor
Scalebar fill color (deprecated, use data defined properties on scalebar fill symbol 1 instead)
@ MapGridFrameSize
Map grid frame size.
@ ScalebarLineWidth
Scalebar line width (deprecated, use data defined properties on scalebar line symbol instead)
@ MarginLeft
Left margin (since QGIS 3.30)
@ PictureSvgBackgroundColor
SVG background color.
@ MarginRight
Right margin (since QGIS 3.30)
@ PictureSource
Picture source url.
@ AttributeTableSourceLayer
Attribute table source layer.
@ ScalebarLeftSegments
Number of segments on the left of 0 (since QGIS 3.26)
@ ElevationProfileElevationLabelInterval
Label interval for elevation profile elevation axis (since QGIS 3.30)
@ MapGridFrameLineThickness
Map grid frame line thickness.
@ ElevationProfileDistanceMajorInterval
Major grid line interval for elevation profile distance axis (since QGIS 3.30)
@ FrameColor
Item frame color.
@ ScalebarSegmentWidth
Scalebar width in map units of a single segment (since QGIS 3.26)
@ ElevationProfileElevationMajorInterval
Major grid line interval for elevation profile elevation axis (since QGIS 3.30)
@ LegendTitle
Legend title.
@ LegendColumnCount
Legend column count.
@ MapGridFrameDivisionsLeft
Map frame division display left.
@ MapXMin
Map extent x minimum.
@ MapLabelMargin
Map label margin.
@ PictureSvgStrokeWidth
SVG stroke width.
@ AllProperties
All properties for item.
@ MarginTop
Top margin (since QGIS 3.30)
QgsLayoutObject(QgsLayout *layout)
Constructor for QgsLayoutObject, with the specified parent layout.
bool writeObjectPropertiesToElement(QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const
Stores object properties within an XML DOM element.
static bool propertyAssociatesWithParentMultiframe(DataDefinedProperty property)
Returns true if the specified property key is normally associated with the parent QgsLayoutMultiFrame...
void changed()
Emitted certain settings in the context is changed, e.g.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
void refreshed()
Emitted when the layout has been refreshed and items should also be refreshed and updated.
void setValue(const QString &key, const QVariant &value)
Add an entry to the store with the specified key.
QStringList keys() const
Returns a list of all stored keys.
void writeXml(QDomNode &parentNode, QDomDocument &doc) const
Writes the store contents to an XML node.
void remove(const QString &key)
Removes a key (entry) from the store.
QVariant value(const QString &key, const QVariant &defaultValue=QVariant()) const
Returns the value for the given key.
void readXml(const QDomNode &parentNode, const QString &keyStartsWith=QString())
Read store contents from an XML node.
Definition for a property.
@ Double
Double value (including negative values)
@ StrokeWidth
Line stroke width.
@ String
Any string value.
@ DateTime
DateTime value.
@ IntegerPositiveGreaterZero
Non-zero positive integer values.
@ IntegerPositive
Positive integer values (including 0)
@ Rotation
Rotation (value between 0-360 degrees)
@ ColorWithAlpha
Color with alpha channel.
@ DoublePositive
Positive double value (including 0)
@ DataTypeString
Property requires a string value.
The class is used as a container of context for various read/write operations on other objects.
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.