QGIS API Documentation  3.2.0-Bonn (bc43194)
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
QgsLayoutItemScaleBar Class Reference

A layout item subclass for scale bars. More...

#include <qgslayoutitemscalebar.h>

Inheritance diagram for QgsLayoutItemScaleBar:
Inheritance graph
[legend]

Public Member Functions

 QgsLayoutItemScaleBar (QgsLayout *layout)
 Constructor for QgsLayoutItemScaleBar, with the specified parent layout. More...
 
QgsScaleBarSettings::Alignment alignment () const
 Returns the scalebar alignment. More...
 
void applyDefaultSettings ()
 Applies the default scalebar settings to the scale bar. More...
 
void applyDefaultSize (QgsUnitTypes::DistanceUnit units=QgsUnitTypes::DistanceMeters)
 Applies the default size to the scale bar (scale bar 1/5 of map item width) More...
 
double boxContentSpace () const
 Returns the spacing (margin) between the scalebar box and content in millimeters. More...
 
QBrush brush () const
 Returns the primary brush for the scalebar. More...
 
QBrush brush2 () const
 Returns the secondary brush for the scalebar. More...
 
QColor fillColor () const
 Returns the color used for fills in the scalebar. More...
 
QColor fillColor2 () const
 Returns the secondary color used for fills in the scalebar. More...
 
void finalizeRestoreFromXml () override
 Called after all pending items have been restored from XML. More...
 
Q_DECL_DEPRECATED QFont font () const
 Returns the font used for drawing text in the scalebar. More...
 
Q_DECL_DEPRECATED QColor fontColor () const
 Returns the color used for drawing text in the scalebar. More...
 
QgsUnitTypes::DistanceUnit guessUnits () const
 Attempts to guess the most reasonable unit choice for the scalebar, given the current linked map's scale. More...
 
double height () const
 Returns the scalebar height (in millimeters). More...
 
QIcon icon () const override
 Returns the item's icon. More...
 
double labelBarSpace () const
 Returns the spacing (in millimeters) between labels and the scalebar. More...
 
Qt::PenCapStyle lineCapStyle () const
 Returns the cap style used for drawing lines in the scalebar. More...
 
QColor lineColor () const
 Returns the color used for lines in the scalebar. More...
 
Qt::PenJoinStyle lineJoinStyle () const
 Returns the join style used for drawing lines in the scalebar. More...
 
double lineWidth () const
 Returns the line width in millimeters for lines in the scalebar. More...
 
QgsLayoutItemMaplinkedMap () const
 Returns the map item linked to the scalebar. More...
 
double mapUnitsPerScaleBarUnit () const
 Returns the number of map units per scale bar unit used by the scalebar. More...
 
double maximumBarWidth () const
 Returns the maximum width (in millimeters) for scale bar segments. More...
 
double minimumBarWidth () const
 Returns the minimum width (in millimeters) for scale bar segments. More...
 
QgsLayoutSize minimumSize () const override
 Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely resized. More...
 
int numberOfSegments () const
 Returns the number of segments included in the scalebar. More...
 
int numberOfSegmentsLeft () const
 Returns the number of segments included in the left part of the scalebar. More...
 
QPen pen () const
 Returns the pen used for drawing outlines in the scalebar. More...
 
void refreshDataDefinedProperty (QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::AllProperties) override
 Refreshes a data defined property for the item by reevaluating the property's value and redrawing the item with this new value. More...
 
void resizeToMinimumWidth ()
 Resizes the scale bar to its minimum width, without changing the height. More...
 
QgsScaleBarSettings::SegmentSizeMode segmentSizeMode () const
 Returns the size mode for the scale bar segments. More...
 
void setAlignment (QgsScaleBarSettings::Alignment alignment)
 Sets the scalebar alignment. More...
 
void setBoxContentSpace (double space)
 Sets the space (margin) between the scalebar box and content in millimeters. More...
 
void setFillColor (const QColor &color)
 Sets the color used for fills in the scalebar. More...
 
void setFillColor2 (const QColor &color)
 Sets the secondary color used for fills in the scalebar. More...
 
Q_DECL_DEPRECATED void setFont (const QFont &font)
 Sets the font used for drawing text in the scalebar. More...
 
Q_DECL_DEPRECATED void setFontColor (const QColor &color)
 Sets the color used for drawing text in the scalebar. More...
 
void setHeight (double height)
 Sets the scalebar height (in millimeters). More...
 
void setLabelBarSpace (double space)
 Sets the spacing (in millimeters) between labels and the scalebar. More...
 
void setLineCapStyle (Qt::PenCapStyle style)
 Sets the cap style used when drawing the lines in the scalebar. More...
 
void setLineColor (const QColor &color)
 Sets the color used for lines in the scalebar. More...
 
void setLineJoinStyle (Qt::PenJoinStyle style)
 Sets the join style used when drawing the lines in the scalebar. More...
 
void setLineWidth (double width)
 Sets the line width in millimeters for lines in the scalebar. More...
 
void setLinkedMap (QgsLayoutItemMap *map)
 Sets the map item linked to the scalebar. More...
 
void setMapUnitsPerScaleBarUnit (double units)
 Sets the number of map units per scale bar unit used by the scalebar. More...
 
void setMaximumBarWidth (double maxWidth)
 Sets the maximum width (in millimeters) for scale bar segments. More...
 
void setMinimumBarWidth (double minWidth)
 Sets the minimum width (in millimeters) for scale bar segments. More...
 
void setNumberOfSegments (int segments)
 Sets the number of segments included in the scalebar. More...
 
void setNumberOfSegmentsLeft (int segments)
 Sets the number of segments included in the left part of the scalebar. More...
 
void setSegmentSizeMode (QgsScaleBarSettings::SegmentSizeMode mode)
 Sets the size mode for scale bar segments. More...
 
void setStyle (const QString &name)
 Sets the scale bar style by name. More...
 
void setTextFormat (const QgsTextFormat &format)
 Sets the text format used for drawing text in the scalebar. More...
 
void setUnitLabel (const QString &label)
 Sets the label for units. More...
 
void setUnits (QgsUnitTypes::DistanceUnit units)
 Sets the distance units used by the scalebar. More...
 
void setUnitsPerSegment (double units)
 Sets the number of scalebar units per segment. More...
 
QString style () const
 Returns the scale bar style name. More...
 
QgsTextFormat textFormat () const
 Returns the text format used for drawing text in the scalebar. More...
 
int type () const override
 
QString unitLabel () const
 Returns the label for units. More...
 
QgsUnitTypes::DistanceUnit units () const
 Returns the distance units used by the scalebar. More...
 
double unitsPerSegment () const
 Returns the number of scalebar units per segment. More...
 
void update ()
 Adjusts the scale bar box size and updates the 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...
 
virtual bool containsAdvancedEffects () const
 Returns true if the item contains contents with blend modes or transparency effects which can only be reproduced by rastering the item. More...
 
QgsAbstractLayoutUndoCommandcreateCommand (const QString &text, int id, QUndoCommand *parent=nullptr) override
 Creates a new layout undo command with the specified text and parent. More...
 
QgsExpressionContext createExpressionContext () const override
 This method needs to be reimplemented in all classes which implement this interface and return an expression context. More...
 
virtual QString displayName () const
 Gets item display name. 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 void moveContent (double dx, double dy)
 Moves the content of the item, by a specified dx and dy in layout units. More...
 
virtual int numberExportLayers () const
 Returns the number of layers that this item requires for exporting during layered exports (e.g. 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...
 
QgsLayoutItemGroupparentGroup () 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...
 
virtual bool requiresRasterization () const
 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...
 
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 setFrameStrokeWidth (const QgsLayoutMeasurement &width)
 Sets the frame stroke width. 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...
 
virtual void setMoveContentPreviewOffset (double dx, double dy)
 Sets temporary offset for the item, by a specified dx and dy in layout units. More...
 
void setParentGroup (QgsLayoutItemGroup *group)
 Sets the item's parent group. More...
 
void setReferencePoint (const 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...
 
virtual void zoomContent (double factor, QPointF point)
 Zooms content of item. 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...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the object's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the object's property collection, used for data defined overrides. More...
 
const QgsLayoutlayout () const
 Returns the layout the object is attached to. More...
 
QgsLayoutlayout ()
 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 QgsLayoutItemScaleBarcreate (QgsLayout *layout)
 Returns a new scale bar item for the specified layout. More...
 
- Static Public Member Functions inherited from QgsLayoutObject
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the layout object property definitions. More...
 

Protected Member Functions

void draw (QgsLayoutItemRenderContext &context) override
 Draws the item's contents using the specified item render context. More...
 
bool readPropertiesFromElement (const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context) override
 Sets item state from a DOM element. 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 (const QPointF &point, const QSizeF &size, const 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 (const 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 (const 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
 

Additional Inherited Members

- Public Types inherited from QgsLayoutItem
enum  ReferencePoint {
  UpperLeft, UpperMiddle, UpperRight, MiddleLeft,
  Middle, MiddleRight, LowerLeft, LowerMiddle,
  LowerRight
}
 Fixed position reference point. More...
 
enum  UndoCommand {
  UndoNone = -1, UndoIncrementalMove = 1, UndoIncrementalResize, UndoStrokeColor,
  UndoStrokeWidth, UndoBackgroundColor, UndoOpacity, UndoSetId,
  UndoRotation, UndoShapeStyle, UndoShapeCornerRadius, UndoNodeMove,
  UndoAtlasMargin, UndoMapRotation, UndoZoomContent, UndoOverviewStyle,
  UndoGridFramePenColor, UndoMapGridFrameFill1Color, UndoMapGridFrameFill2Color, UndoMapAnnotationDistance,
  UndoMapGridAnnotationFontColor, UndoMapGridLineSymbol, UndoMapGridMarkerSymbol, UndoPictureRotation,
  UndoPictureFillColor, UndoPictureStrokeColor, UndoPictureStrokeWidth, UndoPictureNorthOffset,
  UndoLabelText, UndoLabelFont, UndoLabelMargin, UndoLabelFontColor,
  UndoLegendText, UndoLegendColumnCount, UndoLegendSymbolWidth, UndoLegendSymbolHeight,
  UndoLegendWmsLegendWidth, UndoLegendWmsLegendHeight, UndoLegendTitleSpaceBottom, UndoLegendGroupSpace,
  UndoLegendLayerSpace, UndoLegendSymbolSpace, UndoLegendIconSymbolSpace, UndoLegendFontColor,
  UndoLegendBoxSpace, UndoLegendColumnSpace, UndoLegendLineSpacing, UndoLegendRasterStrokeWidth,
  UndoLegendRasterStrokeColor, UndoLegendTitleFont, UndoLegendGroupFont, UndoLegendLayerFont,
  UndoLegendItemFont, UndoScaleBarLineWidth, UndoScaleBarSegmentSize, UndoScaleBarSegmentsLeft,
  UndoScaleBarSegments, UndoScaleBarHeight, UndoScaleBarFontColor, UndoScaleBarFillColor,
  UndoScaleBarFillColor2, UndoScaleBarStrokeColor, UndoScaleBarUnitText, UndoScaleBarMapUnitsSegment,
  UndoScaleBarLabelBarSize, UndoScaleBarBoxContentSpace, UndoArrowStrokeWidth, UndoArrowHeadWidth,
  UndoArrowHeadFillColor, UndoArrowHeadStrokeColor, UndoCustomCommand
}
 Layout item undo commands, used for collapsing undo commands. More...
 
- Public Types inherited from QgsLayoutObject
enum  DataDefinedProperty {
  NoProperty = 0, AllProperties, TestProperty, PresetPaperSize,
  PaperWidth, PaperHeight, NumPages, PaperOrientation,
  PageNumber, PositionX, PositionY, ItemWidth,
  ItemHeight, ItemRotation, Transparency, Opacity,
  BlendMode, ExcludeFromExports, FrameColor, BackgroundColor,
  MapRotation, MapScale, MapXMin, MapYMin,
  MapXMax, MapYMax, MapAtlasMargin, MapLayers,
  MapStylePreset, PictureSource, PictureSvgBackgroundColor, PictureSvgStrokeColor,
  PictureSvgStrokeWidth, SourceUrl, LegendTitle, LegendColumnCount,
  ScalebarFillColor, ScalebarFillColor2, ScalebarLineColor, ScalebarLineWidth,
  AttributeTableSourceLayer
}
 Data defined properties for different item types. More...
 
enum  PropertyValueType { EvaluatedValue = 0, OriginalValue }
 Specifies whether the value returned by a function should be the original, user set value, or the current evaluated value for the property. More...
 
- Public Slots 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 rotateItem (double angle, const 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 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...
 
- Protected Attributes inherited from QgsLayoutObject
QgsObjectCustomProperties mCustomProperties
 Custom properties for object. More...
 
QgsPropertyCollection mDataDefinedProperties
 
QPointer< QgsLayoutmLayout
 
- Properties inherited from QgsLayoutItem
bool locked
 

Detailed Description

A layout item subclass for scale bars.

Since
QGIS 3.0

Definition at line 35 of file qgslayoutitemscalebar.h.

Constructor & Destructor Documentation

◆ QgsLayoutItemScaleBar()

QgsLayoutItemScaleBar::QgsLayoutItemScaleBar ( QgsLayout layout)

Constructor for QgsLayoutItemScaleBar, with the specified parent layout.

Definition at line 43 of file qgslayoutitemscalebar.cpp.

Member Function Documentation

◆ alignment()

QgsScaleBarSettings::Alignment QgsLayoutItemScaleBar::alignment ( ) const
inline

Returns the scalebar alignment.

See also
setAlignment()

Definition at line 347 of file qgslayoutitemscalebar.h.

◆ applyDefaultSettings()

void QgsLayoutItemScaleBar::applyDefaultSettings ( )

Applies the default scalebar settings to the scale bar.

See also
applyDefaultSize()

Definition at line 380 of file qgslayoutitemscalebar.cpp.

◆ applyDefaultSize()

void QgsLayoutItemScaleBar::applyDefaultSize ( QgsUnitTypes::DistanceUnit  units = QgsUnitTypes::DistanceMeters)

Applies the default size to the scale bar (scale bar 1/5 of map item width)

See also
applyDefaultSettings()

Definition at line 451 of file qgslayoutitemscalebar.cpp.

◆ boxContentSpace()

double QgsLayoutItemScaleBar::boxContentSpace ( ) const
inline

Returns the spacing (margin) between the scalebar box and content in millimeters.

See also
setBoxContentSpace()

Definition at line 335 of file qgslayoutitemscalebar.h.

◆ brush()

QBrush QgsLayoutItemScaleBar::brush ( ) const
inline

Returns the primary brush for the scalebar.

Returns
QBrush used for filling the scalebar
See also
brush2
pen

Definition at line 285 of file qgslayoutitemscalebar.h.

◆ brush2()

QBrush QgsLayoutItemScaleBar::brush2 ( ) const
inline

Returns the secondary brush for the scalebar.

This is used for alternating color style scalebars, such as single and double box styles.

Returns
QBrush used for secondary color areas
See also
brush

Definition at line 293 of file qgslayoutitemscalebar.h.

◆ create()

QgsLayoutItemScaleBar * QgsLayoutItemScaleBar::create ( QgsLayout layout)
static

Returns a new scale bar item for the specified layout.

The caller takes responsibility for deleting the returned object.

Definition at line 60 of file qgslayoutitemscalebar.cpp.

◆ draw()

void QgsLayoutItemScaleBar::draw ( QgsLayoutItemRenderContext context)
overrideprotectedvirtual

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

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

Implements QgsLayoutItem.

Definition at line 70 of file qgslayoutitemscalebar.cpp.

◆ fillColor()

QColor QgsLayoutItemScaleBar::fillColor ( ) const
inline

Returns the color used for fills in the scalebar.

See also
setFillColor()
fillColor2()

Definition at line 226 of file qgslayoutitemscalebar.h.

◆ fillColor2()

QColor QgsLayoutItemScaleBar::fillColor2 ( ) const
inline

Returns the secondary color used for fills in the scalebar.

See also
setFillColor2()
fillColor()

Definition at line 240 of file qgslayoutitemscalebar.h.

◆ finalizeRestoreFromXml()

void QgsLayoutItemScaleBar::finalizeRestoreFromXml ( )
overridevirtual

Called after all pending items have been restored from XML.

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

See also
readXml()

Reimplemented from QgsLayoutItem.

Definition at line 840 of file qgslayoutitemscalebar.cpp.

◆ font()

QFont QgsLayoutItemScaleBar::font ( ) const

Returns the font used for drawing text in the scalebar.

See also
setFont()
Deprecated:
use textFormat() instead

Definition at line 563 of file qgslayoutitemscalebar.cpp.

◆ fontColor()

QColor QgsLayoutItemScaleBar::fontColor ( ) const

Returns the color used for drawing text in the scalebar.

See also
setFontColor()
font()
Deprecated:
use textFormat() instead

Definition at line 577 of file qgslayoutitemscalebar.cpp.

◆ guessUnits()

QgsUnitTypes::DistanceUnit QgsLayoutItemScaleBar::guessUnits ( ) const

Attempts to guess the most reasonable unit choice for the scalebar, given the current linked map's scale.

This method also considers the linked map's CRS, in order to determine if metric or imperial units are more appropriate.

Definition at line 409 of file qgslayoutitemscalebar.cpp.

◆ height()

double QgsLayoutItemScaleBar::height ( ) const
inline

Returns the scalebar height (in millimeters).

See also
setHeight()

Definition at line 299 of file qgslayoutitemscalebar.h.

◆ icon()

QIcon QgsLayoutItemScaleBar::icon ( ) const
overridevirtual

Returns the item's icon.

Reimplemented from QgsLayoutItem.

Definition at line 55 of file qgslayoutitemscalebar.cpp.

◆ labelBarSpace()

double QgsLayoutItemScaleBar::labelBarSpace ( ) const
inline

Returns the spacing (in millimeters) between labels and the scalebar.

See also
setLabelBarSpace()

Definition at line 323 of file qgslayoutitemscalebar.h.

◆ lineCapStyle()

Qt::PenCapStyle QgsLayoutItemScaleBar::lineCapStyle ( ) const
inline

Returns the cap style used for drawing lines in the scalebar.

See also
setLineCapStyle()

Definition at line 383 of file qgslayoutitemscalebar.h.

◆ lineColor()

QColor QgsLayoutItemScaleBar::lineColor ( ) const
inline

Returns the color used for lines in the scalebar.

See also
setLineColor()

Definition at line 253 of file qgslayoutitemscalebar.h.

◆ lineJoinStyle()

Qt::PenJoinStyle QgsLayoutItemScaleBar::lineJoinStyle ( ) const
inline

Returns the join style used for drawing lines in the scalebar.

See also
setLineJoinStyle()

Definition at line 371 of file qgslayoutitemscalebar.h.

◆ lineWidth()

double QgsLayoutItemScaleBar::lineWidth ( ) const
inline

Returns the line width in millimeters for lines in the scalebar.

See also
setLineWidth()

Definition at line 265 of file qgslayoutitemscalebar.h.

◆ linkedMap()

QgsLayoutItemMap* QgsLayoutItemScaleBar::linkedMap ( ) const
inline

Returns the map item linked to the scalebar.

See also
setLinkedMap()

Definition at line 317 of file qgslayoutitemscalebar.h.

◆ mapUnitsPerScaleBarUnit()

double QgsLayoutItemScaleBar::mapUnitsPerScaleBarUnit ( ) const
inline

Returns the number of map units per scale bar unit used by the scalebar.

See also
setMapUnitsPerScaleBarUnit()

Definition at line 157 of file qgslayoutitemscalebar.h.

◆ maximumBarWidth()

double QgsLayoutItemScaleBar::maximumBarWidth ( ) const
inline

Returns the maximum width (in millimeters) for scale bar segments.

This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

See also
segmentSizeMode()
setMaximumBarWidth()
minimumBarWidth()

Definition at line 141 of file qgslayoutitemscalebar.h.

◆ minimumBarWidth()

double QgsLayoutItemScaleBar::minimumBarWidth ( ) const
inline

Returns the minimum width (in millimeters) for scale bar segments.

This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

See also
segmentSizeMode()
setMinimumBarWidth()
maximumBarWidth()

Definition at line 121 of file qgslayoutitemscalebar.h.

◆ minimumSize()

QgsLayoutSize QgsLayoutItemScaleBar::minimumSize ( ) const
overridevirtual

Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely resized.

See also
setMinimumSize()
fixedSize()

Reimplemented from QgsLayoutItem.

Definition at line 65 of file qgslayoutitemscalebar.cpp.

◆ numberOfSegments()

int QgsLayoutItemScaleBar::numberOfSegments ( ) const
inline

Returns the number of segments included in the scalebar.

See also
setNumberOfSegments()
numberOfSegmentsLeft()

Definition at line 62 of file qgslayoutitemscalebar.h.

◆ numberOfSegmentsLeft()

int QgsLayoutItemScaleBar::numberOfSegmentsLeft ( ) const
inline

Returns the number of segments included in the left part of the scalebar.

See also
setNumberOfSegmentsLeft()
numberOfSegments()

Definition at line 76 of file qgslayoutitemscalebar.h.

◆ pen()

QPen QgsLayoutItemScaleBar::pen ( ) const
inline

Returns the pen used for drawing outlines in the scalebar.

See also
brush()

Definition at line 277 of file qgslayoutitemscalebar.h.

◆ readPropertiesFromElement()

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

Sets item state from a DOM element.

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

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

See also
writePropertiesToElement()
readXml()

Reimplemented from QgsLayoutItem.

Definition at line 657 of file qgslayoutitemscalebar.cpp.

◆ refreshDataDefinedProperty()

void QgsLayoutItemScaleBar::refreshDataDefinedProperty ( QgsLayoutObject::DataDefinedProperty  property = QgsLayoutObject::AllProperties)
overridevirtual

Refreshes a data defined property for the item by reevaluating the property's value and redrawing the item with this new value.

If property is set to QgsLayoutObject::AllProperties then all data defined properties for the item will be refreshed.

Reimplemented from QgsLayoutItem.

Definition at line 201 of file qgslayoutitemscalebar.cpp.

◆ resizeToMinimumWidth()

void QgsLayoutItemScaleBar::resizeToMinimumWidth ( )

Resizes the scale bar to its minimum width, without changing the height.

Definition at line 485 of file qgslayoutitemscalebar.cpp.

◆ segmentSizeMode()

QgsScaleBarSettings::SegmentSizeMode QgsLayoutItemScaleBar::segmentSizeMode ( ) const
inline

Returns the size mode for the scale bar segments.

See also
setSegmentSizeMode()
minimumBarWidth()
maximumBarWidth()

Definition at line 103 of file qgslayoutitemscalebar.h.

◆ setAlignment()

void QgsLayoutItemScaleBar::setAlignment ( QgsScaleBarSettings::Alignment  alignment)

Sets the scalebar alignment.

See also
alignment()

Definition at line 341 of file qgslayoutitemscalebar.cpp.

◆ setBoxContentSpace()

void QgsLayoutItemScaleBar::setBoxContentSpace ( double  space)

Sets the space (margin) between the scalebar box and content in millimeters.

See also
boxContentSpace()

Definition at line 160 of file qgslayoutitemscalebar.cpp.

◆ setFillColor()

void QgsLayoutItemScaleBar::setFillColor ( const QColor &  color)
inline

Sets the color used for fills in the scalebar.

See also
fillColor()
setFillColor2()

Definition at line 233 of file qgslayoutitemscalebar.h.

◆ setFillColor2()

void QgsLayoutItemScaleBar::setFillColor2 ( const QColor &  color)
inline

Sets the secondary color used for fills in the scalebar.

See also
fillColor2()
setFillColor2()

Definition at line 247 of file qgslayoutitemscalebar.h.

◆ setFont()

void QgsLayoutItemScaleBar::setFont ( const QFont &  font)

Sets the font used for drawing text in the scalebar.

See also
font()
Deprecated:
use setTextFormat() instead

Definition at line 568 of file qgslayoutitemscalebar.cpp.

◆ setFontColor()

void QgsLayoutItemScaleBar::setFontColor ( const QColor &  color)

Sets the color used for drawing text in the scalebar.

See also
fontColor()
setFont()
Deprecated:
use setTextFormat() instead

Definition at line 584 of file qgslayoutitemscalebar.cpp.

◆ setHeight()

void QgsLayoutItemScaleBar::setHeight ( double  height)
inline

Sets the scalebar height (in millimeters).

See also
height()

Definition at line 305 of file qgslayoutitemscalebar.h.

◆ setLabelBarSpace()

void QgsLayoutItemScaleBar::setLabelBarSpace ( double  space)
inline

Sets the spacing (in millimeters) between labels and the scalebar.

See also
labelBarSpace()

Definition at line 329 of file qgslayoutitemscalebar.h.

◆ setLineCapStyle()

void QgsLayoutItemScaleBar::setLineCapStyle ( Qt::PenCapStyle  style)

Sets the cap style used when drawing the lines in the scalebar.

See also
lineCapStyle()

Definition at line 368 of file qgslayoutitemscalebar.cpp.

◆ setLineColor()

void QgsLayoutItemScaleBar::setLineColor ( const QColor &  color)
inline

Sets the color used for lines in the scalebar.

See also
lineColor()

Definition at line 259 of file qgslayoutitemscalebar.h.

◆ setLineJoinStyle()

void QgsLayoutItemScaleBar::setLineJoinStyle ( Qt::PenJoinStyle  style)

Sets the join style used when drawing the lines in the scalebar.

See also
lineJoinStyle()

Definition at line 356 of file qgslayoutitemscalebar.cpp.

◆ setLineWidth()

void QgsLayoutItemScaleBar::setLineWidth ( double  width)
inline

Sets the line width in millimeters for lines in the scalebar.

See also
lineWidth()

Definition at line 271 of file qgslayoutitemscalebar.h.

◆ setLinkedMap()

void QgsLayoutItemScaleBar::setLinkedMap ( QgsLayoutItemMap map)

Sets the map item linked to the scalebar.

See also
linkedMap()

Definition at line 171 of file qgslayoutitemscalebar.cpp.

◆ setMapUnitsPerScaleBarUnit()

void QgsLayoutItemScaleBar::setMapUnitsPerScaleBarUnit ( double  units)
inline

Sets the number of map units per scale bar unit used by the scalebar.

See also
mapUnitsPerScaleBarUnit()

Definition at line 163 of file qgslayoutitemscalebar.h.

◆ setMaximumBarWidth()

void QgsLayoutItemScaleBar::setMaximumBarWidth ( double  maxWidth)

Sets the maximum width (in millimeters) for scale bar segments.

This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

See also
minimumBarWidth()
setMinimumBarWidth()
setSegmentSizeMode()

Definition at line 125 of file qgslayoutitemscalebar.cpp.

◆ setMinimumBarWidth()

void QgsLayoutItemScaleBar::setMinimumBarWidth ( double  minWidth)

Sets the minimum width (in millimeters) for scale bar segments.

This property is only effective if the segmentSizeMode() is set to SegmentSizeFitWidth.

See also
minimumBarWidth()
setMaximumBarWidth()
setSegmentSizeMode()

Definition at line 113 of file qgslayoutitemscalebar.cpp.

◆ setNumberOfSegments()

void QgsLayoutItemScaleBar::setNumberOfSegments ( int  segments)

Sets the number of segments included in the scalebar.

See also
numberOfSegments()
setNumberOfSegmentsLeft()

Definition at line 78 of file qgslayoutitemscalebar.cpp.

◆ setNumberOfSegmentsLeft()

void QgsLayoutItemScaleBar::setNumberOfSegmentsLeft ( int  segments)

Sets the number of segments included in the left part of the scalebar.

See also
numberOfSegmentsLeft()
setNumberOfSegments()

Definition at line 149 of file qgslayoutitemscalebar.cpp.

◆ setSegmentSizeMode()

void QgsLayoutItemScaleBar::setSegmentSizeMode ( QgsScaleBarSettings::SegmentSizeMode  mode)

Sets the size mode for scale bar segments.

See also
segmentSizeMode()
setMinimumBarWidth()
setMaximumBarWidth()

Definition at line 101 of file qgslayoutitemscalebar.cpp.

◆ setStyle()

void QgsLayoutItemScaleBar::setStyle ( const QString &  name)

Sets the scale bar style by name.

The name parameter gives the (untranslated) style name. Possibilities are: 'Single Box', 'Double Box', 'Line Ticks Middle', 'Line Ticks Down', 'Line Ticks Up', 'Numeric'

See also
style()

Definition at line 515 of file qgslayoutitemscalebar.cpp.

◆ setTextFormat()

void QgsLayoutItemScaleBar::setTextFormat ( const QgsTextFormat format)

Sets the text format used for drawing text in the scalebar.

See also
textFormat()
Since
QGIS 3.2

Definition at line 142 of file qgslayoutitemscalebar.cpp.

◆ setUnitLabel()

void QgsLayoutItemScaleBar::setUnitLabel ( const QString &  label)
inline

Sets the label for units.

See also
unitLabel()

Definition at line 175 of file qgslayoutitemscalebar.h.

◆ setUnits()

void QgsLayoutItemScaleBar::setUnits ( QgsUnitTypes::DistanceUnit  units)

Sets the distance units used by the scalebar.

See also
units()

Definition at line 348 of file qgslayoutitemscalebar.cpp.

◆ setUnitsPerSegment()

void QgsLayoutItemScaleBar::setUnitsPerSegment ( double  units)

Sets the number of scalebar units per segment.

See also
unitsPerSegment()

Definition at line 89 of file qgslayoutitemscalebar.cpp.

◆ style()

QString QgsLayoutItemScaleBar::style ( ) const

Returns the scale bar style name.

See also
setStyle()

Definition at line 551 of file qgslayoutitemscalebar.cpp.

◆ textFormat()

QgsTextFormat QgsLayoutItemScaleBar::textFormat ( ) const

Returns the text format used for drawing text in the scalebar.

See also
setTextFormat()
Since
QGIS 3.2

Definition at line 137 of file qgslayoutitemscalebar.cpp.

◆ type()

int QgsLayoutItemScaleBar::type ( ) const
override

Definition at line 50 of file qgslayoutitemscalebar.cpp.

◆ unitLabel()

QString QgsLayoutItemScaleBar::unitLabel ( ) const
inline

Returns the label for units.

See also
setUnitLabel()

Definition at line 169 of file qgslayoutitemscalebar.h.

◆ units()

QgsUnitTypes::DistanceUnit QgsLayoutItemScaleBar::units ( ) const
inline

Returns the distance units used by the scalebar.

See also
setUnits()

Definition at line 359 of file qgslayoutitemscalebar.h.

◆ unitsPerSegment()

double QgsLayoutItemScaleBar::unitsPerSegment ( ) const
inline

Returns the number of scalebar units per segment.

See also
setUnitsPerSegment()

Definition at line 89 of file qgslayoutitemscalebar.h.

◆ update()

void QgsLayoutItemScaleBar::update ( )

Adjusts the scale bar box size and updates the item.

Definition at line 498 of file qgslayoutitemscalebar.cpp.

◆ writePropertiesToElement()

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

Stores item state within an XML DOM element.

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

Reimplemented from QgsLayoutItem.

Definition at line 590 of file qgslayoutitemscalebar.cpp.

Friends And Related Function Documentation

◆ QgsCompositionConverter

friend class QgsCompositionConverter
friend

Definition at line 473 of file qgslayoutitemscalebar.h.


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