QGIS API Documentation  2.99.0-Master (a18066b)
Public Types | Public Slots | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
QgsComposerScaleBar Class Reference

A scale bar item that can be added to a map composition. More...

#include <qgscomposerscalebar.h>

Inheritance diagram for QgsComposerScaleBar:
Inheritance graph
[legend]

Public Types

enum  Alignment { Left = 0, Middle, Right }
 
enum  ScaleBarUnits { MapUnits = 0, Meters, Feet, NauticalMiles }
 
enum  SegmentSizeMode { SegmentSizeFixed = 0, SegmentSizeFitWidth = 1 }
 Modes for setting size for scale bar segments. More...
 
- Public Types inherited from QgsComposerItem
enum  ItemPositionMode {
  UpperLeft, UpperMiddle, UpperRight, MiddleLeft,
  Middle, MiddleRight, LowerLeft, LowerMiddle,
  LowerRight
}
 
enum  ItemType {
  ComposerItem = UserType + 100, ComposerArrow, ComposerItemGroup, ComposerLabel,
  ComposerLegend, ComposerMap, ComposerPaper, ComposerPicture,
  ComposerScaleBar, ComposerShape, ComposerPolygon, ComposerPolyline,
  ComposerTable, ComposerAttributeTable, ComposerTextTable, ComposerFrame
}
 
enum  MouseMoveAction {
  MoveItem, ResizeUp, ResizeDown, ResizeLeft,
  ResizeRight, ResizeLeftUp, ResizeRightUp, ResizeLeftDown,
  ResizeRightDown, NoAction
}
 Describes the action (move or resize in different directon) to be done during mouse move. More...
 
enum  ZoomMode { Zoom = 0, ZoomRecenter, ZoomToPoint, NoZoom }
 Modes for zooming item content. More...
 
- Public Types inherited from QgsComposerObject
enum  DataDefinedProperty {
  NoProperty = 0, AllProperties, TestProperty, PresetPaperSize,
  PaperWidth, PaperHeight, NumPages, PaperOrientation,
  PageNumber, PositionX, PositionY, ItemWidth,
  ItemHeight, ItemRotation, Transparency, BlendMode,
  ExcludeFromExports, FrameColor, BackgroundColor, MapRotation,
  MapScale, MapXMin, MapYMin, MapXMax,
  MapYMax, MapAtlasMargin, MapLayers, MapStylePreset,
  PictureSource, PictureSvgBackgroundColor, PictureSvgStrokeColor, PictureSvgStrokeWidth,
  SourceUrl, LegendTitle, LegendColumnCount, ScalebarFillColor,
  ScalebarFillColor2, ScalebarLineColor, ScalebarLineWidth
}
 Data defined properties for different item types. More...
 
enum  PropertyValueType { EvaluatedValue = 0, OriginalValue }
 Specifies whether the value returned by a function should be the original, user set value, or the current evaluated value for the property. More...
 

Public Slots

void invalidateCurrentMap ()
 Sets mCompositionMap to 0 if the map is deleted. More...
 
virtual void refreshDataDefinedProperty (const QgsComposerObject::DataDefinedProperty property=QgsComposerObject::AllProperties, const QgsExpressionContext *context=nullptr) override
 
void updateSegmentSize ()
 
- Public Slots inherited from QgsComposerItem
virtual void refreshDataDefinedProperty (const QgsComposerObject::DataDefinedProperty property=QgsComposerObject::AllProperties, const QgsExpressionContext *context=nullptr) 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 repaint () override
 
virtual void setItemRotation (const double r, const bool adjustPosition=false)
 Sets the item rotation. More...
 
- Public Slots inherited from QgsComposerObject
virtual void refreshDataDefinedProperty (const DataDefinedProperty property=AllProperties, const QgsExpressionContext *context=nullptr)
 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 repaint ()
 Triggers a redraw for the item. More...
 

Public Member Functions

 QgsComposerScaleBar (QgsComposition *composition)
 
 ~QgsComposerScaleBar ()
 
void adjustBoxSize ()
 Sets box size suitable to content. More...
 
Alignment alignment () const
 Left / Middle/ Right. More...
 
void applyDefaultSettings ()
 Apply default settings. More...
 
void applyDefaultSize (ScaleBarUnits u=Meters)
 Apply default size (scale bar 1/5 of map item width) More...
 
double boxContentSpace () const
 
QBrush brush () const
 Returns the primary brush for the scalebar. More...
 
QBrush brush2 () const
 Returns the secondary brush for the scalebar. More...
 
const QgsComposerMapcomposerMap () const
 
void correctXPositionAlignment (double width, double widthAfter)
 Moves scalebar position to the left / right depending on alignment and change in item width. 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...
 
QString firstLabelString () const
 Returns string of first label (important for drawing, labeling, size calculation. More...
 
QFont font () const
 
QColor fontColor () const
 Returns the color used for drawing text in the scalebar. More...
 
double height () const
 
double labelBarSpace () const
 
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...
 
double maxBarWidth () const
 Returns the maximum size (in millimeters) for scale bar segments. More...
 
double minBarWidth () const
 Returns the minimum size (in millimeters) for scale bar segments. More...
 
double numMapUnitsPerScaleBarUnit () const
 
int numSegments () const
 
int numSegmentsLeft () const
 
double numUnitsPerSegment () const
 
void paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget) override
 Reimplementation of QCanvasItem::paint. More...
 
QPen pen () const
 Returns the pen used for drawing the scalebar. More...
 
bool readXml (const QDomElement &itemElem, const QDomDocument &doc) override
 Sets state from Dom document. More...
 
double segmentMillimeters () const
 
void segmentPositions (QList< QPair< double, double > > &posWidthList) const
 Returns the x - positions of the segment borders (in item coordinates) and the width of the segment. More...
 
SegmentSizeMode segmentSizeMode () const
 Returns the size mode for scale bar segments. More...
 
void setAlignment (Alignment a)
 
void setBoxContentSpace (double space)
 
void setComposerMap (const QgsComposerMap *map)
 
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...
 
void setFont (const QFont &font)
 
void setFontColor (const QColor &c)
 Sets the color used for drawing text in the scalebar. More...
 
void setHeight (double h)
 
void setLabelBarSpace (double space)
 
void setLineCapStyle (Qt::PenCapStyle style)
 Sets 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 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 setMaxBarWidth (double maxWidth)
 Sets the maximum size (in millimeters) for scale bar segments. More...
 
void setMinBarWidth (double minWidth)
 Sets the minimum size (in millimeters) for scale bar segments. More...
 
void setNumMapUnitsPerScaleBarUnit (double d)
 
void setNumSegments (int nSegments)
 
void setNumSegmentsLeft (int nSegmentsLeft)
 
void setNumUnitsPerSegment (double units)
 
void setSceneRect (const QRectF &rectangle) override
 Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit. More...
 
void setSegmentSizeMode (SegmentSizeMode mode)
 Sets the size mode for scale bar segments. More...
 
void setStyle (const QString &styleName)
 Sets style by name. More...
 
void setUnitLabeling (const QString &label)
 
void setUnits (ScaleBarUnits u)
 
QString style () const
 Returns style name. More...
 
virtual int type () const override
 Return correct graphics item type. More...
 
QString unitLabeling () const
 
ScaleBarUnits units () const
 
void update ()
 Adjusts box size and calls QgsComposerItem::update() More...
 
bool writeXml (QDomElement &elem, QDomDocument &doc) const override
 Stores state in Dom element. More...
 
- Public Member Functions inherited from QgsComposerItem
 QgsComposerItem (QgsComposition *composition, bool manageZValue=true)
 Constructor. More...
 
 QgsComposerItem (qreal x, qreal y, qreal width, qreal height, QgsComposition *composition, bool manageZValue=true)
 Constructor with box position and composer object. More...
 
virtual ~QgsComposerItem ()
 
bool _readXml (const QDomElement &itemElem, const QDomDocument &doc)
 Reads parameter that are not subclass specific in document. Usually called from readXml methods of subclasses. More...
 
bool _writeXml (QDomElement &itemElem, QDomDocument &doc) const
 Writes parameter that are not subclass specific in document. Usually called from writeXml methods of subclasses. More...
 
virtual void addItem (QgsComposerItem *item)
 Composite operations for item groups do nothing per default. More...
 
QColor backgroundColor () const
 Gets the background color for this item. More...
 
void beginCommand (const QString &commandText, QgsComposerMergeCommand::Context c=QgsComposerMergeCommand::Unknown)
 Starts new composer undo command. More...
 
virtual void beginItemCommand (const QString &text)
 
QPainter::CompositionMode blendMode () const
 Returns the item's composition blending mode. More...
 
void cancelCommand ()
 
virtual QgsExpressionContext createExpressionContext () const override
 Creates an expression context relating to the item's current state. More...
 
virtual QString displayName () const
 Get item display name. More...
 
bool effectsEnabled () const
 Returns whether effects (e.g., blend modes) are enabled for the item. More...
 
void endCommand ()
 Finish current command and push it onto the undo stack. More...
 
virtual void endItemCommand ()
 
virtual double estimatedFrameBleed () const
 Returns the estimated amount the item's frame bleeds outside the item's actual rectangle. More...
 
bool excludeFromExports (const QgsComposerObject::PropertyValueType valueType=QgsComposerObject::EvaluatedValue)
 Returns whether the item should be excluded from composer exports and prints. 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...
 
double frameStrokeWidth () const
 Returns the frame's stroke width. More...
 
bool hasBackground () const
 Whether this item has a Background or not. More...
 
bool hasFrame () const
 Whether this item has a frame or not. More...
 
QString id () const
 Get item's id (which is not necessarly unique) More...
 
bool isGroupMember () const
 Returns whether this item is part of a group. More...
 
virtual bool isRemoved () const
 Returns whether this item has been removed from the composition. More...
 
double itemRotation (const QgsComposerObject::PropertyValueType valueType=QgsComposerObject::EvaluatedValue) const
 Returns the current rotation for the composer item. More...
 
ItemPositionMode lastUsedPositionMode ()
 Returns item's last used position mode. More...
 
void move (double dx, double dy)
 Moves item in canvas coordinates. More...
 
virtual void moveContent (double dx, double dy)
 Move Content of item. More...
 
virtual int numberExportLayers () const
 Get the number of layers that this item requires for exporting as layers. More...
 
int page () const
 Gets the page the item is currently on. More...
 
QPointF pagePos () const
 Returns the item's position relative to its current page. More...
 
bool positionLock () const
 Returns whether position lock for mouse drags is enabled returns true if item is locked for mouse movement and resizing. More...
 
virtual QRectF rectWithFrame () const
 Returns the item's rectangular bounds, including any bleed caused by the item's frame. More...
 
virtual void removeItems ()
 
virtual bool selected () const
 Is selected. More...
 
void setBackgroundColor (const QColor &backgroundColor)
 Sets the background color for this item. More...
 
void setBackgroundEnabled (const bool drawBackground)
 Set whether this item has a Background drawn around it or not. More...
 
void setBlendMode (const QPainter::CompositionMode blendMode)
 Sets the item's composition blending mode. More...
 
virtual void setCurrentExportLayer (const int layerIdx=-1)
 Sets the current layer to draw for exporting. More...
 
void setEffectsEnabled (const bool effectsEnabled)
 Sets whether effects (e.g., blend modes) are enabled for the item. More...
 
virtual void setExcludeFromExports (const bool exclude)
 Sets whether the item should be excluded from composer exports and prints. More...
 
virtual void setFrameEnabled (const bool drawFrame)
 Set whether this item has a frame drawn around it or not. More...
 
void setFrameJoinStyle (const Qt::PenJoinStyle style)
 Sets join style used when drawing the item's frame. More...
 
virtual void setFrameStrokeColor (const QColor &color)
 Sets frame stroke color. More...
 
virtual void setFrameStrokeWidth (const double strokeWidth)
 Sets frame stroke width. More...
 
virtual void setId (const QString &id)
 Set item's id (which is not necessarly unique) More...
 
void setIsGroupMember (const bool isGroupMember)
 Sets whether this item is part of a group. More...
 
void setIsRemoved (const bool removed)
 Sets whether this item has been removed from the composition. More...
 
void setItemPosition (double x, double y, ItemPositionMode itemPoint=UpperLeft, int page=-1)
 Moves the item to a new position (in canvas coordinates) More...
 
void setItemPosition (double x, double y, double width, double height, ItemPositionMode itemPoint=UpperLeft, bool posIncludesFrame=false, int page=-1)
 Sets item position and width / height in one go. More...
 
void setPositionLock (const bool lock)
 Locks / unlocks the item position for mouse drags. More...
 
virtual void setSelected (bool s)
 Set selected, selected item should be highlighted. More...
 
void setTransparency (const int transparency)
 Sets the item's transparency. More...
 
virtual void setVisibility (const bool visible)
 Sets visibility for item. More...
 
int transparency () const
 Returns the item's transparency. More...
 
virtual void updateItem ()
 Updates item, with the possibility to do custom update for subclasses. More...
 
void updatePagePos (double newPageWidth, double newPageHeight)
 Moves the item so that it retains its relative position on the page when the paper size changes. More...
 
QString uuid () const
 Get item identification name. More...
 
virtual void zoomContent (const double factor, const QPointF point, const ZoomMode mode=QgsComposerItem::Zoom)
 Zoom content of item. More...
 
- Public Member Functions inherited from QgsComposerObject
 QgsComposerObject (QgsComposition *composition)
 Constructor. More...
 
virtual ~QgsComposerObject ()=default
 
const QgsCompositioncomposition () const
 Returns the composition the item is attached to. More...
 
QgsCompositioncomposition ()
 
QStringList customProperties () const
 Return 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...
 
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
 

Protected Member Functions

double mapWidth () const
 Returns diagonal of composer map in selected units (map units / meters / feet / nautical miles) More...
 
void refreshSegmentMillimeters ()
 Calculates with of a segment in mm and stores it in mSegmentMillimeters. More...
 
- Protected Member Functions inherited from QgsComposerItem
void deleteAlignItems ()
 
void deleteHAlignSnapItem ()
 
void deleteVAlignSnapItem ()
 
virtual void drawBackground (QPainter *p)
 Draw background. More...
 
virtual void drawFrame (QPainter *p)
 Draw black frame around item. More...
 
virtual void drawSelectionBoxes (QPainter *p)
 Draws additional graphics on selected items. More...
 
QRectF evalItemRect (const QRectF &newRect, const bool resizeOnly=false, const QgsExpressionContext *context=nullptr)
 Evaluates an item's bounding rect to consider data defined position and size of item and reference point. More...
 
QGraphicsLineItem * hAlignSnapItem ()
 Return horizontal align snap item. Creates a new graphics line if 0. More...
 
double horizontalViewScaleFactor () const
 Returns the zoom factor of the graphics view. More...
 
double rectHandlerBorderTolerance () const
 Returns the current (zoom level dependent) tolerance to decide if mouse position is close enough to the item border for resizing. More...
 
bool shouldDrawItem () const
 Returns whether the item should be drawn in the current context. More...
 
QGraphicsLineItem * vAlignSnapItem ()
 Return vertical align snap item. Creates a new graphics line if 0. More...
 

Protected Attributes

Alignment mAlignment
 
double mBoxContentSpace
 Space between content and item box. More...
 
QBrush mBrush
 Fill. More...
 
QBrush mBrush2
 Secondary fill. More...
 
const QgsComposerMapmComposerMap = nullptr
 Reference to composer map object. More...
 
QColor mFillColor = QColor( 0, 0, 0 )
 Fill color. More...
 
QColor mFillColor2 = QColor( 255, 255, 255 )
 Secondary fill color. More...
 
QFont mFont
 Font. More...
 
QColor mFontColor
 
double mHeight
 Height of bars/lines. More...
 
double mLabelBarSpace
 Space between bar and Text labels. More...
 
Qt::PenCapStyle mLineCapStyle
 
QColor mLineColor = QColor( 0, 0, 0 )
 Line color. More...
 
Qt::PenJoinStyle mLineJoinStyle
 
double mLineWidth = 0.3
 Line width. More...
 
double mMaxBarWidth
 Maximum allowed bar width, when mSegmentSizeMode is FitWidth. More...
 
double mMinBarWidth
 Minimum allowed bar width, when mSegmentSizeMode is FitWidth. More...
 
double mNumMapUnitsPerScaleBarUnit
 Number of map units per scale bar units (e.g. 1000 to have km for a map with m units) More...
 
int mNumSegments
 Number of segments on right side. More...
 
int mNumSegmentsLeft
 Number of segments on left side. More...
 
double mNumUnitsPerSegment
 Size of a segment (in map units) More...
 
QPen mPen
 Stroke. More...
 
double mSegmentMillimeters
 Width of a segment (in mm) More...
 
SegmentSizeMode mSegmentSizeMode
 Either fixed (i.e. mNumUnitsPerSegment) or try to best fit scale bar width (mMinBarWidth, mMaxBarWidth) More...
 
QgsScaleBarStylemStyle = nullptr
 Scalebar style. More...
 
QString mUnitLabeling
 Labeling of map units. More...
 
ScaleBarUnits mUnits
 
- Protected Attributes inherited from QgsComposerItem
bool mBackground
 True if item background needs to be painted. More...
 
QColor mBackgroundColor
 Background color. More...
 
QPainter::CompositionMode mBlendMode
 Composition blend mode for item. More...
 
QGraphicsRectItem * mBoundingResizeRectangle = nullptr
 Rectangle used during move and resize actions. More...
 
int mCurrentExportLayer
 The layer that needs to be exported. More...
 
QgsComposerItem::MouseMoveAction mCurrentMouseMoveAction
 
QgsComposerEffectmEffect = nullptr
 
bool mEffectsEnabled
 
bool mEvaluatedExcludeFromExports
 Temporary evaluated item exclusion. More...
 
double mEvaluatedItemRotation
 Temporary evaluated item rotation in degrees, clockwise. More...
 
bool mExcludeFromExports
 Whether item should be excluded in exports. More...
 
bool mFrame
 True if item fram needs to be painted. More...
 
QColor mFrameColor
 Item frame color. More...
 
Qt::PenJoinStyle mFrameJoinStyle = Qt::MiterJoin
 Frame join style. More...
 
double mFrameWidth = 0.3
 Item frame width. More...
 
QGraphicsLineItem * mHAlignSnapItem = nullptr
 
bool mIsGroupMember
 Whether or not this item is part of a group. More...
 
bool mItemPositionLocked
 True if item position and size cannot be changed with mouse move. More...
 
double mItemRotation
 Item rotation in degrees, clockwise. More...
 
QPointF mLastMouseEventPos
 Position of the last mouse move event (in scene coordinates) More...
 
ItemPositionMode mLastUsedPositionMode
 The item's position mode. More...
 
double mLastValidViewScaleFactor
 Backup to restore item appearance if no view scale factor is available. More...
 
QPointF mMouseMoveStartPos
 Start point of the last mouse move action (in scene coordinates) More...
 
bool mRemovedFromComposition
 True if item has been removed from the composition. More...
 
int mTransparency
 Item transparency. More...
 
QGraphicsLineItem * mVAlignSnapItem = nullptr
 
- Protected Attributes inherited from QgsComposerObject
QgsCompositionmComposition = nullptr
 
QgsObjectCustomProperties mCustomProperties
 Custom properties for object. More...
 
QgsPropertyCollection mDataDefinedProperties
 

Additional Inherited Members

- Signals inherited from QgsComposerItem
void frameChanged ()
 Emitted if the item's frame style changes. More...
 
void itemRotationChanged (double newRotation)
 Is emitted on item rotation change. More...
 
void lockChanged ()
 Emitted if the item's lock status changes. More...
 
void sizeChanged ()
 Emitted if the rectangle changes. More...
 
- Signals inherited from QgsComposerObject
void itemChanged ()
 Emitted when the item changes. More...
 
- Static Public Member Functions inherited from QgsComposerObject
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the composer object property definitions. More...
 

Detailed Description

A scale bar item that can be added to a map composition.

Definition at line 32 of file qgscomposerscalebar.h.

Member Enumeration Documentation

◆ Alignment

Enumerator
Left 
Middle 
Right 

Definition at line 38 of file qgscomposerscalebar.h.

◆ ScaleBarUnits

Enumerator
MapUnits 
Meters 
Feet 
NauticalMiles 

Definition at line 45 of file qgscomposerscalebar.h.

◆ SegmentSizeMode

Modes for setting size for scale bar segments.

Enumerator
SegmentSizeFixed 

Scale bar segment size is fixed to a map unit.

SegmentSizeFitWidth 

Scale bar segment size is calculated to fit a size range.

Definition at line 55 of file qgscomposerscalebar.h.

Constructor & Destructor Documentation

◆ QgsComposerScaleBar()

QgsComposerScaleBar::QgsComposerScaleBar ( QgsComposition composition)

Definition at line 40 of file qgscomposerscalebar.cpp.

◆ ~QgsComposerScaleBar()

QgsComposerScaleBar::~QgsComposerScaleBar ( )

Definition at line 59 of file qgscomposerscalebar.cpp.

Member Function Documentation

◆ adjustBoxSize()

void QgsComposerScaleBar::adjustBoxSize ( )

Sets box size suitable to content.

Definition at line 524 of file qgscomposerscalebar.cpp.

◆ alignment()

Alignment QgsComposerScaleBar::alignment ( ) const
inline

Left / Middle/ Right.

Definition at line 252 of file qgscomposerscalebar.h.

◆ applyDefaultSettings()

void QgsComposerScaleBar::applyDefaultSettings ( )

Apply default settings.

Definition at line 407 of file qgscomposerscalebar.cpp.

◆ applyDefaultSize()

void QgsComposerScaleBar::applyDefaultSize ( QgsComposerScaleBar::ScaleBarUnits  u = Meters)

Apply default size (scale bar 1/5 of map item width)

Definition at line 449 of file qgscomposerscalebar.cpp.

◆ boxContentSpace()

double QgsComposerScaleBar::boxContentSpace ( ) const
inline

Definition at line 246 of file qgscomposerscalebar.h.

◆ brush()

QBrush QgsComposerScaleBar::brush ( ) const
inline

Returns the primary brush for the scalebar.

Returns
QBrush used for filling the scalebar
See also
setBrush
brush2
pen

Definition at line 227 of file qgscomposerscalebar.h.

◆ brush2()

QBrush QgsComposerScaleBar::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
setBrush2
brush

Definition at line 235 of file qgscomposerscalebar.h.

◆ composerMap()

const QgsComposerMap* QgsComposerScaleBar::composerMap ( ) const
inline

Definition at line 241 of file qgscomposerscalebar.h.

◆ correctXPositionAlignment()

void QgsComposerScaleBar::correctXPositionAlignment ( double  width,
double  widthAfter 
)

Moves scalebar position to the left / right depending on alignment and change in item width.

Definition at line 942 of file qgscomposerscalebar.cpp.

◆ fillColor()

QColor QgsComposerScaleBar::fillColor ( ) const
inline

Returns the color used for fills in the scalebar.

See also
setFillColor()
fillColor2()
Note
added in QGIS 3.0

Definition at line 167 of file qgscomposerscalebar.h.

◆ fillColor2()

QColor QgsComposerScaleBar::fillColor2 ( ) const
inline

Returns the secondary color used for fills in the scalebar.

See also
setFillColor2()
fillColor()
Note
added in QGIS 3.0

Definition at line 181 of file qgscomposerscalebar.h.

◆ firstLabelString()

QString QgsComposerScaleBar::firstLabelString ( ) const

Returns string of first label (important for drawing, labeling, size calculation.

Definition at line 675 of file qgscomposerscalebar.cpp.

◆ font()

QFont QgsComposerScaleBar::font ( ) const

Definition at line 687 of file qgscomposerscalebar.cpp.

◆ fontColor()

QColor QgsComposerScaleBar::fontColor ( ) const
inline

Returns the color used for drawing text in the scalebar.

Returns
font color for scalebar.
See also
setFontColor
font

Definition at line 153 of file qgscomposerscalebar.h.

◆ height()

double QgsComposerScaleBar::height ( ) const
inline

Definition at line 237 of file qgscomposerscalebar.h.

◆ invalidateCurrentMap

void QgsComposerScaleBar::invalidateCurrentMap ( )
slot

Sets mCompositionMap to 0 if the map is deleted.

Definition at line 216 of file qgscomposerscalebar.cpp.

◆ labelBarSpace()

double QgsComposerScaleBar::labelBarSpace ( ) const
inline

Definition at line 243 of file qgscomposerscalebar.h.

◆ lineCapStyle()

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

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

Returns
Cap style for lines
Note
introduced in 2.3
See also
setLineCapStyle

Definition at line 280 of file qgscomposerscalebar.h.

◆ lineColor()

QColor QgsComposerScaleBar::lineColor ( ) const
inline

Returns the color used for lines in the scalebar.

See also
setLineColor()
Note
added in QGIS 3.0

Definition at line 194 of file qgscomposerscalebar.h.

◆ lineJoinStyle()

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

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

Returns
Join style for lines
Note
introduced in 2.3
See also
setLineJoinStyle

Definition at line 265 of file qgscomposerscalebar.h.

◆ lineWidth()

double QgsComposerScaleBar::lineWidth ( ) const
inline

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

See also
setLineWidth()
Note
added in QGIS 3.0

Definition at line 206 of file qgscomposerscalebar.h.

◆ mapWidth()

double QgsComposerScaleBar::mapWidth ( ) const
protected

Returns diagonal of composer map in selected units (map units / meters / feet / nautical miles)

Definition at line 325 of file qgscomposerscalebar.cpp.

◆ maxBarWidth()

double QgsComposerScaleBar::maxBarWidth ( ) const
inline

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

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

See also
segmentSizeMode
setMaxBarWidth
minBarWidth
Note
added in QGIS 2.9

Definition at line 126 of file qgscomposerscalebar.h.

◆ minBarWidth()

double QgsComposerScaleBar::minBarWidth ( ) const
inline

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

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

See also
segmentSizeMode
setMinBarWidth
maxBarWidth
Note
added in QGIS 2.9

Definition at line 105 of file qgscomposerscalebar.h.

◆ numMapUnitsPerScaleBarUnit()

double QgsComposerScaleBar::numMapUnitsPerScaleBarUnit ( ) const
inline

Definition at line 139 of file qgscomposerscalebar.h.

◆ numSegments()

int QgsComposerScaleBar::numSegments ( ) const
inline

Definition at line 71 of file qgscomposerscalebar.h.

◆ numSegmentsLeft()

int QgsComposerScaleBar::numSegmentsLeft ( ) const
inline

Definition at line 74 of file qgscomposerscalebar.h.

◆ numUnitsPerSegment()

double QgsComposerScaleBar::numUnitsPerSegment ( ) const
inline

Definition at line 77 of file qgscomposerscalebar.h.

◆ paint()

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

Reimplementation of QCanvasItem::paint.

Definition at line 64 of file qgscomposerscalebar.cpp.

◆ pen()

QPen QgsComposerScaleBar::pen ( ) const
inline

Returns the pen used for drawing the scalebar.

Returns
QPen used for drawing the scalebar outlines.
See also
setPen
brush

Definition at line 219 of file qgscomposerscalebar.h.

◆ readXml()

bool QgsComposerScaleBar::readXml ( const QDomElement &  itemElem,
const QDomDocument &  doc 
)
overridevirtual

Sets state from Dom document.

Parameters
itemElemis Dom node corresponding to item tag
docis Dom document

Reimplemented from QgsComposerObject.

Definition at line 778 of file qgscomposerscalebar.cpp.

◆ refreshDataDefinedProperty

void QgsComposerScaleBar::refreshDataDefinedProperty ( const QgsComposerObject::DataDefinedProperty  property = QgsComposerObject::AllProperties,
const QgsExpressionContext context = nullptr 
)
overridevirtualslot

Definition at line 228 of file qgscomposerscalebar.cpp.

◆ refreshSegmentMillimeters()

void QgsComposerScaleBar::refreshSegmentMillimeters ( )
protected

Calculates with of a segment in mm and stores it in mSegmentMillimeters.

Definition at line 277 of file qgscomposerscalebar.cpp.

◆ segmentMillimeters()

double QgsComposerScaleBar::segmentMillimeters ( ) const
inline

Definition at line 249 of file qgscomposerscalebar.h.

◆ segmentPositions()

void QgsComposerScaleBar::segmentPositions ( QList< QPair< double, double > > &  posWidthList) const

Returns the x - positions of the segment borders (in item coordinates) and the width of the segment.

Note
not available in Python bindings

Definition at line 604 of file qgscomposerscalebar.cpp.

◆ segmentSizeMode()

SegmentSizeMode QgsComposerScaleBar::segmentSizeMode ( ) const
inline

Returns the size mode for scale bar segments.

See also
setSegmentSizeMode
minBarWidth
maxBarWidth
Note
added in QGIS 2.9

Definition at line 86 of file qgscomposerscalebar.h.

◆ setAlignment()

void QgsComposerScaleBar::setAlignment ( Alignment  a)

Definition at line 367 of file qgscomposerscalebar.cpp.

◆ setBoxContentSpace()

void QgsComposerScaleBar::setBoxContentSpace ( double  space)

Definition at line 181 of file qgscomposerscalebar.cpp.

◆ setComposerMap()

void QgsComposerScaleBar::setComposerMap ( const QgsComposerMap map)

Definition at line 195 of file qgscomposerscalebar.cpp.

◆ setFillColor()

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

Sets the color used for fills in the scalebar.

See also
fillColor()
setFillColor2()
Note
added in QGIS 3.0

Definition at line 174 of file qgscomposerscalebar.h.

◆ setFillColor2()

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

Sets the secondary color used for fills in the scalebar.

See also
fillColor2()
setFillColor2()
Note
added in QGIS 3.0

Definition at line 188 of file qgscomposerscalebar.h.

◆ setFont()

void QgsComposerScaleBar::setFont ( const QFont &  font)

Definition at line 692 of file qgscomposerscalebar.cpp.

◆ setFontColor()

void QgsComposerScaleBar::setFontColor ( const QColor &  c)
inline

Sets the color used for drawing text in the scalebar.

Parameters
cfont color for scalebar.
See also
fontColor
setFont

Definition at line 160 of file qgscomposerscalebar.h.

◆ setHeight()

void QgsComposerScaleBar::setHeight ( double  h)
inline

Definition at line 238 of file qgscomposerscalebar.h.

◆ setLabelBarSpace()

void QgsComposerScaleBar::setLabelBarSpace ( double  space)
inline

Definition at line 244 of file qgscomposerscalebar.h.

◆ setLineCapStyle()

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

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

Parameters
styleCap style for lines
Returns
nothing
Note
introduced in 2.3
See also
lineCapStyle

Definition at line 394 of file qgscomposerscalebar.cpp.

◆ setLineColor()

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

Sets the color used for lines in the scalebar.

See also
lineColor()
Note
added in QGIS 3.0

Definition at line 200 of file qgscomposerscalebar.h.

◆ setLineJoinStyle()

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

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

Parameters
styleJoin style for lines
Returns
nothing
Note
introduced in 2.3
See also
lineJoinStyle

Definition at line 381 of file qgscomposerscalebar.cpp.

◆ setLineWidth()

void QgsComposerScaleBar::setLineWidth ( double  width)
inline

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

See also
lineWidth()
Note
added in QGIS 3.0

Definition at line 212 of file qgscomposerscalebar.h.

◆ setMaxBarWidth()

void QgsComposerScaleBar::setMaxBarWidth ( double  maxWidth)

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

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

Parameters
maxWidthmaximum width in millimeters
See also
minBarWidth
setMaxBarWidth
setSegmentSizeMode
Note
added in QGIS 2.9

Definition at line 152 of file qgscomposerscalebar.cpp.

◆ setMinBarWidth()

void QgsComposerScaleBar::setMinBarWidth ( double  minWidth)

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

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

Parameters
minWidthminimum width in millimeters
See also
minBarWidth
setMaxBarWidth
setSegmentSizeMode
Note
added in QGIS 2.9

Definition at line 137 of file qgscomposerscalebar.cpp.

◆ setNumMapUnitsPerScaleBarUnit()

void QgsComposerScaleBar::setNumMapUnitsPerScaleBarUnit ( double  d)
inline

Definition at line 140 of file qgscomposerscalebar.h.

◆ setNumSegments()

void QgsComposerScaleBar::setNumSegments ( int  nSegments)

Definition at line 93 of file qgscomposerscalebar.cpp.

◆ setNumSegmentsLeft()

void QgsComposerScaleBar::setNumSegmentsLeft ( int  nSegmentsLeft)

Definition at line 167 of file qgscomposerscalebar.cpp.

◆ setNumUnitsPerSegment()

void QgsComposerScaleBar::setNumUnitsPerSegment ( double  units)

Definition at line 107 of file qgscomposerscalebar.cpp.

◆ setSceneRect()

void QgsComposerScaleBar::setSceneRect ( const QRectF &  rectangle)
overridevirtual

Sets this items bound in scene coordinates such that 1 item size units corresponds to 1 scene size unit.

Reimplemented from QgsComposerItem.

Definition at line 554 of file qgscomposerscalebar.cpp.

◆ setSegmentSizeMode()

void QgsComposerScaleBar::setSegmentSizeMode ( SegmentSizeMode  mode)

Sets the size mode for scale bar segments.

Parameters
modesize mode
See also
segmentSizeMode
setMinBarWidth
setMaxBarWidth
Note
added in QGIS 2.9

Definition at line 122 of file qgscomposerscalebar.cpp.

◆ setStyle()

void QgsComposerScaleBar::setStyle ( const QString &  styleName)

Sets style by name.

Parameters
styleName(untranslated) style name. Possibilities are: 'Single Box', 'Double Box', 'Line Ticks Middle', 'Line Ticks Down', 'Line Ticks Up', 'Numeric'

Definition at line 625 of file qgscomposerscalebar.cpp.

◆ setUnitLabeling()

void QgsComposerScaleBar::setUnitLabeling ( const QString &  label)
inline

Definition at line 143 of file qgscomposerscalebar.h.

◆ setUnits()

void QgsComposerScaleBar::setUnits ( ScaleBarUnits  u)

Definition at line 374 of file qgscomposerscalebar.cpp.

◆ style()

QString QgsComposerScaleBar::style ( ) const

Returns style name.

Definition at line 663 of file qgscomposerscalebar.cpp.

◆ type()

virtual int QgsComposerScaleBar::type ( ) const
inlineoverridevirtual

Return correct graphics item type.

Reimplemented from QgsComposerItem.

Definition at line 65 of file qgscomposerscalebar.h.

◆ unitLabeling()

QString QgsComposerScaleBar::unitLabeling ( ) const
inline

Definition at line 142 of file qgscomposerscalebar.h.

◆ units()

ScaleBarUnits QgsComposerScaleBar::units ( ) const
inline

Definition at line 256 of file qgscomposerscalebar.h.

◆ update()

void QgsComposerScaleBar::update ( )

Adjusts box size and calls QgsComposerItem::update()

Definition at line 580 of file qgscomposerscalebar.cpp.

◆ updateSegmentSize

void QgsComposerScaleBar::updateSegmentSize ( )
slot

Definition at line 590 of file qgscomposerscalebar.cpp.

◆ writeXml()

bool QgsComposerScaleBar::writeXml ( QDomElement &  elem,
QDomDocument &  doc 
) const
overridevirtual

Stores state in Dom element.

Parameters
elemis Dom element corresponding to 'Composer' tag
docDom document

Reimplemented from QgsComposerObject.

Definition at line 699 of file qgscomposerscalebar.cpp.

Member Data Documentation

◆ mAlignment

Alignment QgsComposerScaleBar::mAlignment
protected

Definition at line 393 of file qgscomposerscalebar.h.

◆ mBoxContentSpace

double QgsComposerScaleBar::mBoxContentSpace
protected

Space between content and item box.

Definition at line 388 of file qgscomposerscalebar.h.

◆ mBrush

QBrush QgsComposerScaleBar::mBrush
protected

Fill.

Definition at line 376 of file qgscomposerscalebar.h.

◆ mBrush2

QBrush QgsComposerScaleBar::mBrush2
protected

Secondary fill.

Definition at line 378 of file qgscomposerscalebar.h.

◆ mComposerMap

const QgsComposerMap* QgsComposerScaleBar::mComposerMap = nullptr
protected

Reference to composer map object.

Definition at line 344 of file qgscomposerscalebar.h.

◆ mFillColor

QColor QgsComposerScaleBar::mFillColor = QColor( 0, 0, 0 )
protected

Fill color.

Definition at line 366 of file qgscomposerscalebar.h.

◆ mFillColor2

QColor QgsComposerScaleBar::mFillColor2 = QColor( 255, 255, 255 )
protected

Secondary fill color.

Definition at line 368 of file qgscomposerscalebar.h.

◆ mFont

QFont QgsComposerScaleBar::mFont
protected

Font.

Definition at line 363 of file qgscomposerscalebar.h.

◆ mFontColor

QColor QgsComposerScaleBar::mFontColor
protected

Definition at line 364 of file qgscomposerscalebar.h.

◆ mHeight

double QgsComposerScaleBar::mHeight
protected

Height of bars/lines.

Definition at line 380 of file qgscomposerscalebar.h.

◆ mLabelBarSpace

double QgsComposerScaleBar::mLabelBarSpace
protected

Space between bar and Text labels.

Definition at line 385 of file qgscomposerscalebar.h.

◆ mLineCapStyle

Qt::PenCapStyle QgsComposerScaleBar::mLineCapStyle
protected

Definition at line 398 of file qgscomposerscalebar.h.

◆ mLineColor

QColor QgsComposerScaleBar::mLineColor = QColor( 0, 0, 0 )
protected

Line color.

Definition at line 370 of file qgscomposerscalebar.h.

◆ mLineJoinStyle

Qt::PenJoinStyle QgsComposerScaleBar::mLineJoinStyle
protected

Definition at line 397 of file qgscomposerscalebar.h.

◆ mLineWidth

double QgsComposerScaleBar::mLineWidth = 0.3
protected

Line width.

Definition at line 372 of file qgscomposerscalebar.h.

◆ mMaxBarWidth

double QgsComposerScaleBar::mMaxBarWidth
protected

Maximum allowed bar width, when mSegmentSizeMode is FitWidth.

Definition at line 358 of file qgscomposerscalebar.h.

◆ mMinBarWidth

double QgsComposerScaleBar::mMinBarWidth
protected

Minimum allowed bar width, when mSegmentSizeMode is FitWidth.

Definition at line 356 of file qgscomposerscalebar.h.

◆ mNumMapUnitsPerScaleBarUnit

double QgsComposerScaleBar::mNumMapUnitsPerScaleBarUnit
protected

Number of map units per scale bar units (e.g. 1000 to have km for a map with m units)

Definition at line 352 of file qgscomposerscalebar.h.

◆ mNumSegments

int QgsComposerScaleBar::mNumSegments
protected

Number of segments on right side.

Definition at line 346 of file qgscomposerscalebar.h.

◆ mNumSegmentsLeft

int QgsComposerScaleBar::mNumSegmentsLeft
protected

Number of segments on left side.

Definition at line 348 of file qgscomposerscalebar.h.

◆ mNumUnitsPerSegment

double QgsComposerScaleBar::mNumUnitsPerSegment
protected

Size of a segment (in map units)

Definition at line 350 of file qgscomposerscalebar.h.

◆ mPen

QPen QgsComposerScaleBar::mPen
protected

Stroke.

Definition at line 374 of file qgscomposerscalebar.h.

◆ mSegmentMillimeters

double QgsComposerScaleBar::mSegmentMillimeters
protected

Width of a segment (in mm)

Definition at line 391 of file qgscomposerscalebar.h.

◆ mSegmentSizeMode

SegmentSizeMode QgsComposerScaleBar::mSegmentSizeMode
protected

Either fixed (i.e. mNumUnitsPerSegment) or try to best fit scale bar width (mMinBarWidth, mMaxBarWidth)

Definition at line 354 of file qgscomposerscalebar.h.

◆ mStyle

QgsScaleBarStyle* QgsComposerScaleBar::mStyle = nullptr
protected

Scalebar style.

Definition at line 382 of file qgscomposerscalebar.h.

◆ mUnitLabeling

QString QgsComposerScaleBar::mUnitLabeling
protected

Labeling of map units.

Definition at line 361 of file qgscomposerscalebar.h.

◆ mUnits

ScaleBarUnits QgsComposerScaleBar::mUnits
protected

Definition at line 395 of file qgscomposerscalebar.h.


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