QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
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 
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,
293 
295  };
296 
301  enum Flag
302  {
303  FlagOverridesPaint = 1 << 1,
304  FlagProvidesClipPath = 1 << 2,
305  };
306  Q_DECLARE_FLAGS( Flags, Flag )
307 
308 
314  explicit QgsLayoutItem( QgsLayout *layout, bool manageZValue = true );
315 
316  ~QgsLayoutItem() override;
317 
322  virtual void cleanup();
323 
329  int type() const override;
330 
334  virtual QIcon icon() const { return QgsApplication::getThemeIcon( QStringLiteral( "/mLayoutItem.svg" ) ); }
335 
343  virtual QString uuid() const { return mUuid; }
344 
349  virtual Flags itemFlags() const;
350 
357  QString id() const { return mId; }
358 
365  virtual void setId( const QString &id );
366 
373  virtual QString displayName() const;
374 
378  virtual void setSelected( bool selected );
379 
386  virtual void setVisibility( bool visible );
387 
393  void setLocked( bool locked );
394 
400  bool isLocked() const { return mIsLocked; }
401 
407  bool isGroupMember() const;
408 
414  QgsLayoutItemGroup *parentGroup() const;
415 
421  void setParentGroup( QgsLayoutItemGroup *group );
422 
428  {
433  };
434 
441  virtual ExportLayerBehavior exportLayerBehavior() const;
442 
456  Q_DECL_DEPRECATED virtual int numberExportLayers() const SIP_DEPRECATED;
457 
465  virtual void startLayeredExport();
466 
474  virtual void stopLayeredExport();
475 
483  virtual bool nextExportPart();
484 
490  struct CORE_EXPORT ExportLayerDetail
491  {
493  QString name;
494 
496  QString mapLayerId;
497 
502  QPainter::CompositionMode compositionMode = QPainter::CompositionMode_SourceOver;
503 
508  double opacity = 1.0;
509 
511  QString mapTheme;
512  };
513 
521  virtual QgsLayoutItem::ExportLayerDetail exportLayerDetails() const;
522 
528  void paint( QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget ) override;
529 
536  void setReferencePoint( ReferencePoint point );
537 
544  ReferencePoint referencePoint() const { return mReferencePoint; }
545 
552  virtual QgsLayoutSize fixedSize() const { return mFixedSize; }
553 
560  virtual QgsLayoutSize minimumSize() const { return mMinimumSize; }
561 
576  virtual void attemptResize( const QgsLayoutSize &size, bool includesFrame = false );
577 
603  virtual void attemptMove( const QgsLayoutPoint &point, bool useReferencePoint = true, bool includesFrame = false, int page = -1 );
604 
620  void attemptSetSceneRect( const QRectF &rect, bool includesFrame = false );
621 
634  void attemptMoveBy( double deltaX, double deltaY );
635 
644  QgsLayoutPoint positionWithUnits() const { return mItemPosition; }
645 
650  int page() const;
651 
657  QPointF pagePos() const;
658 
664  QgsLayoutPoint pagePositionWithUnits() const;
665 
671  QgsLayoutSize sizeWithUnits() const { return mItemSize; }
672 
683  double itemRotation() const;
684 
692  bool writeXml( QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context ) const;
693 
709  bool readXml( const QDomElement &itemElement, const QDomDocument &document, const QgsReadWriteContext &context );
710 
719  virtual void finalizeRestoreFromXml();
720 
721  QgsAbstractLayoutUndoCommand *createCommand( const QString &text, int id, QUndoCommand *parent = nullptr ) override SIP_FACTORY;
722 
730  bool frameEnabled() const { return mFrame; }
731 
739  virtual void setFrameEnabled( bool drawFrame );
740 
748  void setFrameStrokeColor( const QColor &color );
749 
757  QColor frameStrokeColor() const { return mFrameColor; }
758 
766  virtual void setFrameStrokeWidth( QgsLayoutMeasurement width );
767 
775  QgsLayoutMeasurement frameStrokeWidth() const { return mFrameWidth; }
776 
784  Qt::PenJoinStyle frameJoinStyle() const { return mFrameJoinStyle; }
785 
793  void setFrameJoinStyle( Qt::PenJoinStyle style );
794 
800  bool hasBackground() const { return mBackground; }
801 
807  void setBackgroundEnabled( bool drawBackground );
808 
815  QColor backgroundColor() const { return mBackgroundColor; }
816 
822  void setBackgroundColor( const QColor &color );
823 
828  QPainter::CompositionMode blendMode() const { return mBlendMode; }
829 
834  void setBlendMode( QPainter::CompositionMode mode );
835 
843  double itemOpacity() const { return mOpacity; }
844 
852  void setItemOpacity( double opacity );
853 
858  bool excludeFromExports() const;
859 
864  void setExcludeFromExports( bool exclude );
865 
875  virtual bool containsAdvancedEffects() const;
876 
882  virtual bool requiresRasterization() const;
883 
894  virtual double estimatedFrameBleed() const;
895 
905  virtual QRectF rectWithFrame() const;
906 
913  virtual void moveContent( double dx, double dy );
914 
921  virtual void setMoveContentPreviewOffset( double dx, double dy );
922 
929  virtual void zoomContent( double factor, QPointF point );
930 
939  void beginCommand( const QString &commandText, UndoCommand command = UndoNone );
940 
946  void endCommand();
947 
953  void cancelCommand();
954 
958  bool shouldDrawItem() const;
959 
961 
971  virtual bool accept( QgsStyleEntityVisitorInterface *visitor ) const;
972 
981  virtual QgsGeometry clipPath() const;
982 
983  public slots:
984 
989  void refresh() override;
990 
994  virtual void invalidateCache();
995 
999  virtual void redraw();
1000 
1007  virtual void refreshDataDefinedProperty( QgsLayoutObject::DataDefinedProperty property = QgsLayoutObject::AllProperties );
1008 
1018  virtual void setItemRotation( double rotation, bool adjustPosition = true );
1019 
1025  virtual void rotateItem( double angle, QPointF transformOrigin );
1026 
1027  signals:
1028 
1033 
1039  void lockChanged();
1040 
1044  void rotationChanged( double newRotation );
1045 
1050 
1056  void backgroundTaskCountChanged( int count );
1057 
1066 
1067  protected:
1068 
1074  virtual void drawDebugRect( QPainter *painter );
1075 
1082  virtual void draw( QgsLayoutItemRenderContext &context ) = 0;
1083 
1091  virtual QPainterPath framePath() const;
1092 
1098  virtual void drawFrame( QgsRenderContext &context );
1099 
1105  virtual void drawBackground( QgsRenderContext &context );
1106 
1113  virtual void setFixedSize( const QgsLayoutSize &size );
1114 
1121  virtual void setMinimumSize( const QgsLayoutSize &size );
1122 
1131  virtual QSizeF applyItemSizeConstraint( QSizeF targetSize );
1132 
1140  void refreshItemSize();
1141 
1147  void refreshItemPosition();
1148 
1159  void refreshItemRotation( QPointF *origin = nullptr );
1160 
1166  void refreshOpacity( bool updateItem = true );
1167 
1173  void refreshFrame( bool updateItem = true );
1174 
1180  void refreshBackgroundColor( bool updateItem = true );
1181 
1185  void refreshBlendMode();
1186 
1191  QPointF adjustPointForReferencePosition( QPointF point, QSizeF size, ReferencePoint reference ) const;
1192 
1196  QPointF positionAtReferencePoint( ReferencePoint reference ) const;
1197 
1202  QgsLayoutPoint topLeftToReferencePoint( const QgsLayoutPoint &point ) const;
1203 
1212  virtual bool writePropertiesToElement( QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context ) const;
1213 
1229  virtual bool readPropertiesFromElement( const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context );
1230 
1234  QgsLayoutSize applyDataDefinedSize( const QgsLayoutSize &size );
1235 
1236  private:
1237 
1238  // true if layout manages the z value for this item
1239  bool mLayoutManagesZValue = false;
1240 
1242  QString mId;
1243 
1245  QString mUuid;
1246 
1248  QString mTemplateUuid;
1249 
1251  QString mParentGroupUuid;
1252 
1253  ReferencePoint mReferencePoint = UpperLeft;
1254  QgsLayoutSize mFixedSize;
1255  QgsLayoutSize mMinimumSize;
1256 
1257  QgsLayoutSize mItemSize;
1258  QgsLayoutPoint mItemPosition;
1259  double mItemRotation = 0.0;
1260 
1262  bool mExcludeFromExports = false;
1263 
1268  bool mEvaluatedExcludeFromExports = false;
1269 
1271  QPainter::CompositionMode mBlendMode = QPainter::CompositionMode_SourceOver;
1272  std::unique_ptr< QgsLayoutEffect > mEffect;
1273 
1275  double mOpacity = 1.0;
1276  double mEvaluatedOpacity = 1.0;
1277 
1278  QImage mItemCachedImage;
1279  double mItemCacheDpi = -1;
1280 
1281  bool mIsLocked = false;
1282 
1284  bool mFrame = false;
1286  QColor mFrameColor = QColor( 0, 0, 0 );
1290  Qt::PenJoinStyle mFrameJoinStyle = Qt::MiterJoin;
1291 
1293  bool mBackground = true;
1295  QColor mBackgroundColor = QColor( 255, 255, 255 );
1296 
1297  bool mBlockUndoCommands = false;
1298 
1299  void initConnectionsToLayout();
1300 
1302  void preparePainter( QPainter *painter );
1303  bool shouldDrawAntialiased() const;
1304  bool shouldDrawDebugRect() const;
1305  QSizeF applyMinimumSize( QSizeF targetSize );
1306  QSizeF applyFixedSize( QSizeF targetSize );
1307  QgsLayoutPoint applyDataDefinedPosition( const QgsLayoutPoint &position );
1308 
1309  double applyDataDefinedRotation( double rotation );
1310  void updateStoredItemPosition();
1311  QPointF itemPositionAtReferencePoint( ReferencePoint reference, QSizeF size ) const;
1312  void setScenePos( QPointF destinationPos );
1313  bool shouldBlockUndoCommands() const;
1314 
1315  void applyDataDefinedOrientation( double &width, double &height, const QgsExpressionContext &context );
1316 
1317  friend class TestQgsLayoutItem;
1318  friend class TestQgsLayoutView;
1319  friend class QgsLayout;
1320  friend class QgsLayoutItemGroup;
1322 };
1323 
1324 Q_DECLARE_OPERATORS_FOR_FLAGS( QgsLayoutItem::Flags )
1325 
1326 #endif //QGSLAYOUTITEM_H
1327 
1328 
1329 
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:262
QgsExpressionContext
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Definition: qgsexpressioncontext.h:370
QgsLayoutItem::itemOpacity
double itemOpacity() const
Returns the item's opacity.
Definition: qgslayoutitem.h:843
QgsLayoutItem::id
QString id() const
Returns the item's ID name.
Definition: qgslayoutitem.h:357
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
QgsLayoutItemShape
Layout item for basic filled shapes (e.g.
Definition: qgslayoutitemshape.h:33
QgsLayoutItem::UndoCommand
UndoCommand
Layout item undo commands, used for collapsing undo commands.
Definition: qgslayoutitem.h:216
QgsApplication::getThemeIcon
static QIcon getThemeIcon(const QString &name)
Helper to get a theme icon.
Definition: qgsapplication.cpp:626
QgsLayoutItemPage
Item representing the paper in a layout.
Definition: qgslayoutitempage.h:55
QgsLayoutItem::sizePositionChanged
void sizePositionChanged()
Emitted when the item's size or position changes.
QgsLayoutObject::refresh
virtual void refresh()
Refreshes the object, causing a recalculation of any property overrides.
Definition: qgslayoutobject.h:312
QgsLayoutItem::UndoPictureStrokeColor
@ UndoPictureStrokeColor
Picture stroke color.
Definition: qgslayoutitem.h:244
QgsLayoutItemRenderContext::operator=
QgsLayoutItemRenderContext & operator=(const QgsLayoutItemRenderContext &other)=delete
QgsLayoutItemRenderContext cannot be copied.
QgsReadWriteContext
The class is used as a container of context for various read/write operations on other objects.
Definition: qgsreadwritecontext.h:35
QgsLayoutItem::UndoScaleBarStrokeColor
@ UndoScaleBarStrokeColor
Scalebar stroke color.
Definition: qgslayoutitem.h:284
QgsLayoutItem::Middle
@ Middle
Center of item.
Definition: qgslayoutitem.h:207
QgsLayoutItem::UndoLegendBoxSpace
@ UndoLegendBoxSpace
Legend box space.
Definition: qgslayoutitem.h:265
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:36
QgsLayoutItem::icon
virtual QIcon icon() const
Returns the item's icon.
Definition: qgslayoutitem.h:334
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:292
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:429
QgsLayoutItem::UndoScaleBarUnitText
@ UndoScaleBarUnitText
Scalebar unit text.
Definition: qgslayoutitem.h:285
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:45
QgsLayoutItem::UndoScaleBarMapUnitsSegment
@ UndoScaleBarMapUnitsSegment
Scalebar map units per segment.
Definition: qgslayoutitem.h:286
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:511
QgsLayoutItem::UndoPictureNorthOffset
@ UndoPictureNorthOffset
Picture north offset.
Definition: qgslayoutitem.h:246
QgsRenderContext
Contains information about the context of a rendering operation.
Definition: qgsrendercontext.h:58
QgsLayoutItem::UndoStrokeColor
@ UndoStrokeColor
Stroke color adjustment.
Definition: qgslayoutitem.h:220
QgsStyleEntityVisitorInterface
An interface for classes which can visit style entity (e.g.
Definition: qgsstyleentityvisitor.h:34
QgsLayoutItem::UndoZoomContent
@ UndoZoomContent
Item content zoomed.
Definition: qgslayoutitem.h:231
qgslayoutitemlabel.h
QgsLayoutItem::UndoLegendTitleFont
@ UndoLegendTitleFont
Legend title font.
Definition: qgslayoutitem.h:270
QgsLayoutItem::UndoScaleBarBoxContentSpace
@ UndoScaleBarBoxContentSpace
Scalebar box context space.
Definition: qgslayoutitem.h:288
QgsLayoutItem::UndoIncrementalResize
@ UndoIncrementalResize
Incremental resize.
Definition: qgslayoutitem.h:219
QgsLayoutItem::ReferencePoint
ReferencePoint
Fixed position reference point.
Definition: qgslayoutitem.h:202
QgsLayoutItem::UndoLegendRasterStrokeWidth
@ UndoLegendRasterStrokeWidth
Legend raster stroke width.
Definition: qgslayoutitem.h:268
QgsLayoutItem::sizeWithUnits
QgsLayoutSize sizeWithUnits() const
Returns the item's current size, including units.
Definition: qgslayoutitem.h:671
QgsLayoutItem::Flag
Flag
Flags for controlling how an item behaves.
Definition: qgslayoutitem.h:302
QgsLayoutItem::backgroundTaskCountChanged
void backgroundTaskCountChanged(int count)
Emitted whenever the number of background tasks an item is executing changes.
QgsLayoutItem::draw
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
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:560
QgsLayoutItem::UndoLegendLineSpacing
@ UndoLegendLineSpacing
Legend line spacing.
Definition: qgslayoutitem.h:267
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:114
QgsLayoutItem::UndoLegendItemFont
@ UndoLegendItemFont
Legend item font.
Definition: qgslayoutitem.h:273
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:177
QgsLayoutItem::UndoScaleBarSegmentSize
@ UndoScaleBarSegmentSize
Scalebar segment size.
Definition: qgslayoutitem.h:275
QgsLayoutItem::hasBackground
bool hasBackground() const
Returns true if the item has a background.
Definition: qgslayoutitem.h:800
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:290
QgsLayoutItem::backgroundColor
QColor backgroundColor() const
Returns the background color for this item.
Definition: qgslayoutitem.h:815
QgsLayoutItem::UndoLabelText
@ UndoLabelText
Label text.
Definition: qgslayoutitem.h:247
QgsLayoutItem::frameStrokeWidth
QgsLayoutMeasurement frameStrokeWidth() const
Returns the frame's stroke width.
Definition: qgslayoutitem.h:775
QgsLayoutItem::ExportLayerDetail
Contains details of a particular export layer relating to a layout item.
Definition: qgslayoutitem.h:491
QgsLayoutItem::lockChanged
void lockChanged()
Emitted if the item's lock status changes.
QgsLayoutItem::ExportLayerDetail::name
QString name
User-friendly name for the export layer.
Definition: qgslayoutitem.h:493
QgsLayoutItem::ExportLayerBehavior
ExportLayerBehavior
Behavior of item when exporting to layered outputs.
Definition: qgslayoutitem.h:428
QgsLayoutFrame
Base class for frame items, which form a layout multiframe item.
Definition: qgslayoutframe.h:32
QgsCompositionConverter
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
Definition: qgscompositionconverter.h:55
QgsLayoutItem::UndoScaleBarSegmentsLeft
@ UndoScaleBarSegmentsLeft
Scalebar segments left.
Definition: qgslayoutitem.h:276
QgsLayoutItem::UndoLegendLayerSpace
@ UndoLegendLayerSpace
Legend layer spacing.
Definition: qgslayoutitem.h:261
QgsLayoutItem::frameJoinStyle
Qt::PenJoinStyle frameJoinStyle() const
Returns the join style used for drawing the item's frame.
Definition: qgslayoutitem.h:784
QgsLayoutItem::UndoRotation
@ UndoRotation
Rotation adjustment.
Definition: qgslayoutitem.h:225
QgsLayoutItem::UndoLegendIconSymbolSpace
@ UndoLegendIconSymbolSpace
Legend icon symbol space.
Definition: qgslayoutitem.h:263
QgsLayoutItem::frameChanged
void frameChanged()
Emitted if the item's frame style changes.
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:644
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:264
QgsLayoutItem::UndoAtlasMargin
@ UndoAtlasMargin
Map atlas margin changed.
Definition: qgslayoutitem.h:229
QgsLayoutItem::UndoScaleBarFillColor
@ UndoScaleBarFillColor
Scalebar fill color.
Definition: qgslayoutitem.h:282
QgsLayoutItem::UndoScaleBarFillColor2
@ UndoScaleBarFillColor2
Scalebar secondary fill color.
Definition: qgslayoutitem.h:283
QgsLayoutItem::referencePoint
ReferencePoint referencePoint() const
Returns the reference point for positioning of the layout item.
Definition: qgslayoutitem.h:544
QgsLayoutItem::UndoScaleBarSubdivisions
@ UndoScaleBarSubdivisions
Scalebar number of subdivisions.
Definition: qgslayoutitem.h:279
QgsLayoutItemRenderContext::QgsLayoutItemRenderContext
QgsLayoutItemRenderContext(const QgsLayoutItemRenderContext &other)=delete
QgsLayoutItemRenderContext cannot be copied.
QgsLayoutItem::UndoScaleBarSegments
@ UndoScaleBarSegments
Scalebar number of segments.
Definition: qgslayoutitem.h:277
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:431
QgsLayoutItem::ItemContainsSubLayers
@ ItemContainsSubLayers
Item contains multiple sublayers which must be individually exported.
Definition: qgslayoutitem.h:432
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:287
QgsLayoutItem::UndoLabelMargin
@ UndoLabelMargin
Label margin.
Definition: qgslayoutitem.h:249
QgsLayoutItem
Base class for graphical items within a QgsLayout.
Definition: qgslayoutitem.h:113
QgsLayoutItem::UndoStrokeWidth
@ UndoStrokeWidth
Stroke width adjustment.
Definition: qgslayoutitem.h:221
qgslayoutmeasurement.h
QgsLayoutItem::UndoLegendSymbolHeight
@ UndoLegendSymbolHeight
Legend symbol height.
Definition: qgslayoutitem.h:254
qgslayoutundocommand.h
QgsLayoutItem::rotationChanged
void rotationChanged(double newRotation)
Emitted on item rotation change.
QgsLayoutUndoObjectInterface
Interface for layout objects which support undo/redo commands.
Definition: qgslayoutundocommand.h:129
QgsLayoutItem::UndoMapGridLineSymbol
@ UndoMapGridLineSymbol
Grid line symbol.
Definition: qgslayoutitem.h:238
QgsLayoutItemGroup
A container for grouping several QgsLayoutItems.
Definition: qgslayoutitemgroup.h:29
QgsLayoutItem::UndoScaleBarFontColor
@ UndoScaleBarFontColor
Scalebar font color.
Definition: qgslayoutitem.h:281
QgsLayoutItem::LowerRight
@ LowerRight
Lower right corner of item.
Definition: qgslayoutitem.h:211
QgsLayoutItem::UndoLegendColumnSpace
@ UndoLegendColumnSpace
Legend column space.
Definition: qgslayoutitem.h:266
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:36
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:156
qgslayoutitemlegend.h
QgsLayoutItemMap
Layout graphical items for displaying a map.
Definition: qgslayoutitemmap.h:318
QgsLayoutItem::blendMode
QPainter::CompositionMode blendMode() const
Returns the item's composition blending mode.
Definition: qgslayoutitem.h:828
QgsLayoutItem::UndoLegendMaxSymbolSize
@ UndoLegendMaxSymbolSize
Legend maximum symbol size.
Definition: qgslayoutitem.h:255
qgslayoutitempage.h
QgsLayoutItem::UndoArrowHeadFillColor
@ UndoArrowHeadFillColor
Arrow head fill color.
Definition: qgslayoutitem.h:291
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:343
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:35
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::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:280
qgslayoutitempolyline.h
QgsLayoutItem::UndoLegendGroupFont
@ UndoLegendGroupFont
Legend group font.
Definition: qgslayoutitem.h:271
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:41
QgsLayoutItem::UndoLegendTitleSpaceBottom
@ UndoLegendTitleSpaceBottom
Legend title space.
Definition: qgslayoutitem.h:259
QgsLayoutItem::frameStrokeColor
QColor frameStrokeColor() const
Returns the frame's stroke color.
Definition: qgslayoutitem.h:757
QgsLayoutItem::UpperMiddle
@ UpperMiddle
Upper center of item.
Definition: qgslayoutitem.h:204
QgsUnitTypes::LayoutMillimeters
@ LayoutMillimeters
Millimeters.
Definition: qgsunittypes.h:182
qgslayoutobject.h
QgsLayoutItemLabel
A layout item subclass for text labels.
Definition: qgslayoutitemlabel.h:35
QgsLayoutItemScaleBar
A layout item subclass for scale bars.
Definition: qgslayoutitemscalebar.h:36
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:278
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:496
QgsLayoutItem::UndoCustomCommand
@ UndoCustomCommand
Base id for plugin based item undo commands.
Definition: qgslayoutitem.h:294
QgsLayoutPoint
This class provides a method of storing points, consisting of an x and y coordinate,...
Definition: qgslayoutpoint.h:40
QgsLayoutItem::UndoScaleBarLineWidth
@ UndoScaleBarLineWidth
Scalebar line width.
Definition: qgslayoutitem.h:274
QgsLayoutItem::UndoLegendRasterStrokeColor
@ UndoLegendRasterStrokeColor
Legend raster stroke color.
Definition: qgslayoutitem.h:269
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:194
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:430
qgslayoutitemscalebar.h
QgsLayoutItem::UpperLeft
@ UpperLeft
Upper left corner of item.
Definition: qgslayoutitem.h:203
QgsLayoutItem::UndoLegendLayerFont
@ UndoLegendLayerFont
Legend layer font.
Definition: qgslayoutitem.h:272
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:34
QgsLayoutItem::isLocked
bool isLocked() const
Returns true if the item is locked, and cannot be interacted with using the mouse.
Definition: qgslayoutitem.h:400
QgsLayoutItem::UndoArrowStrokeWidth
@ UndoArrowStrokeWidth
Arrow stroke width.
Definition: qgslayoutitem.h:289
QgsLayoutItem::UndoLegendGroupSpace
@ UndoLegendGroupSpace
Legend group spacing.
Definition: qgslayoutitem.h:260
QgsLayoutObject::DataDefinedProperty
DataDefinedProperty
Data defined properties for different item types.
Definition: qgslayoutobject.h:133
QgsLayoutObject
A base class for objects which belong to a layout.
Definition: qgslayoutobject.h:40
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:552
QgsLayoutItem::clipPathChanged
void clipPathChanged()
Emitted when the item's clipping path has changed.
QgsLayoutItem::UndoPictureFillColor
@ UndoPictureFillColor
Picture fill color.
Definition: qgslayoutitem.h:243