QGIS API Documentation 3.41.0-Master (45a0abf3bec)
|
Layout graphical items for displaying a map. More...
#include <qgslayoutitemmap.h>
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. | |
QgsLayoutItemMapAtlasClippingSettings * | atlasClippingSettings () |
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. | |
QgsLayoutItemMapGrid * | grid () |
Returns the map item's first grid. | |
QgsLayoutItemMapGridStack * | grids () |
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". | |
QgsLayoutItemMapItemClipPathSettings * | itemClippingSettings () |
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. | |
QgsLayoutItemMapOverview * | overview () |
Returns the map item's first overview. | |
QgsLayoutItemMapOverviewStack * | overviews () |
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. | |
QgsLabelingResults * | previewLabelingResults () 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. | |
QgsAbstractLayoutUndoCommand * | createCommand (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. | |
QgsLayoutItemGroup * | parentGroup () 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. | |
QgsPropertyCollection & | dataDefinedProperties () |
Returns a reference to the object's property collection, used for data defined overrides. | |
const QgsPropertyCollection & | dataDefinedProperties () const |
Returns a reference to the object's property collection, used for data defined overrides. | |
QgsLayout * | layout () |
Returns the layout the object is attached to. | |
const QgsLayout * | layout () 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 QgsDateTimeRange & | temporalRange () const |
Returns the datetime range for the object. | |
Static Public Member Functions | |
static QgsLayoutItemMap * | create (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 QgsPropertiesDefinition & | propertyDefinitions () |
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< QgsLayout > | mLayout |
Properties inherited from QgsLayoutItem | |
bool | locked |
Layout graphical items for displaying a map.
Definition at line 317 of file qgslayoutitemmap.h.
typedef QFlags< MapItemFlag > QgsLayoutItemMap::MapItemFlags |
Definition at line 356 of file qgslayoutitemmap.h.
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.
|
Auto | The extent is adjusted so that each feature is fully visible. A margin is applied around the center
|
Definition at line 327 of file qgslayoutitemmap.h.
Various flags that affect drawing of map items.
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.
|
explicit |
Constructor for QgsLayoutItemMap, with the specified parent layout.
Definition at line 50 of file qgslayoutitemmap.cpp.
|
override |
Definition at line 96 of file qgslayoutitemmap.cpp.
|
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.
Reimplemented from QgsLayoutItem.
Definition at line 2001 of file qgslayoutitemmap.cpp.
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.
Definition at line 1976 of file qgslayoutitemmap.cpp.
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.
Definition at line 2031 of file qgslayoutitemmap.cpp.
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.
|
inline |
Returns the map's atlas clipping settings.
Definition at line 857 of file qgslayoutitemmap.h.
|
inline |
Returns whether the map extent is set to follow the current atlas feature.
true
if map will follow the current atlas feature. Definition at line 638 of file qgslayoutitemmap.h.
double QgsLayoutItemMap::atlasMargin | ( | QgsLayoutObject::PropertyValueType | valueType = QgsLayoutObject::EvaluatedValue | ) |
Returns the margin size (percentage) used when the map is in atlas mode.
valueType | controls 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). |
Definition at line 624 of file qgslayoutitemmap.cpp.
|
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.
true
Definition at line 657 of file qgslayoutitemmap.h.
|
overrideprotected |
Definition at line 1875 of file qgslayoutitemmap.cpp.
|
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.
Reimplemented from QgsLayoutItem.
Definition at line 567 of file qgslayoutitemmap.cpp.
bool QgsLayoutItemMap::containsWmsLayer | ( | ) | const |
Returns true
if the map contains a WMS layer.
Definition at line 491 of file qgslayoutitemmap.cpp.
|
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.
|
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.
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.
Definition at line 318 of file qgslayoutitemmap.cpp.
|
signal |
Emitted when the map's coordinate reference system is changed.
|
overridevirtual |
Gets item display name.
This is the item's id if set, and if not, a user-friendly string identifying item type.
Reimplemented from QgsLayoutItem.
Definition at line 150 of file qgslayoutitemmap.cpp.
|
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.
|
inline |
Returns whether annotations are drawn within the map.
Definition at line 629 of file qgslayoutitemmap.h.
|
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.
Reimplemented from QgsLayoutItem.
Definition at line 669 of file qgslayoutitemmap.cpp.
|
overridevirtual |
Returns the behavior of this item during exporting to layered exports (e.g.
SVG or geospatial PDF).
Reimplemented from QgsLayoutItem.
Definition at line 1402 of file qgslayoutitemmap.cpp.
|
overridevirtual |
Returns the details for the specified current export layer.
Only valid between calls to startLayeredExport() and stopLayeredExport()
Reimplemented from QgsLayoutItem.
Definition at line 1407 of file qgslayoutitemmap.cpp.
QgsRectangle QgsLayoutItemMap::extent | ( | ) | const |
Returns the current map extent.
Definition at line 291 of file qgslayoutitemmap.cpp.
|
signal |
Emitted when the map's extent changes.
|
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.
Reimplemented from QgsLayoutItem.
Definition at line 1850 of file qgslayoutitemmap.cpp.
|
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.
|
inline |
Preset name that decides which layers and layer styles are used for map rendering.
It is only used when followVisibilityPreset() returns true
.
Definition at line 579 of file qgslayoutitemmap.h.
|
overrideprotectedvirtual |
Returns the path to use when drawing the item's frame or background.
Reimplemented from QgsLayoutItem.
Definition at line 1067 of file qgslayoutitemmap.cpp.
QgsLayoutItemMapGrid * QgsLayoutItemMap::grid | ( | ) |
Returns the map item's first grid.
This is a convenience function.
Definition at line 649 of file qgslayoutitemmap.cpp.
|
inline |
Returns the map item's grid stack, which is used to control how grids are drawn over the map's contents.
Definition at line 696 of file qgslayoutitemmap.h.
|
overridevirtual |
Returns the item's icon.
Reimplemented from QgsLayoutItem.
Definition at line 112 of file qgslayoutitemmap.cpp.
|
overrideslot |
Definition at line 2083 of file qgslayoutitemmap.cpp.
|
inlineprotected |
True if a draw is already in progress.
Definition at line 920 of file qgslayoutitemmap.h.
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.
Definition at line 1991 of file qgslayoutitemmap.cpp.
|
inline |
Returns the map's item based clip path settings.
Definition at line 864 of file qgslayoutitemmap.h.
|
overridevirtual |
Returns the item's flags, which indicate how the item behaves.
Reimplemented from QgsLayoutItem.
Definition at line 117 of file qgslayoutitemmap.cpp.
|
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.
Definition at line 495 of file qgslayoutitemmap.h.
|
inline |
Returns whether current styles of layers should be overridden by previously stored styles.
Definition at line 530 of file qgslayoutitemmap.h.
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.
Definition at line 2389 of file qgslayoutitemmap.cpp.
QList< QgsMapLayer * > QgsLayoutItemMap::layers | ( | ) | const |
Returns the stored layer set.
If empty, the current project layers will be used instead.
Definition at line 336 of file qgslayoutitemmap.cpp.
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.
|
inline |
Returns stored overrides of styles for layers.
Definition at line 542 of file qgslayoutitemmap.h.
|
signal |
Emitted when layer style overrides are changed... a means to let associated legend items know they should update.
QTransform QgsLayoutItemMap::layoutToMapCoordsTransform | ( | ) | const |
Creates a transform from layout coordinates to map coordinates.
Definition at line 2325 of file qgslayoutitemmap.cpp.
QgsLayoutItemMap::MapItemFlags QgsLayoutItemMap::mapFlags | ( | ) | const |
Returns the map item's flags, which control how the map content is drawn.
Definition at line 1675 of file qgslayoutitemmap.cpp.
double QgsLayoutItemMap::mapRotation | ( | QgsLayoutObject::PropertyValueType | valueType = QgsLayoutObject::EvaluatedValue | ) | const |
Returns the rotation used for drawing the map within the layout item, in degrees clockwise.
valueType | controls whether the returned value is the user specified rotation, or the current evaluated rotation (which may be affected by data driven rotation settings). |
Definition at line 607 of file qgslayoutitemmap.cpp.
|
signal |
Emitted when the map's rotation changes.
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.
|
protected |
Transforms map coordinates to item coordinates (considering rotation and move offset)
Definition at line 2041 of file qgslayoutitemmap.cpp.
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.
|
overridevirtual |
Moves the content of the item, by a specified dx and dy in layout units.
The default implementation has no effect.
Reimplemented from QgsLayoutItem.
Definition at line 415 of file qgslayoutitemmap.cpp.
|
overridevirtual |
Moves to the next export part for a multi-layered export item, during a multi-layered export.
Reimplemented from QgsLayoutItem.
Definition at line 1319 of file qgslayoutitemmap.cpp.
|
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.
Reimplemented from QgsLayoutItem.
Definition at line 1294 of file qgslayoutitemmap.cpp.
QgsLayoutItemMapOverview * QgsLayoutItemMap::overview | ( | ) |
Returns the map item's first overview.
This is a convenience function.
Definition at line 659 of file qgslayoutitemmap.cpp.
|
inline |
Returns the map item's overview stack, which is used to control how overviews are drawn over the map's contents.
Definition at line 710 of file qgslayoutitemmap.h.
|
override |
Definition at line 1078 of file qgslayoutitemmap.cpp.
|
signal |
Emitted when the map has been prepared for atlas rendering, just before actual rendering.
|
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.
Definition at line 476 of file qgslayoutitemmap.h.
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.
Definition at line 1996 of file qgslayoutitemmap.cpp.
|
signal |
Emitted whenever the item's map preview has been refreshed.
|
overrideprotectedvirtual |
Sets item state from a DOM element.
element | is the DOM element for the item |
document | DOM document |
context | read 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().
Reimplemented from QgsLayoutItem.
Definition at line 852 of file qgslayoutitemmap.cpp.
|
overrideslot |
Definition at line 165 of file qgslayoutitemmap.cpp.
|
overrideslot |
Definition at line 2121 of file qgslayoutitemmap.cpp.
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.
Definition at line 1984 of file qgslayoutitemmap.cpp.
void QgsLayoutItemMap::removeRenderedFeatureHandler | ( | QgsRenderedFeatureHandlerInterface * | handler | ) |
Removes a previously added rendered feature handler.
Definition at line 2036 of file qgslayoutitemmap.cpp.
|
inline |
Returns map rendering errors.
Definition at line 812 of file qgslayoutitemmap.h.
|
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.
|
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.
Reimplemented from QgsLayoutItem.
Definition at line 504 of file qgslayoutitemmap.cpp.
double QgsLayoutItemMap::scale | ( | ) | const |
Returns the map scale.
The scale value indicates the scale denominator, e.g. 1000.0 for a 1:1000 map.
Definition at line 176 of file qgslayoutitemmap.cpp.
void QgsLayoutItemMap::setAtlasDriven | ( | bool | enabled | ) |
Sets whether the map extent will follow the current atlas feature.
enabled | set to true if the map extents should be set by the current atlas feature. |
Definition at line 612 of file qgslayoutitemmap.cpp.
|
inline |
Sets the margin size (percentage) used when the map is in atlas mode.
margin | size in percentage to leave around the atlas feature's extent |
Definition at line 689 of file qgslayoutitemmap.h.
|
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.
mode | atlas scaling mode to set |
true
Definition at line 668 of file qgslayoutitemmap.h.
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.
Definition at line 327 of file qgslayoutitemmap.cpp.
|
inline |
Sets whether annotations are drawn within the map.
Definition at line 623 of file qgslayoutitemmap.h.
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.
Definition at line 221 of file qgslayoutitemmap.cpp.
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.
void QgsLayoutItemMap::setFollowVisibilityPresetName | ( | const QString & | name | ) |
Sets preset name for map rendering.
See followVisibilityPresetName() for more details.
Definition at line 405 of file qgslayoutitemmap.cpp.
|
overridevirtual |
Sets the frame stroke width.
Reimplemented from QgsLayoutItem.
Definition at line 1529 of file qgslayoutitemmap.cpp.
|
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.
Definition at line 505 of file qgslayoutitemmap.h.
|
inline |
Sets whether current styles of layers should be overridden by previously stored styles.
Definition at line 536 of file qgslayoutitemmap.h.
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.
Definition at line 2394 of file qgslayoutitemmap.cpp.
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.
Definition at line 341 of file qgslayoutitemmap.cpp.
void QgsLayoutItemMap::setLayerStyleOverrides | ( | const QMap< QString, QString > & | overrides | ) |
Sets the stored overrides of styles for layers.
Definition at line 370 of file qgslayoutitemmap.cpp.
void QgsLayoutItemMap::setMapFlags | ( | QgsLayoutItemMap::MapItemFlags | flags | ) |
Sets the map item's flags, which control how the map content is drawn.
Definition at line 1680 of file qgslayoutitemmap.cpp.
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.
Definition at line 598 of file qgslayoutitemmap.cpp.
|
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.
Reimplemented from QgsLayoutItem.
Definition at line 1869 of file qgslayoutitemmap.cpp.
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.
Definition at line 188 of file qgslayoutitemmap.cpp.
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.
true
.Definition at line 2356 of file qgslayoutitemmap.cpp.
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().)
Definition at line 2341 of file qgslayoutitemmap.cpp.
|
overridevirtual |
Starts a multi-layer export operation.
Reimplemented from QgsLayoutItem.
Definition at line 1304 of file qgslayoutitemmap.cpp.
|
overridevirtual |
Stops a multi-layer export operation.
Reimplemented from QgsLayoutItem.
Definition at line 1312 of file qgslayoutitemmap.cpp.
void QgsLayoutItemMap::storeCurrentLayerStyles | ( | ) |
Stores the current project layer styles into style overrides.
Definition at line 380 of file qgslayoutitemmap.cpp.
|
signal |
Emitted when the map's associated theme is changed.
|
protected |
Returns extent that considers rotation and shift with mOffsetX / mOffsetY.
Definition at line 1966 of file qgslayoutitemmap.cpp.
|
override |
Definition at line 107 of file qgslayoutitemmap.cpp.
|
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.
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
Definition at line 313 of file qgslayoutitemmap.cpp.
|
overrideprotectedvirtual |
Stores item state within an XML DOM element.
element | is the DOM element to store the item's properties in |
document | DOM document |
context | read write context |
Reimplemented from QgsLayoutItem.
Definition at line 694 of file qgslayoutitemmap.cpp.
|
overridevirtual |
Zooms content of item.
Does nothing by default.
factor | zoom factor, where > 1 results in a zoom in and < 1 results in a zoom out |
point | item point for zoom center |
Reimplemented from QgsLayoutItem.
Definition at line 436 of file qgslayoutitemmap.cpp.
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.
Definition at line 243 of file qgslayoutitemmap.cpp.
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.
true
.Definition at line 2351 of file qgslayoutitemmap.cpp.
bool QgsLayoutItemMap::zRangeEnabled | ( | ) | const |
Returns whether the z range is enabled (i.e.
whether the map will be filtered to content within the zRange().)
Definition at line 2346 of file qgslayoutitemmap.cpp.
|
friend |
Definition at line 1247 of file qgslayoutitemmap.h.
|
friend |
Definition at line 1248 of file qgslayoutitemmap.h.
|
friend |
Definition at line 1249 of file qgslayoutitemmap.h.
|
friend |
Definition at line 1245 of file qgslayoutitemmap.h.
|
friend |
Definition at line 1243 of file qgslayoutitemmap.h.
|
friend |
Definition at line 1244 of file qgslayoutitemmap.h.
|
friend |
Definition at line 1246 of file qgslayoutitemmap.h.