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 );}
187 void setFont(
const QFont &font );
194 QColor
fontColor()
const {
return mSettings.fontColor(); }
201 void setFontColor(
const QColor &color ) { mSettings.setFontColor( color ); }
208 QColor
fillColor()
const {
return mSettings.fillColor(); }
215 void setFillColor(
const QColor &color ) { mSettings.setFillColor( color ); }
229 void setFillColor2(
const QColor &color ) { mSettings.setFillColor2( color ); }
235 QColor
lineColor()
const {
return mSettings.lineColor(); }
241 void setLineColor(
const QColor &color ) { mSettings.setLineColor( color ); }
247 double lineWidth()
const {
return mSettings.lineWidth(); }
260 QPen
pen()
const {
return mSettings.pen(); }
269 QBrush
brush()
const {
return mSettings.brush();}
278 QBrush
brush2()
const {
return mSettings.brush2(); }
284 double height()
const {
return mSettings.height(); }
290 void setHeight(
double height ) { mSettings.setHeight( height ); }
326 void setBoxContentSpace(
double space );
356 Qt::PenJoinStyle
lineJoinStyle()
const {
return mSettings.lineJoinStyle(); }
362 void setLineJoinStyle( Qt::PenJoinStyle style );
368 Qt::PenCapStyle
lineCapStyle()
const {
return mSettings.lineCapStyle(); }
374 void setLineCapStyle( Qt::PenCapStyle style );
380 void applyDefaultSettings();
400 void resizeToMinimumWidth();
411 void setStyle(
const QString &name );
417 QString style()
const;
434 void disconnectCurrentMap();
445 std::unique_ptr< QgsScaleBarRenderer > mStyle;
448 double mSegmentMillimeters = 0.0;
451 void refreshSegmentMillimeters();
454 double mapWidth()
const;
462 #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.
void setFontColor(const QColor &color)
Sets the color used for drawing text in the scalebar.
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).
void setLineColor(const QColor &color)
Sets the color used for lines in the scalebar.
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.
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. ...
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.
virtual void refreshDataDefinedProperty(const QgsLayoutObject::DataDefinedProperty property=QgsLayoutObject::AllProperties)
Refreshes a data defined property for the item by reevaluating the property's value and redrawing the...
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.
QColor fontColor() const
Returns the color used for drawing text in the scalebar.
virtual void draw(QgsLayoutItemRenderContext &context)=0
Draws the item's contents using the specified item render context.
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
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.