QGIS API Documentation 3.29.0-Master (006c3c0232)
qgslayoutitem.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayoutitem.h
3 -------------------
4 begin : June 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8/***************************************************************************
9 * *
10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 ***************************************************************************/
16
17#ifndef QGSLAYOUTITEM_H
18#define QGSLAYOUTITEM_H
19
20#include "qgis_core.h"
21#include "qgslayoutobject.h"
22#include "qgslayoutsize.h"
23#include "qgslayoutpoint.h"
24#include "qgsrendercontext.h"
27#include "qgsapplication.h"
28#include <QGraphicsRectItem>
29#include <QIcon>
30#include <QPainter>
31
32class QgsLayout;
33class QPainter;
35class QgsLayoutEffect;
37
45{
46 public:
47
58 QgsLayoutItemRenderContext( QgsRenderContext &context, double viewScaleFactor = 1.0 );
59
62
65
72 QgsRenderContext &renderContext() { return mRenderContext; }
73
82 const QgsRenderContext &renderContext() const { return mRenderContext; } SIP_SKIP
83
94 double viewScaleFactor() const { return mViewScaleFactor; }
95
96 private:
97
98#ifdef SIP_RUN
100#endif
101
102 QgsRenderContext &mRenderContext;
103 double mViewScaleFactor = 1.0;
104};
105
112class CORE_EXPORT QgsLayoutItem : public QgsLayoutObject, public QGraphicsRectItem, public QgsLayoutUndoObjectInterface
113{
114#ifdef SIP_RUN
115#include "qgslayoutitemgroup.h"
116#include "qgslayoutitemmap.h"
117#include "qgslayoutitempicture.h"
118#include "qgslayoutitemlabel.h"
119#include "qgslayoutitemlegend.h"
120#include "qgslayoutitempolygon.h"
123#include "qgslayoutframe.h"
124#include "qgslayoutitemshape.h"
125#include "qgslayoutitempage.h"
126#endif
127
128#ifdef SIP_RUN
130
131 // FREAKKKKIIN IMPORTANT!!!!!!!!!!!
132 // IF YOU PUT SOMETHING HERE, PUT IT IN QgsLayoutObject CASTING *****ALSO******
133 // (it's not enough for it to be in only one of the places, as sip inconsistently
134 // decides which casting code to perform here)
135
136 // the conversions have to be static, because they're using multiple inheritance
137 // (seen in PyQt4 .sip files for some QGraphicsItem classes)
138 switch ( sipCpp->type() )
139 {
140 // really, these *should* use the constants from QgsLayoutItemRegistry, but sip doesn't like that!
141 case QGraphicsItem::UserType + 101:
142 sipType = sipType_QgsLayoutItemGroup;
143 *sipCppRet = static_cast<QgsLayoutItemGroup *>( sipCpp );
144 break;
145 case QGraphicsItem::UserType + 102:
146 sipType = sipType_QgsLayoutItemPage;
147 *sipCppRet = static_cast<QgsLayoutItemPage *>( sipCpp );
148 break;
149 case QGraphicsItem::UserType + 103:
150 sipType = sipType_QgsLayoutItemMap;
151 *sipCppRet = static_cast<QgsLayoutItemMap *>( sipCpp );
152 break;
153 case QGraphicsItem::UserType + 104:
154 sipType = sipType_QgsLayoutItemPicture;
155 *sipCppRet = static_cast<QgsLayoutItemPicture *>( sipCpp );
156 break;
157 case QGraphicsItem::UserType + 105:
158 sipType = sipType_QgsLayoutItemLabel;
159 *sipCppRet = static_cast<QgsLayoutItemLabel *>( sipCpp );
160 break;
161 case QGraphicsItem::UserType + 106:
162 sipType = sipType_QgsLayoutItemLegend;
163 *sipCppRet = static_cast<QgsLayoutItemLegend *>( sipCpp );
164 break;
165 case QGraphicsItem::UserType + 107:
166 sipType = sipType_QgsLayoutItemShape;
167 *sipCppRet = static_cast<QgsLayoutItemShape *>( sipCpp );
168 break;
169 case QGraphicsItem::UserType + 108:
170 sipType = sipType_QgsLayoutItemPolygon;
171 *sipCppRet = static_cast<QgsLayoutItemPolygon *>( sipCpp );
172 break;
173 case QGraphicsItem::UserType + 109:
174 sipType = sipType_QgsLayoutItemPolyline;
175 *sipCppRet = static_cast<QgsLayoutItemPolyline *>( sipCpp );
176 break;
177 case QGraphicsItem::UserType + 110:
178 sipType = sipType_QgsLayoutItemScaleBar;
179 *sipCppRet = static_cast<QgsLayoutItemScaleBar *>( sipCpp );
180 break;
181 case QGraphicsItem::UserType + 111:
182 sipType = sipType_QgsLayoutFrame;
183 *sipCppRet = static_cast<QgsLayoutFrame *>( sipCpp );
184 break;
185
186 // did you read that comment above? NO? Go read it now. You're about to break stuff.
187
188 default:
189 sipType = NULL;
190 }
191 SIP_END
192#endif
193
194
195 Q_OBJECT
196 Q_PROPERTY( bool locked READ isLocked WRITE setLocked NOTIFY lockChanged )
197
198 public:
199
202 {
212 };
213
216 {
217 UndoNone = -1,
218 UndoIncrementalMove = 1,
295
297 };
298
303 enum Flag
304 {
305 FlagOverridesPaint = 1 << 1,
306 FlagProvidesClipPath = 1 << 2,
307 };
308 Q_DECLARE_FLAGS( Flags, Flag )
309
310
316 explicit QgsLayoutItem( QgsLayout *layout, bool manageZValue = true );
317
318 ~QgsLayoutItem() override;
319
324 virtual void cleanup();
325
331 int type() const override;
332
336 virtual QIcon icon() const { return QgsApplication::getThemeIcon( QStringLiteral( "/mLayoutItem.svg" ) ); }
337
345 virtual QString uuid() const { return mUuid; }
346
351 virtual Flags itemFlags() const;
352
359 QString id() const { return mId; }
360
367 virtual void setId( const QString &id );
368
375 virtual QString displayName() const;
376
380 virtual void setSelected( bool selected );
381
388 virtual void setVisibility( bool visible );
389
395 void setLocked( bool locked );
396
402 bool isLocked() const { return mIsLocked; }
403
409 bool isGroupMember() const;
410
416 QgsLayoutItemGroup *parentGroup() const;
417
423 void setParentGroup( QgsLayoutItemGroup *group );
424
430 {
435 };
436
443 virtual ExportLayerBehavior exportLayerBehavior() const;
444
458 Q_DECL_DEPRECATED virtual int numberExportLayers() const SIP_DEPRECATED;
459
467 virtual void startLayeredExport();
468
476 virtual void stopLayeredExport();
477
485 virtual bool nextExportPart();
486
492 struct CORE_EXPORT ExportLayerDetail
493 {
495 QString name;
496
498 QString mapLayerId;
499
504 QPainter::CompositionMode compositionMode = QPainter::CompositionMode_SourceOver;
505
510 double opacity = 1.0;
511
513 QString mapTheme;
514 };
515
523 virtual QgsLayoutItem::ExportLayerDetail exportLayerDetails() const;
524
530 void paint( QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget ) override;
531
538 void setReferencePoint( ReferencePoint point );
539
546 ReferencePoint referencePoint() const { return mReferencePoint; }
547
554 virtual QgsLayoutSize fixedSize() const { return mFixedSize; }
555
562 virtual QgsLayoutSize minimumSize() const { return mMinimumSize; }
563
578 virtual void attemptResize( const QgsLayoutSize &size, bool includesFrame = false );
579
605 virtual void attemptMove( const QgsLayoutPoint &point, bool useReferencePoint = true, bool includesFrame = false, int page = -1 );
606
622 void attemptSetSceneRect( const QRectF &rect, bool includesFrame = false );
623
636 void attemptMoveBy( double deltaX, double deltaY );
637
646 QgsLayoutPoint positionWithUnits() const { return mItemPosition; }
647
652 int page() const;
653
659 QPointF pagePos() const;
660
666 QgsLayoutPoint pagePositionWithUnits() const;
667
673 QgsLayoutSize sizeWithUnits() const { return mItemSize; }
674
685 double itemRotation() const;
686
694 bool writeXml( QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context ) const;
695
711 bool readXml( const QDomElement &itemElement, const QDomDocument &document, const QgsReadWriteContext &context );
712
721 virtual void finalizeRestoreFromXml();
722
723 QgsAbstractLayoutUndoCommand *createCommand( const QString &text, int id, QUndoCommand *parent = nullptr ) override SIP_FACTORY;
724
732 bool frameEnabled() const { return mFrame; }
733
741 virtual void setFrameEnabled( bool drawFrame );
742
750 void setFrameStrokeColor( const QColor &color );
751
759 QColor frameStrokeColor() const { return mFrameColor; }
760
768 virtual void setFrameStrokeWidth( QgsLayoutMeasurement width );
769
777 QgsLayoutMeasurement frameStrokeWidth() const { return mFrameWidth; }
778
786 Qt::PenJoinStyle frameJoinStyle() const { return mFrameJoinStyle; }
787
795 void setFrameJoinStyle( Qt::PenJoinStyle style );
796
802 bool hasBackground() const { return mBackground; }
803
809 void setBackgroundEnabled( bool drawBackground );
810
817 QColor backgroundColor() const { return mBackgroundColor; }
818
824 void setBackgroundColor( const QColor &color );
825
830 QPainter::CompositionMode blendMode() const { return mBlendMode; }
831
836 void setBlendMode( QPainter::CompositionMode mode );
837
845 double itemOpacity() const { return mOpacity; }
846
854 void setItemOpacity( double opacity );
855
860 bool excludeFromExports() const;
861
866 void setExcludeFromExports( bool exclude );
867
877 virtual bool containsAdvancedEffects() const;
878
884 virtual bool requiresRasterization() const;
885
896 virtual double estimatedFrameBleed() const;
897
907 virtual QRectF rectWithFrame() const;
908
915 virtual void moveContent( double dx, double dy );
916
923 virtual void setMoveContentPreviewOffset( double dx, double dy );
924
931 virtual void zoomContent( double factor, QPointF point );
932
941 void beginCommand( const QString &commandText, UndoCommand command = UndoNone );
942
948 void endCommand();
949
955 void cancelCommand();
956
960 bool shouldDrawItem() const;
961
962 QgsExpressionContext createExpressionContext() const override;
963
973 virtual bool accept( QgsStyleEntityVisitorInterface *visitor ) const;
974
983 virtual QgsGeometry clipPath() const;
984
985 public slots:
986
991 void refresh() override;
992
996 virtual void invalidateCache();
997
1001 virtual void redraw();
1002
1009 virtual void refreshDataDefinedProperty( QgsLayoutObject::DataDefinedProperty property = QgsLayoutObject::AllProperties );
1010
1020 virtual void setItemRotation( double rotation, bool adjustPosition = true );
1021
1027 virtual void rotateItem( double angle, QPointF transformOrigin );
1028
1029 signals:
1030
1035
1042
1046 void rotationChanged( double newRotation );
1047
1052
1059
1068
1069 protected:
1070
1076 virtual void drawDebugRect( QPainter *painter );
1077
1084 virtual void draw( QgsLayoutItemRenderContext &context ) = 0;
1085
1093 virtual QPainterPath framePath() const;
1094
1100 virtual void drawFrame( QgsRenderContext &context );
1101
1107 virtual void drawBackground( QgsRenderContext &context );
1108
1115 virtual void setFixedSize( const QgsLayoutSize &size );
1116
1123 virtual void setMinimumSize( const QgsLayoutSize &size );
1124
1133 virtual QSizeF applyItemSizeConstraint( QSizeF targetSize );
1134
1142 void refreshItemSize();
1143
1149 void refreshItemPosition();
1150
1161 void refreshItemRotation( QPointF *origin = nullptr );
1162
1168 void refreshOpacity( bool updateItem = true );
1169
1175 void refreshFrame( bool updateItem = true );
1176
1182 void refreshBackgroundColor( bool updateItem = true );
1183
1187 void refreshBlendMode();
1188
1193 QPointF adjustPointForReferencePosition( QPointF point, QSizeF size, ReferencePoint reference ) const;
1194
1198 QPointF positionAtReferencePoint( ReferencePoint reference ) const;
1199
1204 QgsLayoutPoint topLeftToReferencePoint( const QgsLayoutPoint &point ) const;
1205
1214 virtual bool writePropertiesToElement( QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context ) const;
1215
1231 virtual bool readPropertiesFromElement( const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context );
1232
1236 QgsLayoutSize applyDataDefinedSize( const QgsLayoutSize &size );
1237
1238 private:
1239
1240 // true if layout manages the z value for this item
1241 bool mLayoutManagesZValue = false;
1242
1244 QString mId;
1245
1247 QString mUuid;
1248
1250 QString mTemplateUuid;
1251
1253 QString mParentGroupUuid;
1254
1255 ReferencePoint mReferencePoint = UpperLeft;
1256 QgsLayoutSize mFixedSize;
1257 QgsLayoutSize mMinimumSize;
1258
1259 QgsLayoutSize mItemSize;
1260 QgsLayoutPoint mItemPosition;
1261 double mItemRotation = 0.0;
1262
1264 bool mExcludeFromExports = false;
1265
1270 bool mEvaluatedExcludeFromExports = false;
1271
1273 QPainter::CompositionMode mBlendMode = QPainter::CompositionMode_SourceOver;
1274 std::unique_ptr< QgsLayoutEffect > mEffect;
1275
1277 double mOpacity = 1.0;
1278 double mEvaluatedOpacity = 1.0;
1279
1280 QImage mItemCachedImage;
1281 double mItemCacheDpi = -1;
1282
1283 bool mIsLocked = false;
1284
1286 bool mFrame = false;
1288 QColor mFrameColor = QColor( 0, 0, 0 );
1292 Qt::PenJoinStyle mFrameJoinStyle = Qt::MiterJoin;
1293
1295 bool mBackground = true;
1297 QColor mBackgroundColor = QColor( 255, 255, 255 );
1298
1299 bool mBlockUndoCommands = false;
1300
1301 void initConnectionsToLayout();
1302
1304 void preparePainter( QPainter *painter );
1305 bool shouldDrawAntialiased() const;
1306 bool shouldDrawDebugRect() const;
1307 QSizeF applyMinimumSize( QSizeF targetSize );
1308 QSizeF applyFixedSize( QSizeF targetSize );
1309 QgsLayoutPoint applyDataDefinedPosition( const QgsLayoutPoint &position );
1310
1311 double applyDataDefinedRotation( double rotation );
1312 void updateStoredItemPosition();
1313 QPointF itemPositionAtReferencePoint( ReferencePoint reference, QSizeF size ) const;
1314 void setScenePos( QPointF destinationPos );
1315 bool shouldBlockUndoCommands() const;
1316
1317 void applyDataDefinedOrientation( double &width, double &height, const QgsExpressionContext &context );
1318
1319 friend class TestQgsLayoutItem;
1320 friend class TestQgsLayoutView;
1321 friend class QgsLayout;
1324};
1325
1326Q_DECLARE_OPERATORS_FOR_FLAGS( QgsLayoutItem::Flags )
1327
1328#endif //QGSLAYOUTITEM_H
1329
1330
1331
Base class for commands to undo/redo layout and layout object changes.
static QIcon getThemeIcon(const QString &name, const QColor &fillColor=QColor(), const QColor &strokeColor=QColor())
Helper to get a theme icon.
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:164
A QGraphicsEffect subclass used for rendering layout items onto a scene with custom composition modes...
Base class for frame items, which form a layout multiframe item.
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.
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.
Contains settings and helpers relating to a render of a QgsLayoutItem.
Definition: qgslayoutitem.h:45
QgsLayoutItemRenderContext & operator=(const QgsLayoutItemRenderContext &other)=delete
QgsLayoutItemRenderContext cannot be copied.
QgsRenderContext & renderContext()
Returns a reference to the context's render context.
Definition: qgslayoutitem.h:72
double viewScaleFactor() const
Returns the current view zoom (scale factor).
Definition: qgslayoutitem.h:94
QgsLayoutItemRenderContext(const QgsLayoutItemRenderContext &other)=delete
QgsLayoutItemRenderContext cannot be copied.
const QgsRenderContext & renderContext() const
Returns a reference to the context's render context.
Definition: qgslayoutitem.h:82
A layout item subclass for scale bars.
Layout item for basic filled shapes (e.g.
Base class for graphical items within a QgsLayout.
QgsLayoutSize sizeWithUnits() const
Returns the item's current size, including units.
UndoCommand
Layout item undo commands, used for collapsing undo commands.
@ UndoScaleBarSubdivisionsHeight
Scalebar subdivisions height.
@ UndoPictureStrokeWidth
Picture stroke width.
@ UndoLegendMinSymbolSize
Legend minimum symbol size.
@ UndoArrowHeadStrokeColor
Arrow head stroke color.
@ UndoLegendTitleSpaceBottom
Legend title space.
@ UndoScaleBarLabelBarSize
Scalebar label bar size.
@ UndoLegendIconSymbolSpace
Legend icon symbol space.
@ UndoLegendLayerFont
Legend layer font.
@ UndoShapeCornerRadius
Shape corner radius.
@ UndoLegendLineSpacing
Legend line spacing.
@ UndoLegendBoxSpace
Legend box space.
@ UndoScaleBarFillColor
Scalebar fill color.
@ UndoArrowHeadFillColor
Arrow head fill color.
@ UndoLegendRasterStrokeColor
Legend raster stroke color.
@ UndoLabelFontColor
Label color.
@ UndoScaleBarMapUnitsSegment
Scalebar map units per segment.
@ UndoLegendTitleFont
Legend title font.
@ UndoBackgroundColor
Background color adjustment.
@ UndoLegendFontColor
Legend font color.
@ UndoScaleBarBoxContentSpace
Scalebar box context space.
@ UndoOverviewStyle
Map overview style.
@ UndoGridFramePenColor
Map grid frame pen color.
@ UndoMapRotation
Map rotation changed.
@ UndoOpacity
Opacity adjustment.
@ UndoIncrementalResize
Incremental resize.
@ UndoArrowHeadWidth
Arrow head width.
@ UndoScaleBarSegmentSize
Scalebar segment size.
@ UndoLegendItemFont
Legend item font.
@ UndoLegendWmsLegendWidth
Legend WMS width.
@ UndoMapGridIntervalRange
Grid interval range.
@ UndoLegendLayerSpace
Legend layer spacing.
@ UndoLabelMargin
Label margin.
@ UndoRotation
Rotation adjustment.
@ UndoLegendColumnSpace
Legend column space.
@ UndoPictureRotation
Picture rotation.
@ UndoStrokeWidth
Stroke width adjustment.
@ UndoScaleBarFillColor2
Scalebar secondary fill color.
@ UndoScaleBarHeight
Scalebar height.
@ UndoLegendMaxSymbolSize
Legend maximum symbol size.
@ UndoArrowStrokeWidth
Arrow stroke width.
@ UndoMapGridLineSymbol
Grid line symbol.
@ UndoZoomContent
Item content zoomed.
@ UndoScaleBarFontColor
Scalebar font color.
@ UndoMapGridMarkerSymbol
Grid marker symbol.
@ UndoAtlasMargin
Map atlas margin changed.
@ UndoPictureFillColor
Picture fill color.
@ UndoLegendSymbolSpace
Legend symbol spacing.
@ UndoMapGridFrameFill1Color
Map grid frame fill color 1.
@ UndoLegendSymbolWidth
Legend symbol width.
@ UndoLegendColumnCount
Legend column count.
@ UndoScaleBarSegments
Scalebar number of segments.
@ UndoLegendSymbolHeight
Legend symbol height.
@ UndoLegendGroupSpace
Legend group spacing.
@ UndoScaleBarSubdivisions
Scalebar number of subdivisions.
@ UndoSetId
Change item ID.
@ UndoLegendSubgroupIndent
Legend subgroup indent.
@ UndoScaleBarLineWidth
Scalebar line width.
@ UndoLegendRasterStrokeWidth
Legend raster stroke width.
@ UndoLegendGroupIndent
Legend group indent.
@ UndoMapGridAnnotationFontColor
Map frame annotation color.
@ UndoPictureNorthOffset
Picture north offset.
@ UndoCustomCommand
Base id for plugin based item undo commands.
@ UndoLabelFont
Label font.
@ UndoPictureStrokeColor
Picture stroke color.
@ UndoMapAnnotationDistance
Map frame annotation distance.
@ UndoScaleBarStrokeColor
Scalebar stroke color.
@ UndoShapeStyle
Shape symbol style.
@ UndoStrokeColor
Stroke color adjustment.
@ UndoScaleBarSegmentsLeft
Scalebar segments left.
@ UndoLegendText
Legend text.
@ UndoNodeMove
Node move.
@ UndoMapGridFrameFill2Color
Map grid frame fill color 2.
@ UndoScaleBarUnitText
Scalebar unit text.
@ UndoMapLabelMargin
Margin for labels from edge of map.
@ UndoLegendWmsLegendHeight
Legend WMS height.
@ UndoLabelText
Label text.
@ UndoLegendGroupFont
Legend group font.
void rotationChanged(double newRotation)
Emitted on item rotation change.
QgsLayoutMeasurement frameStrokeWidth() const
Returns the frame's stroke width.
bool isLocked() const
Returns true if the item is locked, and cannot be interacted with using the mouse.
double itemOpacity() const
Returns the item's opacity.
ReferencePoint referencePoint() const
Returns the reference point for positioning of the layout item.
QgsLayoutPoint positionWithUnits() const
Returns the item's current position, including units.
ReferencePoint
Fixed position reference point.
@ LowerMiddle
Lower center of item.
@ MiddleLeft
Middle left of item.
@ Middle
Center of item.
@ UpperRight
Upper right corner of item.
@ LowerLeft
Lower left corner of item.
@ UpperLeft
Upper left corner of item.
@ UpperMiddle
Upper center of item.
@ MiddleRight
Middle right of item.
@ LowerRight
Lower right corner of item.
QColor backgroundColor() const
Returns the background color for this item.
virtual QgsLayoutSize minimumSize() const
Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely r...
Flag
Flags for controlling how an item behaves.
virtual QgsLayoutSize fixedSize() const
Returns the fixed size of the item, if applicable, or an empty size if item can be freely resized.
void sizePositionChanged()
Emitted when the item's size or position changes.
void lockChanged()
Emitted if the item's lock status changes.
virtual QString uuid() const
Returns the item identification string.
QString id() const
Returns the item's ID name.
virtual QIcon icon() const
Returns the item's icon.
void frameChanged()
Emitted if the item's frame style changes.
ExportLayerBehavior
Behavior of item when exporting to layered outputs.
@ ItemContainsSubLayers
Item contains multiple sublayers which must be individually exported.
@ MustPlaceInOwnLayer
Item must be placed in its own individual layer.
@ CanGroupWithItemsOfSameType
Item can only be placed on layers with other items of the same type, but multiple items of this type ...
@ CanGroupWithAnyOtherItem
Item can be placed on a layer with any other item (default behavior)
void clipPathChanged()
Emitted when the item's clipping path has changed.
bool hasBackground() const
Returns true if the item has a background.
QColor frameStrokeColor() const
Returns the frame's stroke color.
QPainter::CompositionMode blendMode() const
Returns the item's composition blending mode.
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
void backgroundTaskCountChanged(int count)
Emitted whenever the number of background tasks an item is executing changes.
Qt::PenJoinStyle frameJoinStyle() const
Returns the join style used for drawing the item's frame.
This class provides a method of storing measurements for use in QGIS layouts using a variety of diffe...
A base class for objects which belong to a layout.
DataDefinedProperty
Data defined properties for different item types.
@ AllProperties
All properties for item.
This class provides a method of storing points, consisting of an x and y coordinate,...
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
Definition: qgslayoutsize.h:41
Interface for layout objects which support undo/redo commands.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
Definition: qgslayout.h:51
The class is used as a container of context for various read/write operations on other objects.
Contains information about the context of a rendering operation.
An interface for classes which can visit style entity (e.g.
@ LayoutMillimeters
Millimeters.
Definition: qgsunittypes.h:183
double ANALYSIS_EXPORT angle(QgsPoint *p1, QgsPoint *p2, QgsPoint *p3, QgsPoint *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
Definition: MathUtils.cpp:786
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:186
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
#define SIP_FORCE
Definition: qgis_sip.h:131
#define SIP_SKIP
Definition: qgis_sip.h:126
#define SIP_FACTORY
Definition: qgis_sip.h:76
#define SIP_END
Definition: qgis_sip.h:203
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsField::ConfigurationFlags) CORE_EXPORT QDataStream &operator<<(QDataStream &out
Writes the field to stream out. QGIS version compatibility is not guaranteed.
Contains details of a particular export layer relating to a layout item.
QString mapLayerId
Associated map layer ID, or an empty string if this export layer is not associated with a map layer.
QString name
User-friendly name for the export layer.
QString mapTheme
Associated map theme, or an empty string if this export layer does not need to be associated with a m...