17#ifndef QGSLAYOUTOBJECT_H
18#define QGSLAYOUTOBJECT_H
59 if (
QgsLayoutItem *item = qobject_cast< QgsLayoutItem * >( sipCpp ) )
63 switch ( item->type() )
71 case QGraphicsItem::UserType + 101:
72 sipType = sipType_QgsLayoutItemGroup;
75 case QGraphicsItem::UserType + 102:
76 sipType = sipType_QgsLayoutItemPage;
79 case QGraphicsItem::UserType + 103:
80 sipType = sipType_QgsLayoutItemMap;
83 case QGraphicsItem::UserType + 104:
84 sipType = sipType_QgsLayoutItemPicture;
87 case QGraphicsItem::UserType + 105:
88 sipType = sipType_QgsLayoutItemLabel;
91 case QGraphicsItem::UserType + 106:
92 sipType = sipType_QgsLayoutItemLegend;
95 case QGraphicsItem::UserType + 107:
96 sipType = sipType_QgsLayoutItemShape;
99 case QGraphicsItem::UserType + 108:
100 sipType = sipType_QgsLayoutItemPolygon;
103 case QGraphicsItem::UserType + 109:
104 sipType = sipType_QgsLayoutItemPolyline;
107 case QGraphicsItem::UserType + 110:
108 sipType = sipType_QgsLayoutItemScaleBar;
111 case QGraphicsItem::UserType + 111:
112 sipType = sipType_QgsLayoutFrame;
115 case QGraphicsItem::UserType + 117:
116 sipType = sipType_QgsLayoutItemMarker;
119 case QGraphicsItem::UserType + 118:
120 sipType = sipType_QgsLayoutItemElevationProfile;
127 sipType = sipType_QgsLayoutItem;
189 MapGridLabelDistance,
191 MapGridFrameLineThickness,
192 MapGridAnnotationDisplayLeft,
193 MapGridAnnotationDisplayRight,
194 MapGridAnnotationDisplayTop,
195 MapGridAnnotationDisplayBottom,
196 MapGridFrameDivisionsLeft,
197 MapGridFrameDivisionsRight,
198 MapGridFrameDivisionsTop,
199 MapGridFrameDivisionsBottom,
202 PictureSvgBackgroundColor,
203 PictureSvgStrokeColor,
204 PictureSvgStrokeWidth,
211 ScalebarLeftSegments,
212 ScalebarRightSegments,
213 ScalebarSegmentWidth,
214 ScalebarMinimumWidth,
215 ScalebarMaximumWidth,
217 ScalebarRightSegmentSubdivisions,
218 ScalebarSubdivisionHeight,
224 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.