QGIS API Documentation
3.6.0-Noosa (5873452)
|
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::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. More... | |
Public Slots inherited from QgsLayoutItem | |
virtual void | invalidateCache () |
Forces a deferred update of any cached image the item uses. More... | |
virtual void | redraw () |
Triggers a redraw (update) of the item. More... | |
void | refresh () override |
Refreshes the item, causing a recalculation of any property overrides and recalculation of its position and size. More... | |
virtual void | refreshDataDefinedProperty (QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::AllProperties) |
Refreshes a data defined property for the item by reevaluating the property's value and redrawing the item with this new value. More... | |
virtual void | rotateItem (double angle, QPointF transformOrigin) |
Rotates the item by a specified angle in degrees clockwise around a specified reference point. More... | |
virtual void | setItemRotation (double rotation, bool adjustPosition=true) |
Sets the layout item's rotation, in degrees clockwise. More... | |
Public Slots inherited from QgsLayoutObject | |
virtual void | refresh () |
Refreshes the object, causing a recalculation of any property overrides. More... | |
Signals | |
void | extentChanged () |
Is emitted when the map's extent changes. More... | |
void | layerStyleOverridesChanged () |
Emitted when layer style overrides are changed... More... | |
void | mapRotationChanged (double newRotation) |
Is emitted when the map's rotation changes. More... | |
void | preparedForAtlas () |
Is emitted when the map has been prepared for atlas rendering, just before actual rendering. More... | |
Signals inherited from QgsLayoutItem | |
void | frameChanged () |
Emitted if the item's frame style changes. More... | |
void | lockChanged () |
Emitted if the item's lock status changes. More... | |
void | rotationChanged (double newRotation) |
Emitted on item rotation change. More... | |
void | sizePositionChanged () |
Emitted when the item's size or position changes. More... | |
Signals inherited from QgsLayoutObject | |
void | changed () |
Emitted when the object's properties change. More... | |
Public Member Functions | |
QgsLayoutItemMap (QgsLayout *layout) | |
Constructor for QgsLayoutItemMap, with the specified parent layout. More... | |
~QgsLayoutItemMap () override | |
void | addLabelBlockingItem (QgsLayoutItem *item) |
Sets the specified layout item as a "label blocking item" for this map. More... | |
void | assignFreeId () |
Sets the map id() to a number not yet used in the layout. More... | |
bool | atlasDriven () const |
Returns whether the map extent is set to follow the current atlas feature. More... | |
double | atlasMargin (QgsLayoutObject::PropertyValueType valueType=QgsLayoutObject::EvaluatedValue) |
Returns the margin size (percentage) used when the map is in atlas mode. More... | |
AtlasScalingMode | atlasScalingMode () const |
Returns the current atlas scaling mode. More... | |
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. More... | |
bool | containsWmsLayer () const |
Returns true if the map contains a WMS layer. More... | |
QgsExpressionContext | createExpressionContext () const override |
This method needs to be reimplemented in all classes which implement this interface and return an expression context. More... | |
QgsCoordinateReferenceSystem | crs () const |
Returns coordinate reference system used for rendering the map. More... | |
QString | displayName () const override |
Gets item display name. More... | |
bool | drawAnnotations () const |
Returns whether annotations are drawn within the map. More... | |
QgsRectangle | extent () const |
Returns the current map extent. More... | |
void | finalizeRestoreFromXml () override |
Called after all pending items have been restored from XML. More... | |
bool | followVisibilityPreset () const |
Returns whether the map should follow a map theme. More... | |
QString | followVisibilityPresetName () const |
Preset name that decides which layers and layer styles are used for map rendering. More... | |
QgsLayoutItemMapGrid * | grid () |
Returns the map item's first grid. More... | |
QgsLayoutItemMapGridStack * | grids () |
Returns the map item's grid stack, which is used to control how grids are drawn over the map's contents. More... | |
QIcon | icon () const override |
Returns the item's icon. More... | |
bool | isLabelBlockingItem (QgsLayoutItem *item) const |
Returns true if the specified item is a "label blocking item". More... | |
QgsLayoutItem::Flags | itemFlags () const override |
Returns the item's flags, which indicate how the item behaves. More... | |
bool | keepLayerSet () const |
Returns whether a stored layer set should be used or the current layer set from the project associated with the layout. More... | |
bool | keepLayerStyles () const |
Returns whether current styles of layers should be overridden by previously stored styles. More... | |
QgsLayoutMeasurement | labelMargin () const |
Returns the margin from the map edges in which no labels may be placed. More... | |
QList< QgsMapLayer * > | layers () const |
Returns the stored layer set. More... | |
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. More... | |
QMap< QString, QString > | layerStyleOverrides () const |
Returns stored overrides of styles for layers. More... | |
QgsLayoutItemMap::MapItemFlags | mapFlags () const |
Returns the map item's flags, which control how the map content is drawn. More... | |
double | mapRotation (QgsLayoutObject::PropertyValueType valueType=QgsLayoutObject::EvaluatedValue) const |
Returns the rotation used for drawing the map within the layout item, in degrees clockwise. More... | |
QgsMapSettings | mapSettings (const QgsRectangle &extent, QSizeF size, double dpi, bool includeLayerSettings) const |
Returns map settings that will be used for drawing of the map. More... | |
double | mapUnitsToLayoutUnits () const |
Returns the conversion factor from map units to layout units. More... | |
void | moveContent (double dx, double dy) override |
Moves the content of the item, by a specified dx and dy in layout units. More... | |
int | numberExportLayers () const override |
Returns the number of layers that this item requires for exporting during layered exports (e.g. More... | |
QgsLayoutItemMapOverview * | overview () |
Returns the map item's first overview. More... | |
QgsLayoutItemMapOverviewStack * | overviews () |
Returns the map item's overview stack, which is used to control how overviews are drawn over the map's contents. More... | |
void | paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) override |
QgsCoordinateReferenceSystem | presetCrs () const |
Returns the map's preset coordinate reference system. More... | |
void | removeLabelBlockingItem (QgsLayoutItem *item) |
Removes the specified layout item from the map's "label blocking items". More... | |
QgsMapRendererJob::Errors | renderingErrors () const |
Returns map rendering errors. More... | |
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. More... | |
double | scale () const |
Returns the map scale. More... | |
void | setAtlasDriven (bool enabled) |
Sets whether the map extent will follow the current atlas feature. More... | |
void | setAtlasMargin (double margin) |
Sets the margin size (percentage) used when the map is in atlas mode. More... | |
void | setAtlasScalingMode (AtlasScalingMode mode) |
Sets the current atlas scaling mode. More... | |
void | setCrs (const QgsCoordinateReferenceSystem &crs) |
Sets the map's preset crs (coordinate reference system). More... | |
void | setDrawAnnotations (bool draw) |
Sets whether annotations are drawn within the map. More... | |
void | setExtent (const QgsRectangle &extent) |
Sets a new extent for the map. More... | |
void | setFollowVisibilityPreset (bool follow) |
Sets whether the map should follow a map theme. More... | |
void | setFollowVisibilityPresetName (const QString &name) |
Sets preset name for map rendering. More... | |
void | setFrameStrokeWidth (QgsLayoutMeasurement width) override |
Sets the frame stroke width. More... | |
void | setKeepLayerSet (bool enabled) |
Sets whether the stored layer set should be used or the current layer set of the associated project. More... | |
void | setKeepLayerStyles (bool enabled) |
Sets whether current styles of layers should be overridden by previously stored styles. More... | |
void | setLabelMargin (const QgsLayoutMeasurement &margin) |
Sets the margin from the map edges in which no labels may be placed. More... | |
void | setLayers (const QList< QgsMapLayer *> &layers) |
Sets the stored layers set. More... | |
void | setLayerStyleOverrides (const QMap< QString, QString > &overrides) |
Sets the stored overrides of styles for layers. More... | |
void | setMapFlags (QgsLayoutItemMap::MapItemFlags flags) |
Sets the map item's flags, which control how the map content is drawn. More... | |
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. More... | |
void | setMoveContentPreviewOffset (double dx, double dy) override |
Sets temporary offset for the item, by a specified dx and dy in layout units. More... | |
void | setScale (double scale, bool forceUpdate=true) |
Sets new map scale and changes only the map extent. More... | |
void | storeCurrentLayerStyles () |
Stores the current project layer styles into style overrides. More... | |
int | type () const override |
QPolygonF | visibleExtentPolygon () const |
Returns a polygon representing the current visible map extent, considering map extents and rotation. More... | |
void | zoomContent (double factor, QPointF point) override |
Zooms content of item. More... | |
void | zoomToExtent (const QgsRectangle &extent) |
Zooms the map so that the specified extent is fully visible within the map item. More... | |
Public Member Functions inherited from QgsLayoutItem | |
QgsLayoutItem (QgsLayout *layout, bool manageZValue=true) | |
Constructor for QgsLayoutItem, with the specified parent layout. More... | |
~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. More... | |
void | attemptMoveBy (double deltaX, double deltaY) |
Attempts to shift the item's position by a specified deltaX and deltaY, in layout units. More... | |
virtual void | attemptResize (const QgsLayoutSize &size, bool includesFrame=false) |
Attempts to resize the item to a specified target size. More... | |
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. More... | |
QColor | backgroundColor () const |
Returns the background color for this item. More... | |
void | beginCommand (const QString &commandText, UndoCommand command=UndoNone) |
Starts new undo command for this item. More... | |
QPainter::CompositionMode | blendMode () const |
Returns the item's composition blending mode. More... | |
void | cancelCommand () |
Cancels the current item command and discards it. More... | |
virtual void | cleanup () |
Called just before a batch of items are deleted, allowing them to run cleanup tasks. More... | |
QgsAbstractLayoutUndoCommand * | createCommand (const QString &text, int id, QUndoCommand *parent=nullptr) override |
Creates a new layout undo command with the specified text and parent. More... | |
void | endCommand () |
Completes the current item command and push it onto the layout's undo stack. More... | |
virtual double | estimatedFrameBleed () const |
Returns the estimated amount the item's frame bleeds outside the item's actual rectangle. More... | |
bool | excludeFromExports () const |
Returns whether the item should be excluded from layout exports and prints. More... | |
virtual QgsLayoutSize | fixedSize () const |
Returns the fixed size of the item, if applicable, or an empty size if item can be freely resized. More... | |
bool | frameEnabled () const |
Returns true if the item includes a frame. More... | |
Qt::PenJoinStyle | frameJoinStyle () const |
Returns the join style used for drawing the item's frame. More... | |
QColor | frameStrokeColor () const |
Returns the frame's stroke color. More... | |
QgsLayoutMeasurement | frameStrokeWidth () const |
Returns the frame's stroke width. More... | |
bool | hasBackground () const |
Returns true if the item has a background. More... | |
QString | id () const |
Returns the item's ID name. More... | |
bool | isGroupMember () const |
Returns true if the item is part of a QgsLayoutItemGroup group. More... | |
bool | isLocked () const |
Returns true if the item is locked, and cannot be interacted with using the mouse. More... | |
double | itemOpacity () const |
Returns the item's opacity. More... | |
double | itemRotation () const |
Returns the current rotation for the item, in degrees clockwise. More... | |
virtual QgsLayoutSize | minimumSize () const |
Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely resized. More... | |
int | page () const |
Returns the page the item is currently on, with the first page returning 0. More... | |
QPointF | pagePos () const |
Returns the item's position (in layout units) relative to the top left corner of its current page. More... | |
QgsLayoutPoint | pagePositionWithUnits () const |
Returns the item's position (in item units) relative to the top left corner of its current page. More... | |
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. More... | |
QgsLayoutItemGroup * | parentGroup () const |
Returns the item's parent group, if the item is part of a QgsLayoutItemGroup group. More... | |
QgsLayoutPoint | positionWithUnits () const |
Returns the item's current position, including units. More... | |
bool | readXml (const QDomElement &itemElement, const QDomDocument &document, const QgsReadWriteContext &context) |
Sets the item state from a DOM element. More... | |
virtual QRectF | rectWithFrame () const |
Returns the item's rectangular bounds, including any bleed caused by the item's frame. More... | |
ReferencePoint | referencePoint () const |
Returns the reference point for positioning of the layout item. More... | |
void | setBackgroundColor (const QColor &color) |
Sets the background color for this item. More... | |
void | setBackgroundEnabled (bool drawBackground) |
Sets whether this item has a background drawn under it or not. More... | |
void | setBlendMode (QPainter::CompositionMode mode) |
Sets the item's composition blending mode. More... | |
void | setExcludeFromExports (bool exclude) |
Sets whether the item should be excluded from layout exports and prints. More... | |
virtual void | setFrameEnabled (bool drawFrame) |
Sets whether this item has a frame drawn around it or not. More... | |
void | setFrameJoinStyle (Qt::PenJoinStyle style) |
Sets the join style used when drawing the item's frame. More... | |
void | setFrameStrokeColor (const QColor &color) |
Sets the frame stroke color. More... | |
virtual void | setId (const QString &id) |
Set the item's id name. More... | |
void | setItemOpacity (double opacity) |
Sets the item's opacity. More... | |
void | setLocked (bool locked) |
Sets whether the item is locked, preventing mouse interactions with the item. More... | |
void | setParentGroup (QgsLayoutItemGroup *group) |
Sets the item's parent group. More... | |
void | setReferencePoint (ReferencePoint point) |
Sets the reference point for positioning of the layout item. More... | |
virtual void | setSelected (bool selected) |
Sets whether the item should be selected. More... | |
virtual void | setVisibility (bool visible) |
Sets whether the item is visible. More... | |
bool | shouldDrawItem () const |
Returns whether the item should be drawn in the current context. More... | |
QgsLayoutSize | sizeWithUnits () const |
Returns the item's current size, including units. More... | |
int | type () const override |
Returns a unique graphics item type identifier. More... | |
virtual QString | uuid () const |
Returns the item identification string. More... | |
bool | writeXml (QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const |
Stores the item state in a DOM element. More... | |
Public Member Functions inherited from QgsLayoutObject | |
QgsLayoutObject (QgsLayout *layout) | |
Constructor for QgsLayoutObject, with the specified parent layout. More... | |
QgsExpressionContext | createExpressionContext () const override |
Creates an expression context relating to the objects' current state. More... | |
QStringList | customProperties () const |
Returns list of keys stored in custom properties for the object. More... | |
QVariant | customProperty (const QString &key, const QVariant &defaultValue=QVariant()) const |
Read a custom property from the object. More... | |
QgsPropertyCollection & | dataDefinedProperties () |
Returns a reference to the object's property collection, used for data defined overrides. More... | |
const QgsPropertyCollection & | dataDefinedProperties () const |
Returns a reference to the object's property collection, used for data defined overrides. More... | |
const QgsLayout * | layout () const |
Returns the layout the object is attached to. More... | |
QgsLayout * | layout () |
Returns the layout the object is attached to. More... | |
void | removeCustomProperty (const QString &key) |
Remove a custom property from the object. More... | |
void | setCustomProperty (const QString &key, const QVariant &value) |
Set a custom property for the object. More... | |
void | setDataDefinedProperties (const QgsPropertyCollection &collection) |
Sets the objects's property collection, used for data defined overrides. More... | |
Public Member Functions inherited from QgsExpressionContextGenerator | |
virtual | ~QgsExpressionContextGenerator ()=default |
Public Member Functions inherited from QgsLayoutUndoObjectInterface | |
virtual | ~QgsLayoutUndoObjectInterface ()=default |
Destructor for QgsLayoutUndoObjectInterface. More... | |
Static Public Member Functions | |
static QgsLayoutItemMap * | create (QgsLayout *layout) |
Returns a new map item for the specified layout. More... | |
Static Public Member Functions inherited from QgsLayoutObject | |
static const QgsPropertiesDefinition & | propertyDefinitions () |
Returns the layout object property definitions. More... | |
Protected Member Functions | |
QRectF | boundingRect () const override |
void | draw (QgsLayoutItemRenderContext &context) override |
Draws the item's contents using the specified item render context. More... | |
bool | isDrawing () const |
True if a draw is already in progress. More... | |
QPointF | mapToItemCoords (QPointF mapCoords) const |
Transforms map coordinates to item coordinates (considering rotation and move offset) More... | |
bool | readPropertiesFromElement (const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context) override |
Sets item state from a DOM element. More... | |
QgsRectangle | requestedExtent () const |
Calculates the extent to request and the yShift of the top-left point in case of rotation. More... | |
QPolygonF | transformedMapPolygon () const |
Returns extent that considers rotation and shift with mOffsetX / mOffsetY. More... | |
bool | writePropertiesToElement (QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const override |
Stores item state within an XML DOM element. More... | |
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. More... | |
QgsLayoutSize | applyDataDefinedSize (const QgsLayoutSize &size) |
Applies any present data defined size overrides to the specified layout size. More... | |
virtual QSizeF | applyItemSizeConstraint (QSizeF targetSize) |
Applies any item-specific size constraint handling to a given targetSize in layout units. More... | |
virtual void | drawBackground (QgsRenderContext &context) |
Draws the background for the item. More... | |
virtual void | drawDebugRect (QPainter *painter) |
Draws a debugging rectangle of the item's current bounds within the specified painter. More... | |
virtual void | drawFrame (QgsRenderContext &context) |
Draws the frame around the item. More... | |
QPointF | positionAtReferencePoint (ReferencePoint reference) const |
Returns the current position (in layout units) of a reference point for the item. More... | |
void | refreshBackgroundColor (bool updateItem=true) |
Refresh item's background color, considering data defined colors. More... | |
void | refreshBlendMode () |
Refresh item's blend mode, considering data defined blend mode. More... | |
void | refreshFrame (bool updateItem=true) |
Refresh item's frame, considering data defined colors and frame size. More... | |
void | refreshItemPosition () |
Refreshes an item's position by rechecking it against any possible overrides such as data defined positioning. More... | |
void | refreshItemRotation (QPointF *origin=nullptr) |
Refreshes an item's rotation by rechecking it against any possible overrides such as data defined rotation. More... | |
void | refreshItemSize () |
Refreshes an item's size by rechecking it against any possible item fixed or minimum sizes. More... | |
void | refreshOpacity (bool updateItem=true) |
Refresh item's opacity, considering data defined opacity. More... | |
virtual void | setFixedSize (const QgsLayoutSize &size) |
Sets a fixed size for the layout item, which prevents it from being freely resized. More... | |
virtual void | setMinimumSize (const QgsLayoutSize &size) |
Sets the minimum allowed size for the layout item. More... | |
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. More... | |
Protected Member Functions inherited from QgsLayoutObject | |
bool | readObjectPropertiesFromElement (const QDomElement &parentElement, const QDomDocument &document, const QgsReadWriteContext &context) |
Sets object properties from a DOM element. More... | |
bool | writeObjectPropertiesToElement (QDomElement &parentElement, QDomDocument &document, const QgsReadWriteContext &context) const |
Stores object properties within an XML DOM element. More... | |
Friends | |
class | QgsCompositionConverter |
class | QgsLayoutItemLegend |
class | QgsLayoutItemMapGrid |
class | QgsLayoutItemMapOverview |
class | TestQgsLayoutMap |
Additional Inherited Members | |
Protected Attributes inherited from QgsLayoutObject | |
QgsObjectCustomProperties | mCustomProperties |
Custom properties for object. More... | |
QgsPropertyCollection | mDataDefinedProperties |
QPointer< QgsLayout > | mLayout |
Properties inherited from QgsLayoutItem | |
bool | locked |
Layout graphical items for displaying a map.
Definition at line 36 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 46 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. |
Definition at line 70 of file qgslayoutitemmap.h.
|
explicit |
Constructor for QgsLayoutItemMap, with the specified parent layout.
Definition at line 39 of file qgslayoutitemmap.cpp.
|
override |
Definition at line 62 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 1325 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 87 of file qgslayoutitemmap.cpp.
|
inline |
Returns whether the map extent is set to follow the current atlas feature.
Definition at line 344 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 470 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.
Definition at line 363 of file qgslayoutitemmap.h.
|
overrideprotected |
Definition at line 1243 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 419 of file qgslayoutitemmap.cpp.
bool QgsLayoutItemMap::containsWmsLayer | ( | ) | const |
Returns true if the map contains a WMS layer.
Definition at line 386 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 125 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 1248 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 262 of file qgslayoutitemmap.cpp.
|
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 115 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 515 of file qgslayoutitemmap.cpp.
|
inline |
Returns whether annotations are drawn within the map.
Definition at line 335 of file qgslayoutitemmap.h.
QgsRectangle QgsLayoutItemMap::extent | ( | ) | const |
Returns the current map extent.
Definition at line 250 of file qgslayoutitemmap.cpp.
|
signal |
Is 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 1219 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 275 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 287 of file qgslayoutitemmap.h.
QgsLayoutItemMapGrid * QgsLayoutItemMap::grid | ( | ) |
Returns the map item's first grid.
This is a convenience function.
Definition at line 495 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 402 of file qgslayoutitemmap.h.
|
overridevirtual |
Returns the item's icon.
Reimplemented from QgsLayoutItem.
Definition at line 77 of file qgslayoutitemmap.cpp.
|
overrideslot |
Definition at line 1387 of file qgslayoutitemmap.cpp.
|
inlineprotected |
True if a draw is already in progress.
Definition at line 527 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 1340 of file qgslayoutitemmap.cpp.
|
overridevirtual |
Returns the item's flags, which indicate how the item behaves.
Reimplemented from QgsLayoutItem.
Definition at line 82 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 208 of file qgslayoutitemmap.h.
|
inline |
Returns whether current styles of layers should be overridden by previously stored styles.
Definition at line 240 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 1583 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 276 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 1599 of file qgslayoutitemmap.cpp.
|
inline |
Returns stored overrides of styles for layers.
Definition at line 252 of file qgslayoutitemmap.h.
|
signal |
Emitted when layer style overrides are changed...
a means to let associated legend items know they should update
QgsLayoutItemMap::MapItemFlags QgsLayoutItemMap::mapFlags | ( | ) | const |
Returns the map item's flags, which control how the map content is drawn.
Definition at line 1123 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 452 of file qgslayoutitemmap.cpp.
|
signal |
Is 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 1133 of file qgslayoutitemmap.cpp.
|
protected |
Transforms map coordinates to item coordinates (considering rotation and move offset)
Definition at line 1345 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 1305 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 310 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 986 of file qgslayoutitemmap.cpp.
QgsLayoutItemMapOverview * QgsLayoutItemMap::overview | ( | ) |
Returns the map item's first overview.
This is a convenience function.
Definition at line 505 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 416 of file qgslayoutitemmap.h.
|
override |
Definition at line 789 of file qgslayoutitemmap.cpp.
|
signal |
Is 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 189 of file qgslayoutitemmap.h.
|
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 633 of file qgslayoutitemmap.cpp.
|
overrideslot |
Definition at line 130 of file qgslayoutitemmap.cpp.
|
overrideslot |
Definition at line 1425 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 1333 of file qgslayoutitemmap.cpp.
|
inline |
Returns map rendering errors.
Definition at line 518 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 1366 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 399 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 141 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 458 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 395 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 |
Definition at line 374 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 271 of file qgslayoutitemmap.cpp.
|
inline |
Sets whether annotations are drawn within the map.
Definition at line 329 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 186 of file qgslayoutitemmap.cpp.
|
inline |
Sets whether the map should follow a map theme.
See followVisibilityPreset() for more details.
Definition at line 280 of file qgslayoutitemmap.h.
|
inline |
Sets preset name for map rendering.
See followVisibilityPresetName() for more details.
Definition at line 293 of file qgslayoutitemmap.h.
|
overridevirtual |
Sets the frame stroke width.
Reimplemented from QgsLayoutItem.
Definition at line 995 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 218 of file qgslayoutitemmap.h.
|
inline |
Sets whether current styles of layers should be overridden by previously stored styles.
Definition at line 246 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 1588 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 instead.
Definition at line 281 of file qgslayoutitemmap.cpp.
void QgsLayoutItemMap::setLayerStyleOverrides | ( | const QMap< QString, QString > & | overrides | ) |
Sets the stored overrides of styles for layers.
Definition at line 286 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 1128 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 443 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 1237 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 153 of file qgslayoutitemmap.cpp.
void QgsLayoutItemMap::storeCurrentLayerStyles | ( | ) |
Stores the current project layer styles into style overrides.
Definition at line 296 of file qgslayoutitemmap.cpp.
|
protected |
Returns extent that considers rotation and shift with mOffsetX / mOffsetY.
Definition at line 1315 of file qgslayoutitemmap.cpp.
|
override |
Definition at line 72 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 1396 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 255 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 519 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 331 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 206 of file qgslayoutitemmap.cpp.
|
friend |
Definition at line 795 of file qgslayoutitemmap.h.
|
friend |
Definition at line 793 of file qgslayoutitemmap.h.
|
friend |
Definition at line 791 of file qgslayoutitemmap.h.
|
friend |
Definition at line 792 of file qgslayoutitemmap.h.
|
friend |
Definition at line 794 of file qgslayoutitemmap.h.