16 #ifndef QGSLAYOUTITEMSCALEBAR_H 17 #define QGSLAYOUTITEMSCALEBAR_H 19 #include "qgis_core.h" 46 int type()
const override;
47 QIcon
icon()
const override;
69 void setNumberOfSegments(
int segments );
83 void setNumberOfSegmentsLeft(
int segments );
95 void setUnitsPerSegment(
double units );
131 void setMinimumBarWidth(
double minWidth );
151 void setMaximumBarWidth(
double maxWidth );
169 QString
unitLabel()
const {
return mSettings.unitLabel(); }
175 void setUnitLabel(
const QString &label ) { mSettings.setUnitLabel( label );}
203 Q_DECL_DEPRECATED
void setFont(
const QFont &font )
SIP_DEPRECATED;
219 Q_DECL_DEPRECATED
void setFontColor(
const QColor &color )
SIP_DEPRECATED;
226 QColor
fillColor()
const {
return mSettings.fillColor(); }
233 void setFillColor(
const QColor &color ) { mSettings.setFillColor( color ); }
247 void setFillColor2(
const QColor &color ) { mSettings.setFillColor2( color ); }
253 QColor
lineColor()
const {
return mSettings.lineColor(); }
259 void setLineColor(
const QColor &color ) { mSettings.setLineColor( color ); }
265 double lineWidth()
const {
return mSettings.lineWidth(); }
277 QPen
pen()
const {
return mSettings.pen(); }
285 QBrush
brush()
const {
return mSettings.brush();}
293 QBrush
brush2()
const {
return mSettings.brush2(); }
299 double height()
const {
return mSettings.height(); }
305 void setHeight(
double height ) { mSettings.setHeight( height ); }
341 void setBoxContentSpace(
double space );
399 Qt::PenJoinStyle
lineJoinStyle()
const {
return mSettings.lineJoinStyle(); }
405 void setLineJoinStyle( Qt::PenJoinStyle style );
411 Qt::PenCapStyle
lineCapStyle()
const {
return mSettings.lineCapStyle(); }
417 void setLineCapStyle( Qt::PenCapStyle style );
423 void applyDefaultSettings();
443 void resizeToMinimumWidth();
454 void setStyle(
const QString &name );
460 QString style()
const;
480 void disconnectCurrentMap();
491 std::unique_ptr< QgsScaleBarRenderer > mStyle;
494 double mSegmentMillimeters = 0.0;
497 void refreshSegmentMillimeters();
500 double mapWidth()
const;
508 #endif //QGSLAYOUTITEMSCALEBAR_H The class is used as a container of context for various read/write operations on other objects...
virtual QIcon icon() const
Returns the item's icon.
void setLineWidth(double width)
Sets the line width in millimeters for lines in the scalebar.
Base class for graphical items within a QgsLayout.
int type() const override
Returns a unique graphics item type identifier.
QColor fillColor2() const
Returns the secondary color used for fills in the scalebar.
LabelVerticalPlacement
Label vertical placement.
QgsScaleBarSettings::Alignment alignment() const
Returns the scalebar alignment.
Alignment
Scalebar alignment.
QBrush brush() const
Returns the primary brush for the scalebar.
void setHeight(double height)
Sets the scalebar height (in millimeters).
An interface for classes which can visit style entity (e.g.
void setLineColor(const QColor &color)
Sets the color used for lines in the scalebar.
QgsScaleBarSettings::LabelHorizontalPlacement labelHorizontalPlacement() const
Returns the horizontal placement of text labels.
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...
LabelHorizontalPlacement
Label horizontal placement.
QColor lineColor() const
Returns the color used for lines in the scalebar.
void setFillColor(const QColor &color)
Sets the color used for fills in the scalebar.
Qt::PenCapStyle lineCapStyle() const
Returns the cap style used for drawing lines in the scalebar.
Layout graphical items for displaying a map.
int numberOfSegments() const
Returns the number of segments included in the scalebar.
virtual QgsLayoutSize minimumSize() const
Returns the minimum allowed size of the item, if applicable, or an empty size if item can be freely r...
virtual bool readPropertiesFromElement(const QDomElement &element, const QDomDocument &document, const QgsReadWriteContext &context)
Sets item state from a DOM element.
double height() const
Returns the scalebar height (in millimeters).
void setMapUnitsPerScaleBarUnit(double units)
Sets the number of map units per scale bar unit used by the scalebar.
QString unitLabel() const
Returns the label for units.
QColor fillColor() const
Returns the color used for fills in the scalebar.
QBrush brush2() const
Returns the secondary brush for the scalebar.
Qt::PenJoinStyle lineJoinStyle() const
Returns the join style used for drawing lines in the scalebar.
QPen pen() const
Returns the pen used for drawing outlines in the scalebar.
double unitsPerSegment() const
Returns the number of scalebar units per segment.
void setUnitLabel(const QString &label)
Sets the label for units.
virtual bool accept(QgsStyleEntityVisitorInterface *visitor) const
Accepts the specified style entity visitor, causing it to visit all style entities associated with th...
void setFillColor2(const QColor &color)
Sets the secondary color used for fills in the scalebar.
SegmentSizeMode
Modes for setting size for scale bar segments.
Base class for layouts, which can contain items such as maps, labels, scalebars, etc.
double lineWidth() const
Returns the line width in millimeters for lines in the scalebar.
QgsLayoutItemMap * linkedMap() const
Returns the map item linked to the scalebar.
Contains settings and helpers relating to a render of a QgsLayoutItem.
DistanceUnit
Units of distance.
virtual void finalizeRestoreFromXml()
Called after all pending items have been restored from XML.
QgsScaleBarSettings::SegmentSizeMode segmentSizeMode() const
Returns the size mode for the scale bar segments.
QgsCompositionConverter class converts a QGIS 2.x composition to a QGIS 3.x layout.
double boxContentSpace() const
Returns the spacing (margin) between the scalebar box and content in millimeters. ...
ExportLayerBehavior
Behavior of item when exporting to layered outputs.
double labelBarSpace() const
Returns the spacing (in millimeters) between labels and the scalebar.
int numberOfSegmentsLeft() const
Returns the number of segments included in the left part of the scalebar.
virtual bool writePropertiesToElement(QDomElement &element, QDomDocument &document, const QgsReadWriteContext &context) const
Stores item state within an XML DOM element.
double maximumBarWidth() const
Returns the maximum width (in millimeters) for scale bar segments.
A layout item subclass for scale bars.
double minimumBarWidth() const
Returns the minimum width (in millimeters) for scale bar segments.
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
QgsScaleBarSettings::LabelVerticalPlacement labelVerticalPlacement() const
Returns the vertical placement of text labels.
Container for all settings relating to text rendering.
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
virtual ExportLayerBehavior exportLayerBehavior() const
Returns the behavior of this item during exporting to layered exports (e.g.
DataDefinedProperty
Data defined properties for different item types.
QgsUnitTypes::DistanceUnit units() const
Returns the distance units used by the scalebar.
double mapUnitsPerScaleBarUnit() const
Returns the number of map units per scale bar unit used by the scalebar.
The QgsScaleBarSettings class stores the appearance and layout settings for scalebar drawing with Qgs...
void setLabelBarSpace(double space)
Sets the spacing (in millimeters) between labels and the scalebar.
Contains parameters regarding scalebar calculations.