17#ifndef QGSLAYOUTOBJECT_H
18#define QGSLAYOUTOBJECT_H
57 if (
QgsLayoutItem *item = qobject_cast< QgsLayoutItem * >( sipCpp ) )
61 switch ( item->type() )
69 case QGraphicsItem::UserType + 101:
70 sipType = sipType_QgsLayoutItemGroup;
73 case QGraphicsItem::UserType + 102:
74 sipType = sipType_QgsLayoutItemPage;
77 case QGraphicsItem::UserType + 103:
78 sipType = sipType_QgsLayoutItemMap;
81 case QGraphicsItem::UserType + 104:
82 sipType = sipType_QgsLayoutItemPicture;
85 case QGraphicsItem::UserType + 105:
86 sipType = sipType_QgsLayoutItemLabel;
89 case QGraphicsItem::UserType + 106:
90 sipType = sipType_QgsLayoutItemLegend;
93 case QGraphicsItem::UserType + 107:
94 sipType = sipType_QgsLayoutItemShape;
97 case QGraphicsItem::UserType + 108:
98 sipType = sipType_QgsLayoutItemPolygon;
101 case QGraphicsItem::UserType + 109:
102 sipType = sipType_QgsLayoutItemPolyline;
105 case QGraphicsItem::UserType + 110:
106 sipType = sipType_QgsLayoutItemScaleBar;
109 case QGraphicsItem::UserType + 111:
110 sipType = sipType_QgsLayoutFrame;
113 case QGraphicsItem::UserType + 117:
114 sipType = sipType_QgsLayoutItemMarker;
117 case QGraphicsItem::UserType + 118:
118 sipType = sipType_QgsLayoutItemElevationProfile;
125 sipType = sipType_QgsLayoutItem;
187 MapGridLabelDistance,
189 MapGridFrameLineThickness,
190 MapGridAnnotationDisplayLeft,
191 MapGridAnnotationDisplayRight,
192 MapGridAnnotationDisplayTop,
193 MapGridAnnotationDisplayBottom,
194 MapGridFrameDivisionsLeft,
195 MapGridFrameDivisionsRight,
196 MapGridFrameDivisionsTop,
197 MapGridFrameDivisionsBottom,
205 PictureSvgBackgroundColor,
206 PictureSvgStrokeColor,
207 PictureSvgStrokeWidth,
214 ScalebarLeftSegments,
215 ScalebarRightSegments,
216 ScalebarSegmentWidth,
217 ScalebarMinimumWidth,
218 ScalebarMaximumWidth,
220 ScalebarRightSegmentSubdivisions,
221 ScalebarSubdivisionHeight,
227 AttributeTableSourceLayer,
228 ElevationProfileTolerance,
229 ElevationProfileDistanceMajorInterval,
230 ElevationProfileDistanceMinorInterval,
231 ElevationProfileDistanceLabelInterval,
232 ElevationProfileElevationMajorInterval,
233 ElevationProfileElevationMinorInterval,
234 ElevationProfileElevationLabelInterval,
235 ElevationProfileMinimumDistance,
236 ElevationProfileMaximumDistance,
237 ElevationProfileMinimumElevation,
238 ElevationProfileMaximumElevation,
269 static bool propertyAssociatesWithParentMultiframe( DataDefinedProperty property );
319 void setCustomProperty(
const QString &key,
const QVariant &value );
330 QVariant customProperty(
const QString &key,
const QVariant &defaultValue = QVariant() )
const;
339 void removeCustomProperty(
const QString &key );
347 QStringList customProperties()
const;
379 bool writeObjectPropertiesToElement( QDomElement &parentElement, QDomDocument &document,
const QgsReadWriteContext &context )
const;
389 bool readObjectPropertiesFromElement(
const QDomElement &parentElement,
const QDomDocument &document,
const QgsReadWriteContext &context );
403 static void initPropertyDefinitions();
405 friend class TestQgsLayoutObject;
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
Abstract interface for generating an expression context.
virtual QgsExpressionContext createExpressionContext() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Base class for frame items, which form a layout multiframe item.
A layout item subclass for elevation profile plots.
A container for grouping several QgsLayoutItems.
A layout item subclass for text labels.
A layout item subclass for map legends.
Layout graphical items for displaying a map.
A layout item for showing marker symbols.
Item representing the paper in a layout.
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
Layout item for node based polygon shapes.
Layout item for node based polyline shapes.
A layout item subclass for scale bars.
Layout item for basic filled shapes (e.g.
Base class for graphical items within a QgsLayout.
A base class for objects which belong to a layout.
QgsObjectCustomProperties mCustomProperties
Custom properties for object.
QgsPropertyCollection mDataDefinedProperties
QgsPropertyCollection & dataDefinedProperties()
Returns a reference to the object's property collection, used for data defined overrides.
void changed()
Emitted when the object's properties change.
virtual void refresh()
Refreshes the object, causing a recalculation of any property overrides.
QPointer< QgsLayout > mLayout
DataDefinedProperty
Data defined properties for different item types.
void setDataDefinedProperties(const QgsPropertyCollection &collection)
Sets the objects's property collection, used for data defined overrides.
const QgsPropertyCollection & dataDefinedProperties() const
Returns a reference to the object's property collection, used for data defined overrides.
PropertyValueType
Specifies whether the value returned by a function should be the original, user set value,...
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
Simple key-value store (keys = strings, values = variants) that supports loading/saving to/from XML i...
A grouped map of multiple QgsProperty objects, each referenced by a integer key value.
The class is used as a container of context for various read/write operations on other objects.
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.