QGIS API Documentation 3.41.0-Master (45a0abf3bec)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
QgsTextBlockFormat Class Reference

Stores information relating to individual block formatting. More...

#include <qgstextblockformat.h>

Public Types

enum class  BooleanValue { NotSet , SetTrue , SetFalse }
 Status values for boolean format properties. More...
 

Public Member Functions

 QgsTextBlockFormat ()=default
 
 QgsTextBlockFormat (const QTextBlockFormat &format)
 Constructor for QgsTextBlockFormat, based on the specified QTextBlockFormat format.
 
bool hasHorizontalAlignmentSet () const
 Returns true if the format has an explicit horizontal alignment set.
 
Qgis::TextHorizontalAlignment horizontalAlignment () const
 Returns the format horizontal alignment.
 
double lineHeight () const
 Returns the line height in points, or NaN if the line height is not set and should be auto calculated.
 
double lineHeightPercentage () const
 Returns the line height percentage size (as fraction of font size from 0.0 to 1.0), or NaN if the line height percentage is not set.
 
QgsMargins margins () const
 Returns the block margins, in points.
 
void overrideWith (const QgsTextBlockFormat &other)
 Override all the default/unset properties of the current block format with the settings from another format.
 
void setHasHorizontalAlignmentSet (bool set)
 Sets whether the format has an explicit horizontal alignment set.
 
void setHorizontalAlignment (Qgis::TextHorizontalAlignment alignment)
 Sets the format horizontal alignment.
 
void setLineHeight (double height)
 Sets the font line height, in points.
 
void setLineHeightPercentage (double height)
 Sets the line height percentage height (as fraction of font size from 0.0 to 1.0).
 
void setMargins (const QgsMargins &margins)
 Sets the block margins, in points.
 
void updateFontForFormat (QFont &font, const QgsRenderContext &context, double scaleFactor=1.0) const
 Updates the specified font in place, applying block formatting options which are applicable on a font level when rendered in the given context.
 

Detailed Description

Stores information relating to individual block formatting.

These options encapsulate formatting options which override the default settings from a QgsTextFormat for individual text blocks.

Warning
This API is not considered stable and may change in future QGIS versions.
Since
QGIS 3.40

Definition at line 42 of file qgstextblockformat.h.

Member Enumeration Documentation

◆ BooleanValue

Status values for boolean format properties.

Enumerator
NotSet 

Property is not set.

SetTrue 

Property is set and true.

SetFalse 

Property is set and false.

Definition at line 54 of file qgstextblockformat.h.

Constructor & Destructor Documentation

◆ QgsTextBlockFormat() [1/2]

QgsTextBlockFormat::QgsTextBlockFormat ( )
default

◆ QgsTextBlockFormat() [2/2]

QgsTextBlockFormat::QgsTextBlockFormat ( const QTextBlockFormat &  format)

Constructor for QgsTextBlockFormat, based on the specified QTextBlockFormat format.

Definition at line 46 of file qgstextblockformat.cpp.

Member Function Documentation

◆ hasHorizontalAlignmentSet()

bool QgsTextBlockFormat::hasHorizontalAlignmentSet ( ) const
inline

Returns true if the format has an explicit horizontal alignment set.

If false is returned then the horizontal alignment will be inherited.

See also
setHasHorizontalAlignmentSet()
horizontalAlignment()

Definition at line 82 of file qgstextblockformat.h.

◆ horizontalAlignment()

Qgis::TextHorizontalAlignment QgsTextBlockFormat::horizontalAlignment ( ) const
inline

Returns the format horizontal alignment.

This property is only respected if hasHorizontalAlignmentSet() is true.

See also
hasHorizontalAlignmentSet()
setHorizontalAlignment()

Definition at line 102 of file qgstextblockformat.h.

◆ lineHeight()

double QgsTextBlockFormat::lineHeight ( ) const

Returns the line height in points, or NaN if the line height is not set and should be auto calculated.

Note
A format should have either lineHeight() or lineHeightPercentage() set, not both.
See also
lineHeightPercentage()
setLineHeight()
Since
QGIS 3.42

Definition at line 82 of file qgstextblockformat.cpp.

◆ lineHeightPercentage()

double QgsTextBlockFormat::lineHeightPercentage ( ) const

Returns the line height percentage size (as fraction of font size from 0.0 to 1.0), or NaN if the line height percentage is not set.

Note
A format should have either lineHeight() or lineHeightPercentage() set, not both.
See also
lineHeight()
setLineHeightPercentage()
Since
QGIS 3.42

Definition at line 92 of file qgstextblockformat.cpp.

◆ margins()

QgsMargins QgsTextBlockFormat::margins ( ) const
inline

Returns the block margins, in points.

See also
setMargins()
Since
QGIS 3.42

Definition at line 174 of file qgstextblockformat.h.

◆ overrideWith()

void QgsTextBlockFormat::overrideWith ( const QgsTextBlockFormat other)

Override all the default/unset properties of the current block format with the settings from another format.

This will replace any default/unset existing settings with the settings from other.

Any settings which are default/unset in other will be left unchanged.

Parameters
otherThe format to override with.

Definition at line 59 of file qgstextblockformat.cpp.

◆ setHasHorizontalAlignmentSet()

void QgsTextBlockFormat::setHasHorizontalAlignmentSet ( bool  set)
inline

Sets whether the format has an explicit horizontal alignment set.

If set is false then the horizontal alignment will be inherited.

See also
hasHorizontalAlignmentSet()
setHorizontalAlignment()

Definition at line 92 of file qgstextblockformat.h.

◆ setHorizontalAlignment()

void QgsTextBlockFormat::setHorizontalAlignment ( Qgis::TextHorizontalAlignment  alignment)
inline

Sets the format horizontal alignment.

This property is only respected if hasHorizontalAlignmentSet() is true.

See also
hasHorizontalAlignmentSet()
horizontalAlignment()

Definition at line 112 of file qgstextblockformat.h.

◆ setLineHeight()

void QgsTextBlockFormat::setLineHeight ( double  height)

Sets the font line height, in points.

Set height to NaN if the line height is not set and should be auto calculated.

Note
A format should have either lineHeight() or lineHeightPercentage() set, not both.
See also
lineHeight()
setLineHeightPercentage()
Since
QGIS 3.42

Definition at line 87 of file qgstextblockformat.cpp.

◆ setLineHeightPercentage()

void QgsTextBlockFormat::setLineHeightPercentage ( double  height)

Sets the line height percentage height (as fraction of font size from 0.0 to 1.0).

Set height to NaN if the line height percentange is not set.

Note
A format should have either lineHeight() or lineHeightPercentage() set, not both.
See also
lineHeightPercentage()
setLineHeight()
Since
QGIS 3.42

Definition at line 97 of file qgstextblockformat.cpp.

◆ setMargins()

void QgsTextBlockFormat::setMargins ( const QgsMargins margins)
inline

Sets the block margins, in points.

See also
margins()
Since
QGIS 3.42

Definition at line 182 of file qgstextblockformat.h.

◆ updateFontForFormat()

void QgsTextBlockFormat::updateFontForFormat ( QFont &  font,
const QgsRenderContext context,
double  scaleFactor = 1.0 
) const

Updates the specified font in place, applying block formatting options which are applicable on a font level when rendered in the given context.

The optional scaleFactor parameter can specify a font size scaling factor. It is recommended to set this to QgsTextRenderer::calculateScaleFactorForFormat() and then manually calculations based on the resultant font metrics. Failure to do so will result in poor quality text rendering at small font sizes.

Definition at line 102 of file qgstextblockformat.cpp.


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