QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
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"
25 #include "qgslayoutundocommand.h"
26 #include "qgslayoutmeasurement.h"
27 #include "qgsapplication.h"
28 #include <QGraphicsRectItem>
29 #include <QIcon>
30 #include <QPainter>
31 
32 class QgsLayout;
33 class QPainter;
34 class QgsLayoutItemGroup;
35 class QgsLayoutEffect;
37 
44 class CORE_EXPORT QgsLayoutItemRenderContext
45 {
46  public:
47 
58  QgsLayoutItemRenderContext( QgsRenderContext &context, double viewScaleFactor = 1.0 );
59 
62 
64  QgsLayoutItemRenderContext &operator=( const QgsLayoutItemRenderContext &other ) = delete;
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 
112 class 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"
121 #include "qgslayoutitempolyline.h"
122 #include "qgslayoutitemscalebar.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 
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 
1034  void frameChanged();
1035 
1041  void lockChanged();
1042 
1046  void rotationChanged( double newRotation );
1047 
1051  void sizePositionChanged();
1052 
1058  void backgroundTaskCountChanged( int count );
1059 
1067  void clipPathChanged();
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;
1322  friend class QgsLayoutItemGroup;
1324 };
1325 
1326 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsLayoutItem::Flags )
1327 
1328 #endif //QGSLAYOUTITEM_H
1329 
1330 
1331 
QgsLayoutItemRenderContext::viewScaleFactor
double viewScaleFactor() const
Returns the current view zoom (scale factor).
Definition: qgslayoutitem.h:94
QgsLayoutItem::UndoLegendSymbolSpace
@ UndoLegendSymbolSpace
Legend symbol spacing.
Definition: qgslayoutitem.h:264
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition: qgsexpressioncontext.h:406
QgsLayoutItem::itemOpacity
double itemOpacity() const
Returns the item's opacity.
Definition: qgslayoutitem.h:845
QgsLayoutItem::id
QString id() const
Returns the item's ID name.
Definition: qgslayoutitem.h:359
qgslayoutitemgroup.h
QgsLayoutUndoObjectInterface::createCommand
virtual QgsAbstractLayoutUndoCommand * createCommand(const QString &text, int id=0, QUndoCommand *parent=nullptr)=0
Creates a new layout undo command with the specified text and parent.
qgslayoutitempolygon.h
QgsLayoutItem::UndoLegendSubgroupIndent
@ UndoLegendSubgroupIndent
Legend subgroup indent.
Definition: qgslayoutitem.h:262
QgsLayoutItemShape
Layout item for basic filled shapes (e.g. rectangles, ellipses).
Definition: qgslayoutitemshape.h:31
QgsLayoutItem::UndoCommand
UndoCommand
Layout item undo commands, used for collapsing undo commands.
Definition: qgslayoutitem.h:215
QgsLayoutItemPage
Item representing the paper in a layout.
Definition: qgslayoutitempage.h:58
QgsLayoutObject::refresh
virtual void refresh()
Refreshes the object, causing a recalculation of any property overrides.
Definition: qgslayoutobject.h:332
QgsLayoutItem::UndoPictureStrokeColor
@ UndoPictureStrokeColor
Picture stroke color.
Definition: qgslayoutitem.h:244
QgsReadWriteContext
The class is used as a container of context for various read/write operations on other objects.
Definition: qgsreadwritecontext.h:34
QgsLayoutItem::UndoScaleBarStrokeColor
@ UndoScaleBarStrokeColor
Scalebar stroke color.
Definition: qgslayoutitem.h:286
QgsLayoutItem::Middle
@ Middle
Center of item.
Definition: qgslayoutitem.h:207
QgsLayoutItem::UndoLegendBoxSpace
@ UndoLegendBoxSpace
Legend box space.
Definition: qgslayoutitem.h:267
QgsLayoutItem::UndoLegendText
@ UndoLegendText
Legend text.
Definition: qgslayoutitem.h:251
QgsLayoutItem::MiddleRight
@ MiddleRight
Middle right of item.
Definition: qgslayoutitem.h:208
QgsLayoutEffect
A QGraphicsEffect subclass used for rendering layout items onto a scene with custom composition modes...
Definition: qgslayouteffect.h:35
QgsLayoutItem::icon
virtual QIcon icon() const
Returns the item's icon.
Definition: qgslayoutitem.h:336
QgsLayoutItem::UndoShapeStyle
@ UndoShapeStyle
Shape symbol style.
Definition: qgslayoutitem.h:226
QgsLayoutItem::UndoMapGridAnnotationFontColor
@ UndoMapGridAnnotationFontColor
Map frame annotation color.
Definition: qgslayoutitem.h:237
QgsLayoutItemPolyline
Layout item for node based polyline shapes.
Definition: qgslayoutitempolyline.h:33
QgsLayoutItem::UndoLabelFontColor
@ UndoLabelFontColor
Label color.
Definition: qgslayoutitem.h:250
QgsLayoutItem::UndoArrowHeadStrokeColor
@ UndoArrowHeadStrokeColor
Arrow head stroke color.
Definition: qgslayoutitem.h:294
QgsLayoutItem::UndoPictureStrokeWidth
@ UndoPictureStrokeWidth
Picture stroke width.
Definition: qgslayoutitem.h:245
QgsLayoutItem::CanGroupWithAnyOtherItem
@ CanGroupWithAnyOtherItem
Item can be placed on a layer with any other item (default behavior)
Definition: qgslayoutitem.h:431
QgsLayoutItem::UndoScaleBarUnitText
@ UndoScaleBarUnitText
Scalebar unit text.
Definition: qgslayoutitem.h:287
QgsLayoutItem::MiddleLeft
@ MiddleLeft
Middle left of item.
Definition: qgslayoutitem.h:206
QgsLayoutItemRenderContext
Contains settings and helpers relating to a render of a QgsLayoutItem.
Definition: qgslayoutitem.h:44
QgsLayoutItem::UndoScaleBarMapUnitsSegment
@ UndoScaleBarMapUnitsSegment
Scalebar map units per segment.
Definition: qgslayoutitem.h:288
QgsLayoutItem::ExportLayerDetail::mapTheme
QString mapTheme
Associated map theme, or an empty string if this export layer does not need to be associated with a m...
Definition: qgslayoutitem.h:513
QgsLayoutItem::UndoPictureNorthOffset
@ UndoPictureNorthOffset
Picture north offset.
Definition: qgslayoutitem.h:246
QgsRenderContext
Contains information about the context of a rendering operation.
Definition: qgsrendercontext.h:59
QgsLayoutItem::UndoStrokeColor
@ UndoStrokeColor
Stroke color adjustment.
Definition: qgslayoutitem.h:220
QgsStyleEntityVisitorInterface
An interface for classes which can visit style entity (e.g. symbol) nodes (using the visitor pattern)...
Definition: qgsstyleentityvisitor.h:33
QgsLayoutItem::UndoZoomContent
@ UndoZoomContent
Item content zoomed.
Definition: qgslayoutitem.h:231
qgslayoutitemlabel.h
QgsLayoutItem::UndoLegendTitleFont
@ UndoLegendTitleFont
Legend title font.
Definition: qgslayoutitem.h:272
QgsLayoutItem::UndoScaleBarBoxContentSpace
@ UndoScaleBarBoxContentSpace
Scalebar box context space.
Definition: qgslayoutitem.h:290
QgsLayoutItem::UndoIncrementalResize
@ UndoIncrementalResize
Incremental resize.
Definition: qgslayoutitem.h:219
QgsLayoutItem::ReferencePoint
ReferencePoint
Fixed position reference point.
Definition: qgslayoutitem.h:201
QgsLayoutItem::UndoLegendRasterStrokeWidth
@ UndoLegendRasterStrokeWidth
Legend raster stroke width.
Definition: qgslayoutitem.h:270
QgsLayoutItem::sizeWithUnits
QgsLayoutSize sizeWithUnits() const
Returns the item's current size, including units.
Definition: qgslayoutitem.h:673
QgsLayoutItem::Flag
Flag
Flags for controlling how an item behaves.
Definition: qgslayoutitem.h:303
SIP_FACTORY
#define SIP_FACTORY
Definition: qgis_sip.h:76
qgslayoutsize.h
QgsLayoutItem::minimumSize
virtual QgsLayoutSize minimumSize() const
Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely r...
Definition: qgslayoutitem.h:562
QgsLayoutItem::UndoLegendLineSpacing
@ UndoLegendLineSpacing
Legend line spacing.
Definition: qgslayoutitem.h:269
QgsLayoutItem::UndoBackgroundColor
@ UndoBackgroundColor
Background color adjustment.
Definition: qgslayoutitem.h:222
qgslayoutpoint.h
QgsLayoutItem::UndoMapGridIntervalRange
@ UndoMapGridIntervalRange
Grid interval range.
Definition: qgslayoutitem.h:240
qgslayoutframe.h
qgsapplication.h
QgsLayoutItemLegend
A layout item subclass for map legends.
Definition: qgslayoutitemlegend.h:113
QgsLayoutItem::UndoLegendItemFont
@ UndoLegendItemFont
Legend item font.
Definition: qgslayoutitem.h:275
SIP_DEPRECATED
#define SIP_DEPRECATED
Definition: qgis_sip.h:106
QgsLayoutItem::UndoMapAnnotationDistance
@ UndoMapAnnotationDistance
Map frame annotation distance.
Definition: qgslayoutitem.h:236
SIP_CONVERT_TO_SUBCLASS_CODE
#define SIP_CONVERT_TO_SUBCLASS_CODE(code)
Definition: qgis_sip.h:186
QgsLayoutItem::UndoScaleBarSegmentSize
@ UndoScaleBarSegmentSize
Scalebar segment size.
Definition: qgslayoutitem.h:277
QgsLayoutItem::hasBackground
bool hasBackground() const
Returns true if the item has a background.
Definition: qgslayoutitem.h:802
QgsLayoutItem::UndoGridFramePenColor
@ UndoGridFramePenColor
Map grid frame pen color.
Definition: qgslayoutitem.h:233
QgsLayoutObject::AllProperties
@ AllProperties
All properties for item.
Definition: qgslayoutobject.h:135
SIP_SKIP
#define SIP_SKIP
Definition: qgis_sip.h:126
QgsLayoutItem::UndoSetId
@ UndoSetId
Change item ID.
Definition: qgslayoutitem.h:224
QgsLayoutItem::UndoArrowHeadWidth
@ UndoArrowHeadWidth
Arrow head width.
Definition: qgslayoutitem.h:292
QgsLayoutItem::backgroundColor
QColor backgroundColor() const
Returns the background color for this item.
Definition: qgslayoutitem.h:817
QgsLayoutItem::UndoLabelText
@ UndoLabelText
Label text.
Definition: qgslayoutitem.h:247
QgsLayoutItem::frameStrokeWidth
QgsLayoutMeasurement frameStrokeWidth() const
Returns the frame's stroke width.
Definition: qgslayoutitem.h:777
QgsLayoutItem::ExportLayerDetail
Contains details of a particular export layer relating to a layout item.
Definition: qgslayoutitem.h:492
QgsLayoutItem::ExportLayerDetail::name
QString name
User-friendly name for the export layer.
Definition: qgslayoutitem.h:495
QgsLayoutItem::ExportLayerBehavior
ExportLayerBehavior
Behavior of item when exporting to layered outputs.
Definition: qgslayoutitem.h:429
QgsLayoutFrame
Base class for frame items, which form a layout multiframe item.
Definition: qgslayoutframe.h:31
QgsCompositionConverter
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
Definition: qgscompositionconverter.h:56
QgsLayoutItem::UndoScaleBarSegmentsLeft
@ UndoScaleBarSegmentsLeft
Scalebar segments left.
Definition: qgslayoutitem.h:278
QgsLayoutItem::UndoLegendLayerSpace
@ UndoLegendLayerSpace
Legend layer spacing.
Definition: qgslayoutitem.h:263
QgsLayoutItem::frameJoinStyle
Qt::PenJoinStyle frameJoinStyle() const
Returns the join style used for drawing the item's frame.
Definition: qgslayoutitem.h:786
QgsLayoutItem::UndoRotation
@ UndoRotation
Rotation adjustment.
Definition: qgslayoutitem.h:225
QgsLayoutItem::UndoLegendIconSymbolSpace
@ UndoLegendIconSymbolSpace
Legend icon symbol space.
Definition: qgslayoutitem.h:265
QgsLayoutItem::UndoLegendColumnCount
@ UndoLegendColumnCount
Legend column count.
Definition: qgslayoutitem.h:252
QgsLayoutItem::positionWithUnits
QgsLayoutPoint positionWithUnits() const
Returns the item's current position, including units.
Definition: qgslayoutitem.h:646
qgsrendercontext.h
Q_DECLARE_OPERATORS_FOR_FLAGS
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.
QgsLayoutItem::UndoLegendFontColor
@ UndoLegendFontColor
Legend font color.
Definition: qgslayoutitem.h:266
QgsLayoutItem::UndoAtlasMargin
@ UndoAtlasMargin
Map atlas margin changed.
Definition: qgslayoutitem.h:229
QgsLayoutItem::UndoScaleBarFillColor
@ UndoScaleBarFillColor
Scalebar fill color.
Definition: qgslayoutitem.h:284
QgsLayoutItem::UndoScaleBarFillColor2
@ UndoScaleBarFillColor2
Scalebar secondary fill color.
Definition: qgslayoutitem.h:285
QgsLayoutItem::referencePoint
ReferencePoint referencePoint() const
Returns the reference point for positioning of the layout item.
Definition: qgslayoutitem.h:546
QgsLayoutItem::UndoScaleBarSubdivisions
@ UndoScaleBarSubdivisions
Scalebar number of subdivisions.
Definition: qgslayoutitem.h:281
QgsLayoutItem::UndoScaleBarSegments
@ UndoScaleBarSegments
Scalebar number of segments.
Definition: qgslayoutitem.h:279
QgsLayoutItem::UndoMapGridMarkerSymbol
@ UndoMapGridMarkerSymbol
Grid marker symbol.
Definition: qgslayoutitem.h:239
QgsLayoutItem::MustPlaceInOwnLayer
@ MustPlaceInOwnLayer
Item must be placed in its own individual layer.
Definition: qgslayoutitem.h:433
QgsLayoutItem::ItemContainsSubLayers
@ ItemContainsSubLayers
Item contains multiple sublayers which must be individually exported.
Definition: qgslayoutitem.h:434
QgsLayoutItem::UndoMapRotation
@ UndoMapRotation
Map rotation changed.
Definition: qgslayoutitem.h:230
QgsLayoutItem::UndoLegendMinSymbolSize
@ UndoLegendMinSymbolSize
Legend minimum symbol size.
Definition: qgslayoutitem.h:256
QgsLayoutItem::UndoScaleBarLabelBarSize
@ UndoScaleBarLabelBarSize
Scalebar label bar size.
Definition: qgslayoutitem.h:289
QgsLayoutItem::UndoLabelMargin
@ UndoLabelMargin
Label margin.
Definition: qgslayoutitem.h:249
QgsLayoutItem
Base class for graphical items within a QgsLayout.
Definition: qgslayoutitem.h:112
QgsLayoutItem::UndoStrokeWidth
@ UndoStrokeWidth
Stroke width adjustment.
Definition: qgslayoutitem.h:221
qgslayoutmeasurement.h
QgsLayoutItem::UndoLegendSymbolHeight
@ UndoLegendSymbolHeight
Legend symbol height.
Definition: qgslayoutitem.h:254
qgslayoutundocommand.h
QgsLayoutUndoObjectInterface
Interface for layout objects which support undo/redo commands.
Definition: qgslayoutundocommand.h:128
QgsLayoutItem::UndoMapGridLineSymbol
@ UndoMapGridLineSymbol
Grid line symbol.
Definition: qgslayoutitem.h:238
QgsLayoutItemGroup
A container for grouping several QgsLayoutItems.
Definition: qgslayoutitemgroup.h:28
QgsLayoutItem::UndoScaleBarFontColor
@ UndoScaleBarFontColor
Scalebar font color.
Definition: qgslayoutitem.h:283
QgsLayoutItem::LowerRight
@ LowerRight
Lower right corner of item.
Definition: qgslayoutitem.h:211
QgsLayoutItem::UndoLegendColumnSpace
@ UndoLegendColumnSpace
Legend column space.
Definition: qgslayoutitem.h:268
QgsLayoutItem::LowerLeft
@ LowerLeft
Lower left corner of item.
Definition: qgslayoutitem.h:209
QgsLayoutItemPicture
A layout item subclass that displays SVG files or raster format images (jpg, png, ....
Definition: qgslayoutitempicture.h:35
QgsLayoutItem::UndoLegendSymbolWidth
@ UndoLegendSymbolWidth
Legend symbol width.
Definition: qgslayoutitem.h:253
QgsLayoutObject::createExpressionContext
QgsExpressionContext createExpressionContext() const override
Creates an expression context relating to the objects' current state.
Definition: qgslayoutobject.cpp:246
qgslayoutitemlegend.h
QgsLayoutItemMap
Layout graphical items for displaying a map.
Definition: qgslayoutitemmap.h:317
QgsLayoutItem::blendMode
QPainter::CompositionMode blendMode() const
Returns the item's composition blending mode.
Definition: qgslayoutitem.h:830
QgsLayoutItem::UndoLegendMaxSymbolSize
@ UndoLegendMaxSymbolSize
Legend maximum symbol size.
Definition: qgslayoutitem.h:255
qgslayoutitempage.h
QgsLayoutItem::UndoArrowHeadFillColor
@ UndoArrowHeadFillColor
Arrow head fill color.
Definition: qgslayoutitem.h:293
QgsLayoutItemRenderContext::renderContext
QgsRenderContext & renderContext()
Returns a reference to the context's render context.
Definition: qgslayoutitem.h:72
QgsLayoutItem::uuid
virtual QString uuid() const
Returns the item identification string.
Definition: qgslayoutitem.h:345
QgsLayoutItem::UndoOpacity
@ UndoOpacity
Opacity adjustment.
Definition: qgslayoutitem.h:223
QgsAbstractLayoutUndoCommand
Base class for commands to undo/redo layout and layout object changes.
Definition: qgslayoutundocommand.h:34
SIP_FORCE
#define SIP_FORCE
Definition: qgis_sip.h:131
QgsGeometry
A geometry is the spatial representation of a feature.
Definition: qgsgeometry.h:124
QgsLayout
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
Definition: qgslayout.h:50
QgsLayoutItem::UndoPictureRotation
@ UndoPictureRotation
Picture rotation.
Definition: qgslayoutitem.h:242
QgsLayoutItem::UndoLabelFont
@ UndoLabelFont
Label font.
Definition: qgslayoutitem.h:248
QgsLayoutItem::UndoLegendGroupIndent
@ UndoLegendGroupIndent
Legend group indent.
Definition: qgslayoutitem.h:261
QgsLayoutItem::UndoLegendWmsLegendHeight
@ UndoLegendWmsLegendHeight
Legend WMS height.
Definition: qgslayoutitem.h:258
QgsLayoutItem::UpperRight
@ UpperRight
Upper right corner of item.
Definition: qgslayoutitem.h:205
QgsLayoutItem::UndoShapeCornerRadius
@ UndoShapeCornerRadius
Shape corner radius.
Definition: qgslayoutitem.h:227
qgslayoutitempicture.h
QgsLayoutItem::UndoScaleBarSubdivisionsHeight
@ UndoScaleBarSubdivisionsHeight
Scalebar subdivisions height.
Definition: qgslayoutitem.h:282
qgslayoutitempolyline.h
QgsLayoutItem::UndoLegendGroupFont
@ UndoLegendGroupFont
Legend group font.
Definition: qgslayoutitem.h:273
qgslayoutitemshape.h
QgsLayoutItemPolygon
Layout item for node based polygon shapes.
Definition: qgslayoutitempolygon.h:30
QgsLayoutSize
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
Definition: qgslayoutsize.h:40
QgsLayoutItem::UndoLegendTitleSpaceBottom
@ UndoLegendTitleSpaceBottom
Legend title space.
Definition: qgslayoutitem.h:259
QgsLayoutItem::frameStrokeColor
QColor frameStrokeColor() const
Returns the frame's stroke color.
Definition: qgslayoutitem.h:759
QgsApplication::getThemeIcon
static QIcon getThemeIcon(const QString &name, const QColor &fillColor=QColor(), const QColor &strokeColor=QColor())
Helper to get a theme icon.
Definition: qgsapplication.cpp:693
QgsLayoutItem::UpperMiddle
@ UpperMiddle
Upper center of item.
Definition: qgslayoutitem.h:204
QgsUnitTypes::LayoutMillimeters
@ LayoutMillimeters
Millimeters.
Definition: qgsunittypes.h:183
qgslayoutobject.h
QgsLayoutItemLabel
A layout item subclass for text labels.
Definition: qgslayoutitemlabel.h:36
QgsLayoutItemScaleBar
A layout item subclass for scale bars.
Definition: qgslayoutitemscalebar.h:35
QgsLayoutItem::UndoMapGridFrameFill1Color
@ UndoMapGridFrameFill1Color
Map grid frame fill color 1.
Definition: qgslayoutitem.h:234
QgsLayoutItemRenderContext::renderContext
const QgsRenderContext & renderContext() const
Returns a reference to the context's render context.
Definition: qgslayoutitem.h:82
QgsLayoutItem::UndoOverviewStyle
@ UndoOverviewStyle
Map overview style.
Definition: qgslayoutitem.h:232
QgsLayoutItem::UndoScaleBarHeight
@ UndoScaleBarHeight
Scalebar height.
Definition: qgslayoutitem.h:280
QgsLayoutItem::UndoLegendWmsLegendWidth
@ UndoLegendWmsLegendWidth
Legend WMS width.
Definition: qgslayoutitem.h:257
QgsLayoutItem::ExportLayerDetail::mapLayerId
QString mapLayerId
Associated map layer ID, or an empty string if this export layer is not associated with a map layer.
Definition: qgslayoutitem.h:498
QgsLayoutItem::UndoCustomCommand
@ UndoCustomCommand
Base id for plugin based item undo commands.
Definition: qgslayoutitem.h:296
QgsLayoutPoint
This class provides a method of storing points, consisting of an x and y coordinate,...
Definition: qgslayoutpoint.h:39
QgsLayoutItem::UndoScaleBarLineWidth
@ UndoScaleBarLineWidth
Scalebar line width.
Definition: qgslayoutitem.h:276
QgsLayoutItem::UndoLegendRasterStrokeColor
@ UndoLegendRasterStrokeColor
Legend raster stroke color.
Definition: qgslayoutitem.h:271
MathUtils::angle
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
SIP_END
#define SIP_END
Definition: qgis_sip.h:203
QgsLayoutItem::UndoMapGridFrameFill2Color
@ UndoMapGridFrameFill2Color
Map grid frame fill color 2.
Definition: qgslayoutitem.h:235
QgsLayoutItem::CanGroupWithItemsOfSameType
@ CanGroupWithItemsOfSameType
Item can only be placed on layers with other items of the same type, but multiple items of this type ...
Definition: qgslayoutitem.h:432
qgslayoutitemscalebar.h
QgsLayoutItem::UpperLeft
@ UpperLeft
Upper left corner of item.
Definition: qgslayoutitem.h:203
QgsLayoutItem::UndoLegendLayerFont
@ UndoLegendLayerFont
Legend layer font.
Definition: qgslayoutitem.h:274
QgsLayoutItem::UndoNodeMove
@ UndoNodeMove
Node move.
Definition: qgslayoutitem.h:228
QgsLayoutMeasurement
This class provides a method of storing measurements for use in QGIS layouts using a variety of diffe...
Definition: qgslayoutmeasurement.h:33
QgsLayoutItem::isLocked
bool isLocked() const
Returns true if the item is locked, and cannot be interacted with using the mouse.
Definition: qgslayoutitem.h:402
QgsLayoutItem::UndoArrowStrokeWidth
@ UndoArrowStrokeWidth
Arrow stroke width.
Definition: qgslayoutitem.h:291
QgsLayoutItem::UndoLegendGroupSpace
@ UndoLegendGroupSpace
Legend group spacing.
Definition: qgslayoutitem.h:260
QgsLayoutObject::DataDefinedProperty
DataDefinedProperty
Data defined properties for different item types.
Definition: qgslayoutobject.h:132
QgsLayoutObject
A base class for objects which belong to a layout.
Definition: qgslayoutobject.h:39
QgsLayoutItem::UndoMapLabelMargin
@ UndoMapLabelMargin
Margin for labels from edge of map.
Definition: qgslayoutitem.h:241
qgslayoutitemmap.h
QgsLayoutItem::LowerMiddle
@ LowerMiddle
Lower center of item.
Definition: qgslayoutitem.h:210
QgsLayoutItem::fixedSize
virtual QgsLayoutSize fixedSize() const
Returns the fixed size of the item, if applicable, or an empty size if item can be freely resized.
Definition: qgslayoutitem.h:554
QgsLayoutItem::UndoPictureFillColor
@ UndoPictureFillColor
Picture fill color.
Definition: qgslayoutitem.h:243