QGIS API Documentation 3.27.0-Master (f261cc1f8b)
qgstextcharacterformat.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgstextcharacterformat.cpp
3 -----------------
4 begin : May 2020
5 copyright : (C) Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************
8 * *
9 * This program is free software; you can redistribute it and/or modify *
10 * it under the terms of the GNU General Public License as published by *
11 * the Free Software Foundation; either version 2 of the License, or *
12 * (at your option) any later version. *
13 * *
14 ***************************************************************************/
15
17
18#include <QTextCharFormat>
19
20QgsTextCharacterFormat::QgsTextCharacterFormat( const QTextCharFormat &format )
21 : mTextColor( format.hasProperty( QTextFormat::ForegroundBrush ) ? format.foreground().color() : QColor() )
22#if 0 // settings which affect font metrics are disabled for now
23 , mFontWeight( format.hasProperty( QTextFormat::FontWeight ) ? format.fontWeight() : -1 )
24 , mItalic( format.hasProperty( QTextFormat::FontItalic ) ? ( format.fontItalic() ? BooleanValue::SetTrue : BooleanValue::SetFalse ) : BooleanValue::NotSet )
25 , mFontPointSize( format.hasProperty( QTextFormat::FontPointSize ) ? format.fontPointSize() : - 1 )
26 , mFontFamily( format.hasProperty( QTextFormat::FontFamily ) ? format.fontFamily() : QString() )
27#endif
28 , mStrikethrough( format.hasProperty( QTextFormat::FontStrikeOut ) ? ( format.fontStrikeOut() ? BooleanValue::SetTrue : BooleanValue::SetFalse ) : BooleanValue::NotSet )
29 , mUnderline( format.hasProperty( QTextFormat::FontUnderline ) ? ( format.fontUnderline() ? BooleanValue::SetTrue : BooleanValue::SetFalse ) : BooleanValue::NotSet )
30 , mOverline( format.hasProperty( QTextFormat::FontOverline ) ? ( format.fontOverline() ? BooleanValue::SetTrue : BooleanValue::SetFalse ) : BooleanValue::NotSet )
31{
32
33}
34
36{
37 return mTextColor;
38}
39
40void QgsTextCharacterFormat::setTextColor( const QColor &textColor )
41{
42 mTextColor = textColor;
43}
44
46{
47 return mStrikethrough;
48}
49
51{
52 mStrikethrough = strikethrough;
53}
54
56{
57 return mUnderline;
58}
59
61{
62 mUnderline = underline;
63}
64
66{
67 return mOverline;
68}
69
71{
72 mOverline = enabled;
73}
74
75void QgsTextCharacterFormat::updateFontForFormat( QFont &font, const double scaleFactor ) const
76{
77 Q_UNUSED( scaleFactor );
78#if 0 // settings which affect font metrics are disabled for now
80 font.setItalic( mItalic == QgsTextCharacterFormat::BooleanValue::SetTrue );
81 if ( mFontWeight != -1 )
82 font.setWeight( mFontWeight );
83 if ( !mFontFamily.isEmpty() )
84 font.setFamily( mFontFamily );
85 if ( mFontPointSize != -1 )
86 font.setPointSizeF( mFontPointSize );
87#endif
88
89 if ( mUnderline != BooleanValue::NotSet )
90 font.setUnderline( mUnderline == QgsTextCharacterFormat::BooleanValue::SetTrue );
91 if ( mOverline != BooleanValue::NotSet )
92 font.setOverline( mOverline == QgsTextCharacterFormat::BooleanValue::SetTrue );
94 font.setStrikeOut( mStrikethrough == QgsTextCharacterFormat::BooleanValue::SetTrue );
95}
96
97#if 0 // settings which affect font metrics are disabled for now
98QgsTextCharacterFormat::BooleanValue QgsTextCharacterFormat::italic() const
99{
100 return mItalic;
101}
102
103void QgsTextCharacterFormat::setItalic( QgsTextCharacterFormat::BooleanValue enabled )
104{
105 mItalic = enabled;
106}
107
108int QgsTextCharacterFormat::fontWeight() const
109{
110 return mFontWeight;
111}
112
113void QgsTextCharacterFormat::setFontWeight( int fontWeight )
114{
115 mFontWeight = fontWeight;
116}
117#endif
QColor textColor() const
Returns the character's text color, or an invalid color if no color override is set and the default f...
QgsTextCharacterFormat()=default
Constructor for QgsTextCharacterFormat.
void setStrikeOut(BooleanValue enabled)
Sets whether the format has strikethrough enabled.
void setOverline(BooleanValue enabled)
Sets whether the format has overline enabled.
BooleanValue
Status values for boolean format properties.
@ SetTrue
Property is set and true.
BooleanValue strikeOut() const
Returns whether the format has strikethrough enabled.
BooleanValue underline() const
Returns whether the format has underline enabled.
void setTextColor(const QColor &textColor)
Sets the character's text color.
void setUnderline(BooleanValue enabled)
Sets whether the format has underline enabled.
BooleanValue overline() const
Returns whether the format has overline enabled.
void updateFontForFormat(QFont &font, double scaleFactor=1.0) const
Updates the specified font in place, applying character formatting options which are applicable on a ...