QGIS API Documentation 3.41.0-Master (45a0abf3bec)
Loading...
Searching...
No Matches
Public Types | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
QgsLayoutItemMap Class Reference

Layout graphical items for displaying a map. More...

#include <qgslayoutitemmap.h>

Inheritance diagram for QgsLayoutItemMap:
Inheritance graph
[legend]

Public Types

enum  AtlasScalingMode { Fixed , Predefined , Auto }
 Scaling modes used for the serial rendering (atlas) More...
 
enum  MapItemFlag { ShowPartialLabels = 1 << 0 , ShowUnplacedLabels = 1 << 1 }
 Various flags that affect drawing of map items. More...
 
typedef QFlags< MapItemFlagMapItemFlags
 
- Public Types inherited from QgsLayoutItem
enum  ExportLayerBehavior { CanGroupWithAnyOtherItem , CanGroupWithItemsOfSameType , MustPlaceInOwnLayer , ItemContainsSubLayers }
 Behavior of item when exporting to layered outputs. More...
 
enum  Flag { FlagOverridesPaint = 1 << 1 , FlagProvidesClipPath = 1 << 2 , FlagDisableSceneCaching = 1 << 3 }
 Flags for controlling how an item behaves. More...
 
typedef QFlags< FlagFlags
 
enum  ReferencePoint {
  UpperLeft , UpperMiddle , UpperRight , MiddleLeft ,
  Middle , MiddleRight , LowerLeft , LowerMiddle ,
  LowerRight
}
 Fixed position reference point. More...
 
enum  UndoCommand {
  UndoNone = -1 , UndoIncrementalMove = 1 , UndoIncrementalResize , UndoStrokeColor ,
  UndoStrokeWidth , UndoBackgroundColor , UndoOpacity , UndoMarginLeft ,
  UndoMarginTop , UndoMarginBottom , UndoMarginRight , UndoSetId ,
  UndoRotation , UndoExportLayerName , UndoShapeStyle , UndoShapeCornerRadius ,
  UndoNodeMove , UndoAtlasMargin , UndoMapRotation , UndoZoomContent ,
  UndoOverviewStyle , UndoGridFramePenColor , UndoMapGridFrameFill1Color , UndoMapGridFrameFill2Color ,
  UndoMapAnnotationDistance , UndoMapGridAnnotationFontColor , UndoMapGridLineSymbol , UndoMapGridMarkerSymbol ,
  UndoMapGridIntervalRange , UndoMapLabelMargin , UndoPictureRotation , UndoPictureFillColor ,
  UndoPictureStrokeColor , UndoPictureStrokeWidth , UndoPictureNorthOffset , UndoLabelText ,
  UndoLabelFont , UndoLabelMargin , UndoLabelFontColor , UndoLegendText ,
  UndoLegendColumnCount , UndoLegendSymbolWidth , UndoLegendSymbolHeight , UndoLegendMaxSymbolSize ,
  UndoLegendMinSymbolSize , UndoLegendWmsLegendWidth , UndoLegendWmsLegendHeight , UndoLegendTitleSpaceBottom ,
  UndoLegendGroupSpace , UndoLegendGroupIndent , UndoLegendSubgroupIndent , UndoLegendLayerSpace ,
  UndoLegendSymbolSpace , UndoLegendIconSymbolSpace , UndoLegendFontColor , UndoLegendBoxSpace ,
  UndoLegendColumnSpace , UndoLegendLineSpacing , UndoLegendRasterStrokeWidth , UndoLegendRasterStrokeColor ,
  UndoLegendTitleFont , UndoLegendGroupFont , UndoLegendLayerFont , UndoLegendItemFont ,
  UndoScaleBarLineWidth , UndoScaleBarSegmentSize , UndoScaleBarSegmentsLeft , UndoScaleBarSegments ,
  UndoScaleBarHeight , UndoScaleBarSubdivisions , UndoScaleBarSubdivisionsHeight , UndoScaleBarFontColor ,
  UndoScaleBarFillColor , UndoScaleBarFillColor2 , UndoScaleBarStrokeColor , UndoScaleBarUnitText ,
  UndoScaleBarMapUnitsSegment , UndoScaleBarLabelBarSize , UndoScaleBarBoxContentSpace , UndoArrowStrokeWidth ,
  UndoArrowHeadWidth , UndoArrowHeadFillColor , UndoArrowHeadStrokeColor , UndoElevationProfileTolerance ,
  UndoElevationProfileChartBackground , UndoElevationProfileChartBorder , UndoElevationProfileDistanceMajorGridlines , UndoElevationProfileDistanceMinorGridlines ,
  UndoElevationProfileDistanceFormat , UndoElevationProfileDistanceFont , UndoElevationProfileDistanceLabels , UndoElevationProfileElevationMajorGridlines ,
  UndoElevationProfileElevationMinorGridlines , UndoElevationProfileElevationFormat , UndoElevationProfileElevationFont , UndoElevationProfileElevationLabels ,
  UndoElevationProfileMinimumDistance , UndoElevationProfileMaximumDistance , UndoElevationProfileMinimumElevation , UndoElevationProfileMaximumElevation ,
  UndoCustomCommand
}
 Layout item undo commands, used for collapsing undo commands. More...
 
- Public Types inherited from QgsLayoutObject
enum class  DataDefinedProperty : int {
  NoProperty = 0 , AllProperties , TestProperty , PresetPaperSize ,
  PaperWidth , PaperHeight , NumPages , PaperOrientation ,
  PageNumber , PositionX , PositionY , ItemWidth ,
  ItemHeight , ItemRotation , Transparency , Opacity ,
  BlendMode , ExcludeFromExports , FrameColor , BackgroundColor ,
  MarginLeft , MarginTop , MarginRight , MarginBottom ,
  MapRotation , MapScale , MapXMin , MapYMin ,
  MapXMax , MapYMax , MapAtlasMargin , MapLayers ,
  MapStylePreset , MapLabelMargin , MapGridEnabled , MapGridIntervalX ,
  MapGridIntervalY , MapGridOffsetX , MapGridOffsetY , MapGridFrameSize ,
  MapGridFrameMargin , MapGridLabelDistance , MapGridCrossSize , MapGridFrameLineThickness ,
  MapGridAnnotationDisplayLeft , MapGridAnnotationDisplayRight , MapGridAnnotationDisplayTop , MapGridAnnotationDisplayBottom ,
  MapGridFrameDivisionsLeft , MapGridFrameDivisionsRight , MapGridFrameDivisionsTop , MapGridFrameDivisionsBottom ,
  MapCrs , StartDateTime , EndDateTime , MapZRangeLower ,
  MapZRangeUpper , PictureSource , PictureSvgBackgroundColor , PictureSvgStrokeColor ,
  PictureSvgStrokeWidth , SourceUrl , LegendTitle , LegendColumnCount ,
  ScalebarLeftSegments , ScalebarRightSegments , ScalebarSegmentWidth , ScalebarMinimumWidth ,
  ScalebarMaximumWidth , ScalebarHeight , ScalebarRightSegmentSubdivisions , ScalebarSubdivisionHeight ,
  ScalebarFillColor , ScalebarFillColor2 , ScalebarLineColor , ScalebarLineWidth ,
  AttributeTableSourceLayer , ElevationProfileTolerance , ElevationProfileDistanceMajorInterval , ElevationProfileDistanceMinorInterval ,
  ElevationProfileDistanceLabelInterval , ElevationProfileElevationMajorInterval , ElevationProfileElevationMinorInterval , ElevationProfileElevationLabelInterval ,
  ElevationProfileMinimumDistance , ElevationProfileMaximumDistance , ElevationProfileMinimumElevation , ElevationProfileMaximumElevation
}
 Data defined properties for different item types. More...
 
enum  PropertyValueType { EvaluatedValue = 0 , OriginalValue }
 Specifies whether the value returned by a function should be the original, user set value, or the current evaluated value for the property. More...
 

Public Slots

void invalidateCache () override
 
void refresh () override
 
void refreshDataDefinedProperty (QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::DataDefinedProperty::AllProperties) override
 
void updateBoundingRect ()
 Updates the bounding rect of this item. Call this function before doing any changes related to annotation out of the map rectangle.
 
- Public Slots inherited from QgsLayoutItem
virtual void invalidateCache ()
 Forces a deferred update of any cached image the item uses.
 
virtual void redraw ()
 Triggers a redraw (update) of the item.
 
void refresh () override
 Refreshes the item, causing a recalculation of any property overrides and recalculation of its position and size.
 
virtual void refreshDataDefinedProperty (QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::DataDefinedProperty::AllProperties)
 Refreshes a data defined property for the item by reevaluating the property's value and redrawing the item with this new value.
 
virtual void rotateItem (double angle, QPointF transformOrigin)
 Rotates the item by a specified angle in degrees clockwise around a specified reference point.
 
virtual void setItemRotation (double rotation, bool adjustPosition=true)
 Sets the layout item's rotation, in degrees clockwise.
 
- Public Slots inherited from QgsLayoutObject
virtual void refresh ()
 Refreshes the object, causing a recalculation of any property overrides.
 

Signals

void crsChanged ()
 Emitted when the map's coordinate reference system is changed.
 
void extentChanged ()
 Emitted when the map's extent changes.
 
void layerStyleOverridesChanged ()
 Emitted when layer style overrides are changed... a means to let associated legend items know they should update.
 
void mapRotationChanged (double newRotation)
 Emitted when the map's rotation changes.
 
void preparedForAtlas ()
 Emitted when the map has been prepared for atlas rendering, just before actual rendering.
 
void previewRefreshed ()
 Emitted whenever the item's map preview has been refreshed.
 
void themeChanged (const QString &theme)
 Emitted when the map's associated theme is changed.
 
- Signals inherited from QgsLayoutItem
void backgroundTaskCountChanged (int count)
 Emitted whenever the number of background tasks an item is executing changes.
 
void clipPathChanged ()
 Emitted when the item's clipping path has changed.
 
void frameChanged ()
 Emitted if the item's frame style changes.
 
void lockChanged ()
 Emitted if the item's lock status changes.
 
void rotationChanged (double newRotation)
 Emitted on item rotation change.
 
void sizePositionChanged ()
 Emitted when the item's size or position changes.
 
- Signals inherited from QgsLayoutObject
void changed ()
 Emitted when the object's properties change.
 

Public Member Functions

 QgsLayoutItemMap (QgsLayout *layout)
 Constructor for QgsLayoutItemMap, with the specified parent layout.
 
 ~QgsLayoutItemMap () override
 
bool accept (QgsStyleEntityVisitorInterface *visitor) const override
 Accepts the specified style entity visitor, causing it to visit all style entities associated with the layout item.
 
void addLabelBlockingItem (QgsLayoutItem *item)
 Sets the specified layout item as a "label blocking item" for this map.
 
void addRenderedFeatureHandler (QgsRenderedFeatureHandlerInterface *handler)
 Adds a rendered feature handler to use while rendering the map.
 
void assignFreeId ()
 Sets the map id() to a number not yet used in the layout.
 
QgsLayoutItemMapAtlasClippingSettingsatlasClippingSettings ()
 Returns the map's atlas clipping settings.
 
bool atlasDriven () const
 Returns whether the map extent is set to follow the current atlas feature.
 
double atlasMargin (QgsLayoutObject::PropertyValueType valueType=QgsLayoutObject::EvaluatedValue)
 Returns the margin size (percentage) used when the map is in atlas mode.
 
AtlasScalingMode atlasScalingMode () const
 Returns the current atlas scaling mode.
 
bool containsAdvancedEffects () const override
 Returns true if the item contains contents with blend modes or transparency effects which can only be reproduced by rastering the item.
 
bool containsWmsLayer () const
 Returns true if the map contains a WMS layer.
 
QgsExpressionContext createExpressionContext () const override
 This method needs to be reimplemented in all classes which implement this interface and return an expression context.
 
QgsCoordinateReferenceSystem crs () const
 Returns coordinate reference system used for rendering the map.
 
QString displayName () const override
 Gets item display name.
 
bool drawAnnotations () const
 Returns whether annotations are drawn within the map.
 
double estimatedFrameBleed () const override
 Returns the estimated amount the item's frame bleeds outside the item's actual rectangle.
 
ExportLayerBehavior exportLayerBehavior () const override
 Returns the behavior of this item during exporting to layered exports (e.g.
 
QgsLayoutItem::ExportLayerDetail exportLayerDetails () const override
 Returns the details for the specified current export layer.
 
QgsRectangle extent () const
 Returns the current map extent.
 
void finalizeRestoreFromXml () override
 Called after all pending items have been restored from XML.
 
bool followVisibilityPreset () const
 Returns whether the map should follow a map theme.
 
QString followVisibilityPresetName () const
 Preset name that decides which layers and layer styles are used for map rendering.
 
QgsLayoutItemMapGridgrid ()
 Returns the map item's first grid.
 
QgsLayoutItemMapGridStackgrids ()
 Returns the map item's grid stack, which is used to control how grids are drawn over the map's contents.
 
QIcon icon () const override
 Returns the item's icon.
 
bool isLabelBlockingItem (QgsLayoutItem *item) const
 Returns true if the specified item is a "label blocking item".
 
QgsLayoutItemMapItemClipPathSettingsitemClippingSettings ()
 Returns the map's item based clip path settings.
 
QgsLayoutItem::Flags itemFlags () const override
 Returns the item's flags, which indicate how the item behaves.
 
bool keepLayerSet () const
 Returns whether a stored layer set should be used or the current layer set from the project associated with the layout.
 
bool keepLayerStyles () const
 Returns whether current styles of layers should be overridden by previously stored styles.
 
QgsLayoutMeasurement labelMargin () const
 Returns the margin from the map edges in which no labels may be placed.
 
QList< QgsMapLayer * > layers () const
 Returns the stored layer set.
 
QList< QgsMapLayer * > layersToRender (const QgsExpressionContext *context=nullptr) const
 Returns a list of the layers which will be rendered within this map item, considering any locked layers, linked map theme, and data defined settings.
 
QMap< QString, QString > layerStyleOverrides () const
 Returns stored overrides of styles for layers.
 
QTransform layoutToMapCoordsTransform () const
 Creates a transform from layout coordinates to map coordinates.
 
QgsLayoutItemMap::MapItemFlags mapFlags () const
 Returns the map item's flags, which control how the map content is drawn.
 
double mapRotation (QgsLayoutObject::PropertyValueType valueType=QgsLayoutObject::EvaluatedValue) const
 Returns the rotation used for drawing the map within the layout item, in degrees clockwise.
 
QgsMapSettings mapSettings (const QgsRectangle &extent, QSizeF size, double dpi, bool includeLayerSettings) const
 Returns map settings that will be used for drawing of the map.
 
double mapUnitsToLayoutUnits () const
 Returns the conversion factor from map units to layout units.
 
void moveContent (double dx, double dy) override
 Moves the content of the item, by a specified dx and dy in layout units.
 
bool nextExportPart () override
 Moves to the next export part for a multi-layered export item, during a multi-layered export.
 
Q_DECL_DEPRECATED int numberExportLayers () const override
 Returns the number of layers that this item requires for exporting during layered exports (e.g.
 
QgsLayoutItemMapOverviewoverview ()
 Returns the map item's first overview.
 
QgsLayoutItemMapOverviewStackoverviews ()
 Returns the map item's overview stack, which is used to control how overviews are drawn over the map's contents.
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) override
 
QgsCoordinateReferenceSystem presetCrs () const
 Returns the map's preset coordinate reference system.
 
QgsLabelingResultspreviewLabelingResults () const
 Returns the labeling results of the most recent preview map render.
 
void removeLabelBlockingItem (QgsLayoutItem *item)
 Removes the specified layout item from the map's "label blocking items".
 
void removeRenderedFeatureHandler (QgsRenderedFeatureHandlerInterface *handler)
 Removes a previously added rendered feature handler.
 
QgsMapRendererJob::Errors renderingErrors () const
 Returns map rendering errors.
 
bool requiresRasterization () const override
 Returns true if the item is drawn in such a way that forces the whole layout to be rasterized when exporting to vector formats.
 
double scale () const
 Returns the map scale.
 
void setAtlasDriven (bool enabled)
 Sets whether the map extent will follow the current atlas feature.
 
void setAtlasMargin (double margin)
 Sets the margin size (percentage) used when the map is in atlas mode.
 
void setAtlasScalingMode (AtlasScalingMode mode)
 Sets the current atlas scaling mode.
 
void setCrs (const QgsCoordinateReferenceSystem &crs)
 Sets the map's preset crs (coordinate reference system).
 
void setDrawAnnotations (bool draw)
 Sets whether annotations are drawn within the map.
 
void setExtent (const QgsRectangle &extent)
 Sets a new extent for the map.
 
void setFollowVisibilityPreset (bool follow)
 Sets whether the map should follow a map theme.
 
void setFollowVisibilityPresetName (const QString &name)
 Sets preset name for map rendering.
 
void setFrameStrokeWidth (QgsLayoutMeasurement width) override
 Sets the frame stroke width.
 
void setKeepLayerSet (bool enabled)
 Sets whether the stored layer set should be used or the current layer set of the associated project.
 
void setKeepLayerStyles (bool enabled)
 Sets whether current styles of layers should be overridden by previously stored styles.
 
void setLabelMargin (const QgsLayoutMeasurement &margin)
 Sets the margin from the map edges in which no labels may be placed.
 
void setLayers (const QList< QgsMapLayer * > &layers)
 Sets the stored layers set.
 
void setLayerStyleOverrides (const QMap< QString, QString > &overrides)
 Sets the stored overrides of styles for layers.
 
void setMapFlags (QgsLayoutItemMap::MapItemFlags flags)
 Sets the map item's flags, which control how the map content is drawn.
 
void setMapRotation (double rotation)
 Sets the rotation for the map - this does not affect the layout item shape, only the way the map is drawn within the item.
 
void setMoveContentPreviewOffset (double dx, double dy) override
 Sets temporary offset for the item, by a specified dx and dy in layout units.
 
void setScale (double scale, bool forceUpdate=true)
 Sets new map scale and changes only the map extent.
 
void setZRange (const QgsDoubleRange &range)
 Sets the map's z range, which is used to filter the map's content to only display features within the specified z range.
 
void setZRangeEnabled (bool enabled)
 Sets whether the z range is enabled (i.e.
 
void startLayeredExport () override
 Starts a multi-layer export operation.
 
void stopLayeredExport () override
 Stops a multi-layer export operation.
 
void storeCurrentLayerStyles ()
 Stores the current project layer styles into style overrides.
 
int type () const override
 
QPolygonF visibleExtentPolygon () const
 Returns a polygon representing the current visible map extent, considering map extents and rotation.
 
void zoomContent (double factor, QPointF point) override
 Zooms content of item.
 
void zoomToExtent (const QgsRectangle &extent)
 Zooms the map so that the specified extent is fully visible within the map item.
 
QgsDoubleRange zRange () const
 Returns the map's z range, which is used to filter the map's content to only display features within the specified z range.
 
bool zRangeEnabled () const
 Returns whether the z range is enabled (i.e.
 
- Public Member Functions inherited from QgsLayoutItem
 QgsLayoutItem (QgsLayout *layout, bool manageZValue=true)
 Constructor for QgsLayoutItem, with the specified parent layout.
 
 ~QgsLayoutItem () override
 
virtual void attemptMove (const QgsLayoutPoint &point, bool useReferencePoint=true, bool includesFrame=false, int page=-1)
 Attempts to move the item to a specified point.
 
void attemptMoveBy (double deltaX, double deltaY)
 Attempts to shift the item's position by a specified deltaX and deltaY, in layout units.
 
virtual void attemptResize (const QgsLayoutSize &size, bool includesFrame=false)
 Attempts to resize the item to a specified target size.
 
void attemptSetSceneRect (const QRectF &rect, bool includesFrame=false)
 Attempts to update the item's position and size to match the passed rect in layout coordinates.
 
QColor backgroundColor (bool useDataDefined=true) const
 Returns the background color for this item.
 
void beginCommand (const QString &commandText, UndoCommand command=UndoNone)
 Starts new undo command for this item.
 
QPainter::CompositionMode blendMode () const
 Returns the item's composition blending mode.
 
void cancelCommand ()
 Cancels the current item command and discards it.
 
virtual void cleanup ()
 Called just before a batch of items are deleted, allowing them to run cleanup tasks.
 
virtual QgsGeometry clipPath () const
 Returns the clipping path generated by this item, in layout coordinates.
 
QgsAbstractLayoutUndoCommandcreateCommand (const QString &text, int id, QUndoCommand *parent=nullptr) override
 Creates a new layout undo command with the specified text and parent.
 
void endCommand ()
 Completes the current item command and push it onto the layout's undo stack.
 
bool excludeFromExports () const
 Returns whether the item should be excluded from layout exports and prints.
 
virtual QgsLayoutSize fixedSize () const
 Returns the fixed size of the item, if applicable, or an empty size if item can be freely resized.
 
bool frameEnabled () const
 Returns true if the item includes a frame.
 
Qt::PenJoinStyle frameJoinStyle () const
 Returns the join style used for drawing the item's frame.
 
QColor frameStrokeColor () const
 Returns the frame's stroke color.
 
QgsLayoutMeasurement frameStrokeWidth () const
 Returns the frame's stroke width.
 
bool hasBackground () const
 Returns true if the item has a background.
 
QString id () const
 Returns the item's ID name.
 
bool isGroupMember () const
 Returns true if the item is part of a QgsLayoutItemGroup group.
 
bool isLocked () const
 Returns true if the item is locked, and cannot be interacted with using the mouse.
 
virtual bool isRefreshing () const
 Returns true if the item is currently refreshing content in the background.
 
double itemOpacity () const
 Returns the item's opacity.
 
double itemRotation () const
 Returns the current rotation for the item, in degrees clockwise.
 
virtual QgsLayoutSize minimumSize () const
 Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely resized.
 
int page () const
 Returns the page the item is currently on, with the first page returning 0.
 
QPointF pagePos () const
 Returns the item's position (in layout units) relative to the top left corner of its current page.
 
QgsLayoutPoint pagePositionWithUnits () const
 Returns the item's position (in item units) relative to the top left corner of its current page.
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) override
 Handles preparing a paint surface for the layout item and painting the item's content.
 
QgsLayoutItemGroupparentGroup () const
 Returns the item's parent group, if the item is part of a QgsLayoutItemGroup group.
 
QgsLayoutPoint positionWithUnits () const
 Returns the item's current position, including units.
 
bool readXml (const QDomElement &itemElement, const QDomDocument &document, const QgsReadWriteContext &context)
 Sets the item state from a DOM element.
 
virtual QRectF rectWithFrame () const
 Returns the item's rectangular bounds, including any bleed caused by the item's frame.
 
ReferencePoint referencePoint () const
 Returns the reference point for positioning of the layout item.
 
void setBackgroundColor (const QColor &color)
 Sets the background color for this item.
 
void setBackgroundEnabled (bool drawBackground)
 Sets whether this item has a background drawn under it or not.
 
void setBlendMode (QPainter::CompositionMode mode)
 Sets the item's composition blending mode.
 
void setExcludeFromExports (bool exclude)
 Sets whether the item should be excluded from layout exports and prints.
 
virtual void setFrameEnabled (bool drawFrame)
 Sets whether this item has a frame drawn around it or not.
 
void setFrameJoinStyle (Qt::PenJoinStyle style)
 Sets the join style used when drawing the item's frame.
 
void setFrameStrokeColor (const QColor &color)
 Sets the frame stroke color.
 
virtual void setId (const QString &id)
 Set the item's id name.
 
void setItemOpacity (double opacity)
 Sets the item's opacity.
 
void setLocked (bool locked)
 Sets whether the item is locked, preventing mouse interactions with the item.
 
void setParentGroup (QgsLayoutItemGroup *group)
 Sets the item's parent group.
 
void setReferencePoint (ReferencePoint point)
 Sets the reference point for positioning of the layout item.
 
virtual void setSelected (bool selected)
 Sets whether the item should be selected.
 
virtual void setVisibility (bool visible)
 Sets whether the item is visible.
 
bool shouldDrawItem () const
 Returns whether the item should be drawn in the current context.
 
QgsLayoutSize sizeWithUnits () const
 Returns the item's current size, including units.
 
int type () const override
 Returns a unique graphics item type identifier.
 
virtual QString uuid () const
 Returns the item identification string.
 
bool writeXml (QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const
 Stores the item state in a DOM element.
 
- Public Member Functions inherited from QgsLayoutObject
 QgsLayoutObject (QgsLayout *layout)
 Constructor for QgsLayoutObject, with the specified parent layout.
 
QgsExpressionContext createExpressionContext () const override
 Creates an expression context relating to the objects' current state.
 
QStringList customProperties () const
 Returns list of keys stored in custom properties for the object.
 
QVariant customProperty (const QString &key, const QVariant &defaultValue=QVariant()) const
 Read a custom property from the object.
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the object's property collection, used for data defined overrides.
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the object's property collection, used for data defined overrides.
 
QgsLayoutlayout ()
 Returns the layout the object is attached to.
 
const QgsLayoutlayout () const
 Returns the layout the object is attached to.
 
void removeCustomProperty (const QString &key)
 Remove a custom property from the object.
 
void setCustomProperty (const QString &key, const QVariant &value)
 Set a custom property for the object.
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the objects's property collection, used for data defined overrides.
 
- Public Member Functions inherited from QgsExpressionContextGenerator
virtual ~QgsExpressionContextGenerator ()=default
 
- Public Member Functions inherited from QgsLayoutUndoObjectInterface
virtual ~QgsLayoutUndoObjectInterface ()=default
 
- Public Member Functions inherited from QgsTemporalRangeObject
 QgsTemporalRangeObject (bool enabled=false)
 Constructor QgsTemporalRangeObject.
 
virtual ~QgsTemporalRangeObject ()=default
 
bool isTemporal () const
 Returns true if the object's temporal range is enabled, and the object will be filtered when rendering maps with a specific time range set.
 
void setIsTemporal (bool enabled)
 Sets whether the temporal range is enabled (i.e.
 
void setTemporalRange (const QgsDateTimeRange &range)
 Sets the temporal range for the object.
 
const QgsDateTimeRangetemporalRange () const
 Returns the datetime range for the object.
 

Static Public Member Functions

static QgsLayoutItemMapcreate (QgsLayout *layout)
 Returns a new map item for the specified layout.
 
- Static Public Member Functions inherited from QgsLayoutObject
static bool propertyAssociatesWithParentMultiframe (DataDefinedProperty property)
 Returns true if the specified property key is normally associated with the parent QgsLayoutMultiFrame object instead of a child QgsLayoutFrame object.
 
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the layout object property definitions.
 

Protected Member Functions

QRectF boundingRect () const override
 
void draw (QgsLayoutItemRenderContext &context) override
 Draws the item's contents using the specified item render context.
 
QPainterPath framePath () const override
 Returns the path to use when drawing the item's frame or background.
 
bool isDrawing () const
 True if a draw is already in progress.
 
QPointF mapToItemCoords (QPointF mapCoords) const
 Transforms map coordinates to item coordinates (considering rotation and move offset)
 
bool readPropertiesFromElement (const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context) override
 Sets item state from a DOM element.
 
QgsRectangle requestedExtent () const
 Calculates the extent to request and the yShift of the top-left point in case of rotation.
 
QPolygonF transformedMapPolygon () const
 Returns extent that considers rotation and shift with mOffsetX / mOffsetY.
 
bool writePropertiesToElement (QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const override
 Stores item state within an XML DOM element.
 
- Protected Member Functions inherited from QgsLayoutItem
QPointF adjustPointForReferencePosition (QPointF point, QSizeF size, ReferencePoint reference) const
 Adjusts the specified point at which a reference position of the item sits and returns the top left corner of the item, if reference point were placed at the specified position.
 
QgsLayoutSize applyDataDefinedSize (const QgsLayoutSize &size)
 Applies any present data defined size overrides to the specified layout size.
 
virtual QSizeF applyItemSizeConstraint (QSizeF targetSize)
 Applies any item-specific size constraint handling to a given targetSize in layout units.
 
virtual void drawBackground (QgsRenderContext &context)
 Draws the background for the item.
 
virtual void drawDebugRect (QPainter *painter)
 Draws a debugging rectangle of the item's current bounds within the specified painter.
 
virtual void drawFrame (QgsRenderContext &context)
 Draws the frame around the item.
 
void drawRefreshingOverlay (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle)
 Draws a "refreshing" overlay icon on the item.
 
QPointF positionAtReferencePoint (ReferencePoint reference) const
 Returns the current position (in layout units) of a reference point for the item.
 
void refreshBackgroundColor (bool updateItem=true)
 Refresh item's background color, considering data defined colors.
 
void refreshBlendMode ()
 Refresh item's blend mode, considering data defined blend mode.
 
void refreshFrame (bool updateItem=true)
 Refresh item's frame, considering data defined colors and frame size.
 
void refreshItemPosition ()
 Refreshes an item's position by rechecking it against any possible overrides such as data defined positioning.
 
void refreshItemRotation (QPointF *origin=nullptr)
 Refreshes an item's rotation by rechecking it against any possible overrides such as data defined rotation.
 
void refreshItemSize ()
 Refreshes an item's size by rechecking it against any possible item fixed or minimum sizes.
 
void refreshOpacity (bool updateItem=true)
 Refresh item's opacity, considering data defined opacity.
 
virtual void setFixedSize (const QgsLayoutSize &size)
 Sets a fixed size for the layout item, which prevents it from being freely resized.
 
virtual void setMinimumSize (const QgsLayoutSize &size)
 Sets the minimum allowed size for the layout item.
 
QgsLayoutPoint topLeftToReferencePoint (const QgsLayoutPoint &point) const
 Returns the position for the reference point of the item, if the top-left of the item was placed at the specified point.
 
- Protected Member Functions inherited from QgsLayoutObject
bool readObjectPropertiesFromElement (const QDomElement &parentElement, const QDomDocument &document, const QgsReadWriteContext &context)
 Sets object properties from a DOM element.
 
bool writeObjectPropertiesToElement (QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const
 Stores object properties within an XML DOM element.
 

Friends

class QgsCompositionConverter
 
class QgsGeospatialPdfRenderedFeatureHandler
 
class QgsLayoutExporter
 
class QgsLayoutItemLegend
 
class QgsLayoutItemMapGrid
 
class QgsLayoutItemMapOverview
 
class TestQgsLayoutMap
 

Additional Inherited Members

- Protected Attributes inherited from QgsLayoutObject
QgsObjectCustomProperties mCustomProperties
 Custom properties for object.
 
QgsPropertyCollection mDataDefinedProperties
 
QPointer< QgsLayoutmLayout
 
- Properties inherited from QgsLayoutItem
bool locked
 

Detailed Description

Layout graphical items for displaying a map.

Definition at line 317 of file qgslayoutitemmap.h.

Member Typedef Documentation

◆ MapItemFlags

Definition at line 356 of file qgslayoutitemmap.h.

Member Enumeration Documentation

◆ AtlasScalingMode

Scaling modes used for the serial rendering (atlas)

Enumerator
Fixed 

The current scale of the map is used for each feature of the atlas.

Predefined 

A scale is chosen from the predefined scales.

The smallest scale from the list of scales where the atlas feature is fully visible is chosen.

See also
QgsAtlasComposition::setPredefinedScales.
Note
This mode is only valid for polygon or line atlas coverage layers
Auto 

The extent is adjusted so that each feature is fully visible.

A margin is applied around the center

See also
setAtlasMargin
Note
This mode is only valid for polygon or line atlas coverage layers

Definition at line 327 of file qgslayoutitemmap.h.

◆ MapItemFlag

Various flags that affect drawing of map items.

Since
QGIS 3.6
Enumerator
ShowPartialLabels 

Whether to draw labels which are partially outside of the map view.

ShowUnplacedLabels 

Whether to render unplaced labels in the map view.

Definition at line 351 of file qgslayoutitemmap.h.

Constructor & Destructor Documentation

◆ QgsLayoutItemMap()

QgsLayoutItemMap::QgsLayoutItemMap ( QgsLayout layout)
explicit

Constructor for QgsLayoutItemMap, with the specified parent layout.

Definition at line 50 of file qgslayoutitemmap.cpp.

◆ ~QgsLayoutItemMap()

QgsLayoutItemMap::~QgsLayoutItemMap ( )
override

Definition at line 96 of file qgslayoutitemmap.cpp.

Member Function Documentation

◆ accept()

bool QgsLayoutItemMap::accept ( QgsStyleEntityVisitorInterface visitor) const
overridevirtual

Accepts the specified style entity visitor, causing it to visit all style entities associated with the layout item.

Returns true if the visitor should continue visiting other objects, or false if visiting should be canceled.

Since
QGIS 3.10

Reimplemented from QgsLayoutItem.

Definition at line 2001 of file qgslayoutitemmap.cpp.

◆ addLabelBlockingItem()

void QgsLayoutItemMap::addLabelBlockingItem ( QgsLayoutItem item)

Sets the specified layout item as a "label blocking item" for this map.

Items which are marked as label blocking items prevent any map labels from being placed in the area of the map item covered by the item.

See also
removeLabelBlockingItem()
isLabelBlockingItem()
Since
QGIS 3.6

Definition at line 1976 of file qgslayoutitemmap.cpp.

◆ addRenderedFeatureHandler()

void QgsLayoutItemMap::addRenderedFeatureHandler ( QgsRenderedFeatureHandlerInterface handler)

Adds a rendered feature handler to use while rendering the map.

Ownership of handler is NOT transferred, and it is the caller's responsibility to ensure that the handler exists for as long as it is registered with the map item.

Callers should call removeRenderedFeatureHandler() to remove the handler before destroying the handler.

See also
removeRenderedFeatureHandler()
Since
QGIS 3.10

Definition at line 2031 of file qgslayoutitemmap.cpp.

◆ assignFreeId()

void QgsLayoutItemMap::assignFreeId ( )

Sets the map id() to a number not yet used in the layout.

The existing id() is kept if it is not in use.

Definition at line 122 of file qgslayoutitemmap.cpp.

◆ atlasClippingSettings()

QgsLayoutItemMapAtlasClippingSettings * QgsLayoutItemMap::atlasClippingSettings ( )
inline

Returns the map's atlas clipping settings.

Since
QGIS 3.16

Definition at line 857 of file qgslayoutitemmap.h.

◆ atlasDriven()

bool QgsLayoutItemMap::atlasDriven ( ) const
inline

Returns whether the map extent is set to follow the current atlas feature.

Returns
true if map will follow the current atlas feature.
See also
setAtlasDriven
atlasScalingMode

Definition at line 638 of file qgslayoutitemmap.h.

◆ atlasMargin()

double QgsLayoutItemMap::atlasMargin ( QgsLayoutObject::PropertyValueType  valueType = QgsLayoutObject::EvaluatedValue)

Returns the margin size (percentage) used when the map is in atlas mode.

Parameters
valueTypecontrols whether the returned value is the user specified atlas margin, or the current evaluated atlas margin (which may be affected by data driven atlas margin settings).
Returns
margin size in percentage to leave around the atlas feature's extent
Note
this is only used if atlasScalingMode() is Auto.
See also
atlasScalingMode
setAtlasMargin

Definition at line 624 of file qgslayoutitemmap.cpp.

◆ atlasScalingMode()

AtlasScalingMode QgsLayoutItemMap::atlasScalingMode ( ) const
inline

Returns the current atlas scaling mode.

This controls how the map's extents are calculated for the current atlas feature when an atlas composition is enabled.

Returns
the current scaling mode
Note
this parameter is only used if atlasDriven() is true
See also
setAtlasScalingMode
atlasDriven

Definition at line 657 of file qgslayoutitemmap.h.

◆ boundingRect()

QRectF QgsLayoutItemMap::boundingRect ( ) const
overrideprotected

Definition at line 1875 of file qgslayoutitemmap.cpp.

◆ containsAdvancedEffects()

bool QgsLayoutItemMap::containsAdvancedEffects ( ) const
overridevirtual

Returns true if the item contains contents with blend modes or transparency effects which can only be reproduced by rastering the item.

Subclasses should ensure that implemented overrides of this method also check the base class result.

See also
requiresRasterization()

Reimplemented from QgsLayoutItem.

Definition at line 567 of file qgslayoutitemmap.cpp.

◆ containsWmsLayer()

bool QgsLayoutItemMap::containsWmsLayer ( ) const

Returns true if the map contains a WMS layer.

Definition at line 491 of file qgslayoutitemmap.cpp.

◆ create()

QgsLayoutItemMap * QgsLayoutItemMap::create ( QgsLayout layout)
static

Returns a new map item for the specified layout.

The caller takes responsibility for deleting the returned object.

Definition at line 160 of file qgslayoutitemmap.cpp.

◆ createExpressionContext()

QgsExpressionContext QgsLayoutItemMap::createExpressionContext ( ) const
overridevirtual

This method needs to be reimplemented in all classes which implement this interface and return an expression context.

Reimplemented from QgsLayoutItem.

Definition at line 1880 of file qgslayoutitemmap.cpp.

◆ crs()

QgsCoordinateReferenceSystem QgsLayoutItemMap::crs ( ) const

Returns coordinate reference system used for rendering the map.

This will match the presetCrs() if that is set, or if a preset CRS is not set then the map's CRS will follow the composition's project's CRS.

See also
presetCrs()
setCrs()

Definition at line 318 of file qgslayoutitemmap.cpp.

◆ crsChanged

void QgsLayoutItemMap::crsChanged ( )
signal

Emitted when the map's coordinate reference system is changed.

Since
QGIS 3.18

◆ displayName()

QString QgsLayoutItemMap::displayName ( ) const
overridevirtual

Gets item display name.

This is the item's id if set, and if not, a user-friendly string identifying item type.

See also
id()
setId()

Reimplemented from QgsLayoutItem.

Definition at line 150 of file qgslayoutitemmap.cpp.

◆ draw()

void QgsLayoutItemMap::draw ( QgsLayoutItemRenderContext context)
overrideprotectedvirtual

Draws the item's contents using the specified item render context.

Note that the context's painter has been scaled so that painter units are pixels. Use the QgsRenderContext methods to convert from millimeters or other units to the painter's units.

Implements QgsLayoutItem.

Definition at line 690 of file qgslayoutitemmap.cpp.

◆ drawAnnotations()

bool QgsLayoutItemMap::drawAnnotations ( ) const
inline

Returns whether annotations are drawn within the map.

See also
setDrawAnnotations()

Definition at line 629 of file qgslayoutitemmap.h.

◆ estimatedFrameBleed()

double QgsLayoutItemMap::estimatedFrameBleed ( ) const
overridevirtual

Returns the estimated amount the item's frame bleeds outside the item's actual rectangle.

For instance, if the item has a 2mm frame stroke, then 1mm of this frame is drawn outside the item's rect. In this case the return value will be 1.0.

Returned values are in layout units.

See also
rectWithFrame()

Reimplemented from QgsLayoutItem.

Definition at line 669 of file qgslayoutitemmap.cpp.

◆ exportLayerBehavior()

QgsLayoutItem::ExportLayerBehavior QgsLayoutItemMap::exportLayerBehavior ( ) const
overridevirtual

Returns the behavior of this item during exporting to layered exports (e.g.

SVG or geospatial PDF).

See also
numberExportLayers()
exportLayerDetails()
Since
QGIS 3.10

Reimplemented from QgsLayoutItem.

Definition at line 1402 of file qgslayoutitemmap.cpp.

◆ exportLayerDetails()

QgsLayoutItem::ExportLayerDetail QgsLayoutItemMap::exportLayerDetails ( ) const
overridevirtual

Returns the details for the specified current export layer.

Only valid between calls to startLayeredExport() and stopLayeredExport()

Since
QGIS 3.10

Reimplemented from QgsLayoutItem.

Definition at line 1407 of file qgslayoutitemmap.cpp.

◆ extent()

QgsRectangle QgsLayoutItemMap::extent ( ) const

Returns the current map extent.

See also
visibleExtentPolygon()
extentChanged()

Definition at line 291 of file qgslayoutitemmap.cpp.

◆ extentChanged

void QgsLayoutItemMap::extentChanged ( )
signal

Emitted when the map's extent changes.

See also
setExtent()
extent()

◆ finalizeRestoreFromXml()

void QgsLayoutItemMap::finalizeRestoreFromXml ( )
overridevirtual

Called after all pending items have been restored from XML.

Items can use this method to run steps which must take place after all items have been restored to the layout, such as connecting to signals emitted by other items, which may not have existed in the layout at the time readXml() was called. E.g. a scalebar can use this to connect to its linked map item after restoration from XML.

See also
readXml()

Reimplemented from QgsLayoutItem.

Definition at line 1850 of file qgslayoutitemmap.cpp.

◆ followVisibilityPreset()

bool QgsLayoutItemMap::followVisibilityPreset ( ) const
inline

Returns whether the map should follow a map theme.

If true, the layers and layer styles will be used from given preset name (configured with setFollowVisibilityPresetName() method). This means when preset's settings are changed, the new settings are automatically picked up next time when rendering, without having to explicitly update them. At most one of the flags keepLayerSet() and followVisibilityPreset() should be enabled at any time since they are alternative approaches - if both are enabled, following map theme has higher priority. If neither is enabled (or if preset name is not set), map will use the same configuration as the map canvas uses.

Definition at line 565 of file qgslayoutitemmap.h.

◆ followVisibilityPresetName()

QString QgsLayoutItemMap::followVisibilityPresetName ( ) const
inline

Preset name that decides which layers and layer styles are used for map rendering.

It is only used when followVisibilityPreset() returns true.

See also
setFollowVisibilityPresetName()
themeChanged()

Definition at line 579 of file qgslayoutitemmap.h.

◆ framePath()

QPainterPath QgsLayoutItemMap::framePath ( ) const
overrideprotectedvirtual

Returns the path to use when drawing the item's frame or background.

See also
drawFrame()
drawBackground()
Since
QGIS 3.16

Reimplemented from QgsLayoutItem.

Definition at line 1067 of file qgslayoutitemmap.cpp.

◆ grid()

QgsLayoutItemMapGrid * QgsLayoutItemMap::grid ( )

Returns the map item's first grid.

This is a convenience function.

See also
grids()

Definition at line 649 of file qgslayoutitemmap.cpp.

◆ grids()

QgsLayoutItemMapGridStack * QgsLayoutItemMap::grids ( )
inline

Returns the map item's grid stack, which is used to control how grids are drawn over the map's contents.

See also
grid()

Definition at line 696 of file qgslayoutitemmap.h.

◆ icon()

QIcon QgsLayoutItemMap::icon ( ) const
overridevirtual

Returns the item's icon.

Reimplemented from QgsLayoutItem.

Definition at line 112 of file qgslayoutitemmap.cpp.

◆ invalidateCache

void QgsLayoutItemMap::invalidateCache ( )
overrideslot

Definition at line 2083 of file qgslayoutitemmap.cpp.

◆ isDrawing()

bool QgsLayoutItemMap::isDrawing ( ) const
inlineprotected

True if a draw is already in progress.

Definition at line 920 of file qgslayoutitemmap.h.

◆ isLabelBlockingItem()

bool QgsLayoutItemMap::isLabelBlockingItem ( QgsLayoutItem item) const

Returns true if the specified item is a "label blocking item".

Items which are marked as label blocking items prevent any map labels from being placed in the area of the map item covered by the item.

See also
addLabelBlockingItem()
removeLabelBlockingItem()
Since
QGIS 3.6

Definition at line 1991 of file qgslayoutitemmap.cpp.

◆ itemClippingSettings()

QgsLayoutItemMapItemClipPathSettings * QgsLayoutItemMap::itemClippingSettings ( )
inline

Returns the map's item based clip path settings.

Since
QGIS 3.16

Definition at line 864 of file qgslayoutitemmap.h.

◆ itemFlags()

QgsLayoutItem::Flags QgsLayoutItemMap::itemFlags ( ) const
overridevirtual

Returns the item's flags, which indicate how the item behaves.

Since
QGIS 3.4.3

Reimplemented from QgsLayoutItem.

Definition at line 117 of file qgslayoutitemmap.cpp.

◆ keepLayerSet()

bool QgsLayoutItemMap::keepLayerSet ( ) const
inline

Returns whether a stored layer set should be used or the current layer set from the project associated with the layout.

This is just a GUI flag, and itself does not change which layers are rendered in the map. Instead, use setLayers() to control which layers are rendered.

See also
setKeepLayerSet()
layers()

Definition at line 495 of file qgslayoutitemmap.h.

◆ keepLayerStyles()

bool QgsLayoutItemMap::keepLayerStyles ( ) const
inline

Returns whether current styles of layers should be overridden by previously stored styles.

See also
setKeepLayerStyles()

Definition at line 530 of file qgslayoutitemmap.h.

◆ labelMargin()

QgsLayoutMeasurement QgsLayoutItemMap::labelMargin ( ) const

Returns the margin from the map edges in which no labels may be placed.

If the margin is 0 then labels can be placed right up to the edge (and possibly overlapping the edge) of the map.

See also
setLabelMargin()
Since
QGIS 3.6

Definition at line 2389 of file qgslayoutitemmap.cpp.

◆ layers()

QList< QgsMapLayer * > QgsLayoutItemMap::layers ( ) const

Returns the stored layer set.

If empty, the current project layers will be used instead.

See also
setLayers()
keepLayerSet()

Definition at line 336 of file qgslayoutitemmap.cpp.

◆ layersToRender()

QList< QgsMapLayer * > QgsLayoutItemMap::layersToRender ( const QgsExpressionContext context = nullptr) const

Returns a list of the layers which will be rendered within this map item, considering any locked layers, linked map theme, and data defined settings.

Definition at line 2420 of file qgslayoutitemmap.cpp.

◆ layerStyleOverrides()

QMap< QString, QString > QgsLayoutItemMap::layerStyleOverrides ( ) const
inline

Returns stored overrides of styles for layers.

See also
setLayerStyleOverrides()

Definition at line 542 of file qgslayoutitemmap.h.

◆ layerStyleOverridesChanged

void QgsLayoutItemMap::layerStyleOverridesChanged ( )
signal

Emitted when layer style overrides are changed... a means to let associated legend items know they should update.

◆ layoutToMapCoordsTransform()

QTransform QgsLayoutItemMap::layoutToMapCoordsTransform ( ) const

Creates a transform from layout coordinates to map coordinates.

Definition at line 2325 of file qgslayoutitemmap.cpp.

◆ mapFlags()

QgsLayoutItemMap::MapItemFlags QgsLayoutItemMap::mapFlags ( ) const

Returns the map item's flags, which control how the map content is drawn.

See also
setMapFlags()
Since
QGIS 3.6

Definition at line 1675 of file qgslayoutitemmap.cpp.

◆ mapRotation()

double QgsLayoutItemMap::mapRotation ( QgsLayoutObject::PropertyValueType  valueType = QgsLayoutObject::EvaluatedValue) const

Returns the rotation used for drawing the map within the layout item, in degrees clockwise.

Parameters
valueTypecontrols whether the returned value is the user specified rotation, or the current evaluated rotation (which may be affected by data driven rotation settings).
See also
setMapRotation()
mapRotationChanged()

Definition at line 607 of file qgslayoutitemmap.cpp.

◆ mapRotationChanged

void QgsLayoutItemMap::mapRotationChanged ( double  newRotation)
signal

Emitted when the map's rotation changes.

See also
setMapRotation()
mapRotation()

◆ mapSettings()

QgsMapSettings QgsLayoutItemMap::mapSettings ( const QgsRectangle extent,
QSizeF  size,
double  dpi,
bool  includeLayerSettings 
) const

Returns map settings that will be used for drawing of the map.

If includeLayerSettings is true, than settings specifically relating to map layers and map layer styles will be calculated. This can be expensive to calculate, so if they are not required in the map settings (e.g. for map settings which are used for scale related calculations only) then includeLayerSettings should be false.

Definition at line 1685 of file qgslayoutitemmap.cpp.

◆ mapToItemCoords()

QPointF QgsLayoutItemMap::mapToItemCoords ( QPointF  mapCoords) const
protected

Transforms map coordinates to item coordinates (considering rotation and move offset)

Definition at line 2041 of file qgslayoutitemmap.cpp.

◆ mapUnitsToLayoutUnits()

double QgsLayoutItemMap::mapUnitsToLayoutUnits ( ) const

Returns the conversion factor from map units to layout units.

This is calculated using the width of the map item and the width of the current visible map extent.

Definition at line 1956 of file qgslayoutitemmap.cpp.

◆ moveContent()

void QgsLayoutItemMap::moveContent ( double  dx,
double  dy 
)
overridevirtual

Moves the content of the item, by a specified dx and dy in layout units.

The default implementation has no effect.

See also
setMoveContentPreviewOffset()
zoomContent()

Reimplemented from QgsLayoutItem.

Definition at line 415 of file qgslayoutitemmap.cpp.

◆ nextExportPart()

bool QgsLayoutItemMap::nextExportPart ( )
overridevirtual

Moves to the next export part for a multi-layered export item, during a multi-layered export.

See also
startLayeredExport()
stopLayeredExport()
Since
QGIS 3.10

Reimplemented from QgsLayoutItem.

Definition at line 1319 of file qgslayoutitemmap.cpp.

◆ numberExportLayers()

int QgsLayoutItemMap::numberExportLayers ( ) const
overridevirtual

Returns the number of layers that this item requires for exporting during layered exports (e.g.

SVG). Returns 0 if this item is to be placed on the same layer as the previous item, 1 if it should be placed on its own layer, and >1 if it requires multiple export layers.

Items which require multiply layers should check QgsLayoutContext::currentExportLayer() during their rendering to determine which layer should be drawn.

See also
exportLayerBehavior()
exportLayerDetails()
Deprecated:
QGIS 3.40. Use nextExportPart() and exportLayerBehavior() instead.

Reimplemented from QgsLayoutItem.

Definition at line 1294 of file qgslayoutitemmap.cpp.

◆ overview()

QgsLayoutItemMapOverview * QgsLayoutItemMap::overview ( )

Returns the map item's first overview.

This is a convenience function.

Returns
pointer to first overview for map item
See also
overviews()

Definition at line 659 of file qgslayoutitemmap.cpp.

◆ overviews()

QgsLayoutItemMapOverviewStack * QgsLayoutItemMap::overviews ( )
inline

Returns the map item's overview stack, which is used to control how overviews are drawn over the map's contents.

Returns
pointer to overview stack
See also
overview()

Definition at line 710 of file qgslayoutitemmap.h.

◆ paint()

void QgsLayoutItemMap::paint ( QPainter *  painter,
const QStyleOptionGraphicsItem *  itemStyle,
QWidget *  pWidget 
)
override

Definition at line 1078 of file qgslayoutitemmap.cpp.

◆ preparedForAtlas

void QgsLayoutItemMap::preparedForAtlas ( )
signal

Emitted when the map has been prepared for atlas rendering, just before actual rendering.

◆ presetCrs()

QgsCoordinateReferenceSystem QgsLayoutItemMap::presetCrs ( ) const
inline

Returns the map's preset coordinate reference system.

If set, this CRS will be used to render the map regardless of any project CRS setting. If the returned CRS is not valid then the project CRS will be used to render the map.

See also
crs()
setCrs()

Definition at line 476 of file qgslayoutitemmap.h.

◆ previewLabelingResults()

QgsLabelingResults * QgsLayoutItemMap::previewLabelingResults ( ) const

Returns the labeling results of the most recent preview map render.

May be nullptr if no map preview has been rendered in the item.

The map item retains ownership of the returned results.

Since
QGIS 3.20

Definition at line 1996 of file qgslayoutitemmap.cpp.

◆ previewRefreshed

void QgsLayoutItemMap::previewRefreshed ( )
signal

Emitted whenever the item's map preview has been refreshed.

Since
QGIS 3.20

◆ readPropertiesFromElement()

bool QgsLayoutItemMap::readPropertiesFromElement ( const QDomElement &  element,
const QDomDocument &  document,
const QgsReadWriteContext context 
)
overrideprotectedvirtual

Sets item state from a DOM element.

Parameters
elementis the DOM element for the item
documentDOM document
contextread write context

Note that item subclasses should not rely on all other items being present in the layout at the time this method is called. Instead, any connections and links to other items must be made in the finalizeRestoreFromXml() method. E.g. when restoring a scalebar, the connection to the linked map's signals should be implemented in finalizeRestoreFromXml(), not readPropertiesFromElement().

See also
writePropertiesToElement()
readXml()

Reimplemented from QgsLayoutItem.

Definition at line 852 of file qgslayoutitemmap.cpp.

◆ refresh

void QgsLayoutItemMap::refresh ( )
overrideslot

Definition at line 165 of file qgslayoutitemmap.cpp.

◆ refreshDataDefinedProperty

void QgsLayoutItemMap::refreshDataDefinedProperty ( QgsLayoutObject::DataDefinedProperty  property = QgsLayoutObject::DataDefinedProperty::AllProperties)
overrideslot

Definition at line 2121 of file qgslayoutitemmap.cpp.

◆ removeLabelBlockingItem()

void QgsLayoutItemMap::removeLabelBlockingItem ( QgsLayoutItem item)

Removes the specified layout item from the map's "label blocking items".

Items which are marked as label blocking items prevent any map labels from being placed in the area of the map item covered by the item.

See also
addLabelBlockingItem()
isLabelBlockingItem()
Since
QGIS 3.6

Definition at line 1984 of file qgslayoutitemmap.cpp.

◆ removeRenderedFeatureHandler()

void QgsLayoutItemMap::removeRenderedFeatureHandler ( QgsRenderedFeatureHandlerInterface handler)

Removes a previously added rendered feature handler.

See also
addRenderedFeatureHandler()
Since
QGIS 3.10

Definition at line 2036 of file qgslayoutitemmap.cpp.

◆ renderingErrors()

QgsMapRendererJob::Errors QgsLayoutItemMap::renderingErrors ( ) const
inline

Returns map rendering errors.

Returns
list of errors

Definition at line 812 of file qgslayoutitemmap.h.

◆ requestedExtent()

QgsRectangle QgsLayoutItemMap::requestedExtent ( ) const
protected

Calculates the extent to request and the yShift of the top-left point in case of rotation.

Definition at line 2062 of file qgslayoutitemmap.cpp.

◆ requiresRasterization()

bool QgsLayoutItemMap::requiresRasterization ( ) const
overridevirtual

Returns true if the item is drawn in such a way that forces the whole layout to be rasterized when exporting to vector formats.

See also
containsAdvancedEffects()

Reimplemented from QgsLayoutItem.

Definition at line 504 of file qgslayoutitemmap.cpp.

◆ scale()

double QgsLayoutItemMap::scale ( ) const

Returns the map scale.

The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

See also
setScale()

Definition at line 176 of file qgslayoutitemmap.cpp.

◆ setAtlasDriven()

void QgsLayoutItemMap::setAtlasDriven ( bool  enabled)

Sets whether the map extent will follow the current atlas feature.

Parameters
enabledset to true if the map extents should be set by the current atlas feature.
See also
atlasDriven
setAtlasScalingMode

Definition at line 612 of file qgslayoutitemmap.cpp.

◆ setAtlasMargin()

void QgsLayoutItemMap::setAtlasMargin ( double  margin)
inline

Sets the margin size (percentage) used when the map is in atlas mode.

Parameters
marginsize in percentage to leave around the atlas feature's extent
Note
this is only used if atlasScalingMode() is Auto.
See also
atlasScalingMode
atlasMargin

Definition at line 689 of file qgslayoutitemmap.h.

◆ setAtlasScalingMode()

void QgsLayoutItemMap::setAtlasScalingMode ( AtlasScalingMode  mode)
inline

Sets the current atlas scaling mode.

This controls how the map's extents are calculated for the current atlas feature when an atlas composition is enabled.

Parameters
modeatlas scaling mode to set
Note
this parameter is only used if atlasDriven() is true
See also
atlasScalingMode
atlasDriven

Definition at line 668 of file qgslayoutitemmap.h.

◆ setCrs()

void QgsLayoutItemMap::setCrs ( const QgsCoordinateReferenceSystem crs)

Sets the map's preset crs (coordinate reference system).

If a valid CRS is set, this CRS will be used to render the map regardless of any project CRS setting. If the CRS is not valid then the project CRS will be used to render the map.

See also
crs()
presetCrs()

Definition at line 327 of file qgslayoutitemmap.cpp.

◆ setDrawAnnotations()

void QgsLayoutItemMap::setDrawAnnotations ( bool  draw)
inline

Sets whether annotations are drawn within the map.

See also
drawAnnotations()

Definition at line 623 of file qgslayoutitemmap.h.

◆ setExtent()

void QgsLayoutItemMap::setExtent ( const QgsRectangle extent)

Sets a new extent for the map.

This method may change the width or height of the map item to ensure that the extent exactly matches the specified extent, with no overlap or margin. This method implicitly alters the map scale.

See also
zoomToExtent()
extentChanged()

Definition at line 221 of file qgslayoutitemmap.cpp.

◆ setFollowVisibilityPreset()

void QgsLayoutItemMap::setFollowVisibilityPreset ( bool  follow)

Sets whether the map should follow a map theme.

See followVisibilityPreset() for more details.

Definition at line 394 of file qgslayoutitemmap.cpp.

◆ setFollowVisibilityPresetName()

void QgsLayoutItemMap::setFollowVisibilityPresetName ( const QString &  name)

Sets preset name for map rendering.

See followVisibilityPresetName() for more details.

See also
followVisibilityPresetName()
themeChanged()

Definition at line 405 of file qgslayoutitemmap.cpp.

◆ setFrameStrokeWidth()

void QgsLayoutItemMap::setFrameStrokeWidth ( QgsLayoutMeasurement  width)
overridevirtual

Sets the frame stroke width.

See also
frameStrokeWidth()
setFrameEnabled()
setFrameJoinStyle()
setFrameStrokeColor()

Reimplemented from QgsLayoutItem.

Definition at line 1529 of file qgslayoutitemmap.cpp.

◆ setKeepLayerSet()

void QgsLayoutItemMap::setKeepLayerSet ( bool  enabled)
inline

Sets whether the stored layer set should be used or the current layer set of the associated project.

This is just a GUI flag, and itself does not change which layers are rendered in the map. Instead, use setLayers() to control which layers are rendered.

See also
keepLayerSet()
layers()

Definition at line 505 of file qgslayoutitemmap.h.

◆ setKeepLayerStyles()

void QgsLayoutItemMap::setKeepLayerStyles ( bool  enabled)
inline

Sets whether current styles of layers should be overridden by previously stored styles.

See also
keepLayerStyles()

Definition at line 536 of file qgslayoutitemmap.h.

◆ setLabelMargin()

void QgsLayoutItemMap::setLabelMargin ( const QgsLayoutMeasurement margin)

Sets the margin from the map edges in which no labels may be placed.

If the margin is 0 then labels can be placed right up to the edge (and possibly overlapping the edge) of the map.

See also
labelMargin()
Since
QGIS 3.6

Definition at line 2394 of file qgslayoutitemmap.cpp.

◆ setLayers()

void QgsLayoutItemMap::setLayers ( const QList< QgsMapLayer * > &  layers)

Sets the stored layers set.

If empty, the current project layers will be used. If the map item is set to follow a map theme (via followVisibilityPreset() and followVisibilityPresetName() ), then this method will have no effect and the layers rendered in the map will always follow the map theme.

See also
layers()
keepLayerSet()
followVisibilityPreset()
followVisibilityPresetName()

Definition at line 341 of file qgslayoutitemmap.cpp.

◆ setLayerStyleOverrides()

void QgsLayoutItemMap::setLayerStyleOverrides ( const QMap< QString, QString > &  overrides)

Sets the stored overrides of styles for layers.

See also
layerStyleOverrides()

Definition at line 370 of file qgslayoutitemmap.cpp.

◆ setMapFlags()

void QgsLayoutItemMap::setMapFlags ( QgsLayoutItemMap::MapItemFlags  flags)

Sets the map item's flags, which control how the map content is drawn.

See also
mapFlags()
Since
QGIS 3.6

Definition at line 1680 of file qgslayoutitemmap.cpp.

◆ setMapRotation()

void QgsLayoutItemMap::setMapRotation ( double  rotation)

Sets the rotation for the map - this does not affect the layout item shape, only the way the map is drawn within the item.

Rotation is in degrees, clockwise.

See also
mapRotation()
mapRotationChanged()

Definition at line 598 of file qgslayoutitemmap.cpp.

◆ setMoveContentPreviewOffset()

void QgsLayoutItemMap::setMoveContentPreviewOffset ( double  dx,
double  dy 
)
overridevirtual

Sets temporary offset for the item, by a specified dx and dy in layout units.

This is useful for live updates when moving item content in a QgsLayoutView. The default implementation has no effect.

See also
moveContent()

Reimplemented from QgsLayoutItem.

Definition at line 1869 of file qgslayoutitemmap.cpp.

◆ setScale()

void QgsLayoutItemMap::setScale ( double  scale,
bool  forceUpdate = true 
)

Sets new map scale and changes only the map extent.

The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.

See also
scale()

Definition at line 188 of file qgslayoutitemmap.cpp.

◆ setZRange()

void QgsLayoutItemMap::setZRange ( const QgsDoubleRange range)

Sets the map's z range, which is used to filter the map's content to only display features within the specified z range.

Note
This is only considered when zRangeEnabled() is true.
See also
zRange()
setZRangeEnabled()
Since
QGIS 3.38

Definition at line 2356 of file qgslayoutitemmap.cpp.

◆ setZRangeEnabled()

void QgsLayoutItemMap::setZRangeEnabled ( bool  enabled)

Sets whether the z range is enabled (i.e.

whether the map will be filtered to content within the zRange().)

See also
zRangeEnabled()
Since
QGIS 3.38

Definition at line 2341 of file qgslayoutitemmap.cpp.

◆ startLayeredExport()

void QgsLayoutItemMap::startLayeredExport ( )
overridevirtual

Starts a multi-layer export operation.

See also
stopLayeredExport()
nextExportPart()
Since
QGIS 3.10

Reimplemented from QgsLayoutItem.

Definition at line 1304 of file qgslayoutitemmap.cpp.

◆ stopLayeredExport()

void QgsLayoutItemMap::stopLayeredExport ( )
overridevirtual

Stops a multi-layer export operation.

See also
startLayeredExport()
nextExportPart()
Since
QGIS 3.10

Reimplemented from QgsLayoutItem.

Definition at line 1312 of file qgslayoutitemmap.cpp.

◆ storeCurrentLayerStyles()

void QgsLayoutItemMap::storeCurrentLayerStyles ( )

Stores the current project layer styles into style overrides.

Definition at line 380 of file qgslayoutitemmap.cpp.

◆ themeChanged

void QgsLayoutItemMap::themeChanged ( const QString &  theme)
signal

Emitted when the map's associated theme is changed.

Note
This signal is not emitted when the definition of the theme changes, only the map is linked to a different theme then it previously was.
Since
QGIS 3.14

◆ transformedMapPolygon()

QPolygonF QgsLayoutItemMap::transformedMapPolygon ( ) const
protected

Returns extent that considers rotation and shift with mOffsetX / mOffsetY.

Definition at line 1966 of file qgslayoutitemmap.cpp.

◆ type()

int QgsLayoutItemMap::type ( ) const
override

Definition at line 107 of file qgslayoutitemmap.cpp.

◆ updateBoundingRect

void QgsLayoutItemMap::updateBoundingRect ( )
slot

Updates the bounding rect of this item. Call this function before doing any changes related to annotation out of the map rectangle.

Definition at line 2092 of file qgslayoutitemmap.cpp.

◆ visibleExtentPolygon()

QPolygonF QgsLayoutItemMap::visibleExtentPolygon ( ) const

Returns a polygon representing the current visible map extent, considering map extents and rotation.

If the map rotation is 0, the result is the same as currentMapExtent

Returns
polygon with the four corner points representing the visible map extent. The points are clockwise, starting at the top-left point
See also
extent()

Definition at line 313 of file qgslayoutitemmap.cpp.

◆ writePropertiesToElement()

bool QgsLayoutItemMap::writePropertiesToElement ( QDomElement &  element,
QDomDocument &  document,
const QgsReadWriteContext context 
) const
overrideprotectedvirtual

Stores item state within an XML DOM element.

Parameters
elementis the DOM element to store the item's properties in
documentDOM document
contextread write context
See also
writeXml()
readPropertiesFromElement()

Reimplemented from QgsLayoutItem.

Definition at line 694 of file qgslayoutitemmap.cpp.

◆ zoomContent()

void QgsLayoutItemMap::zoomContent ( double  factor,
QPointF  point 
)
overridevirtual

Zooms content of item.

Does nothing by default.

Parameters
factorzoom factor, where > 1 results in a zoom in and < 1 results in a zoom out
pointitem point for zoom center
See also
moveContent()

Reimplemented from QgsLayoutItem.

Definition at line 436 of file qgslayoutitemmap.cpp.

◆ zoomToExtent()

void QgsLayoutItemMap::zoomToExtent ( const QgsRectangle extent)

Zooms the map so that the specified extent is fully visible within the map item.

This method will not change the width or height of the map, and may result in an overlap or margin from the specified extent. This method implicitly alters the map scale.

See also
setExtent()

Definition at line 243 of file qgslayoutitemmap.cpp.

◆ zRange()

QgsDoubleRange QgsLayoutItemMap::zRange ( ) const

Returns the map's z range, which is used to filter the map's content to only display features within the specified z range.

Note
This is only considered when zRangeEnabled() is true.
See also
setZRange()
zRangeEnabled()
Since
QGIS 3.38

Definition at line 2351 of file qgslayoutitemmap.cpp.

◆ zRangeEnabled()

bool QgsLayoutItemMap::zRangeEnabled ( ) const

Returns whether the z range is enabled (i.e.

whether the map will be filtered to content within the zRange().)

See also
setZRangeEnabled()
zRange()
Since
QGIS 3.38

Definition at line 2346 of file qgslayoutitemmap.cpp.

Friends And Related Symbol Documentation

◆ QgsCompositionConverter

friend class QgsCompositionConverter
friend

Definition at line 1247 of file qgslayoutitemmap.h.

◆ QgsGeospatialPdfRenderedFeatureHandler

friend class QgsGeospatialPdfRenderedFeatureHandler
friend

Definition at line 1248 of file qgslayoutitemmap.h.

◆ QgsLayoutExporter

friend class QgsLayoutExporter
friend

Definition at line 1249 of file qgslayoutitemmap.h.

◆ QgsLayoutItemLegend

friend class QgsLayoutItemLegend
friend

Definition at line 1245 of file qgslayoutitemmap.h.

◆ QgsLayoutItemMapGrid

friend class QgsLayoutItemMapGrid
friend

Definition at line 1243 of file qgslayoutitemmap.h.

◆ QgsLayoutItemMapOverview

friend class QgsLayoutItemMapOverview
friend

Definition at line 1244 of file qgslayoutitemmap.h.

◆ TestQgsLayoutMap

friend class TestQgsLayoutMap
friend

Definition at line 1246 of file qgslayoutitemmap.h.


The documentation for this class was generated from the following files: