text/qtextformat.cpp

Source codeSwitch to Preprocessed file
LineSource CodeCoverage
1/**************************************************************************** -
2** -
3** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). -
4** Contact: http://www.qt-project.org/legal -
5** -
6** This file is part of the QtGui module of the Qt Toolkit. -
7** -
8** $QT_BEGIN_LICENSE:LGPL$ -
9** Commercial License Usage -
10** Licensees holding valid commercial Qt licenses may use this file in -
11** accordance with the commercial license agreement provided with the -
12** Software or, alternatively, in accordance with the terms contained in -
13** a written agreement between you and Digia. For licensing terms and -
14** conditions see http://qt.digia.com/licensing. For further information -
15** use the contact form at http://qt.digia.com/contact-us. -
16** -
17** GNU Lesser General Public License Usage -
18** Alternatively, this file may be used under the terms of the GNU Lesser -
19** General Public License version 2.1 as published by the Free Software -
20** Foundation and appearing in the file LICENSE.LGPL included in the -
21** packaging of this file. Please review the following information to -
22** ensure the GNU Lesser General Public License version 2.1 requirements -
23** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -
24** -
25** In addition, as a special exception, Digia gives you certain additional -
26** rights. These rights are described in the Digia Qt LGPL Exception -
27** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -
28** -
29** GNU General Public License Usage -
30** Alternatively, this file may be used under the terms of the GNU -
31** General Public License version 3.0 as published by the Free Software -
32** Foundation and appearing in the file LICENSE.GPL included in the -
33** packaging of this file. Please review the following information to -
34** ensure the GNU General Public License version 3.0 requirements will be -
35** met: http://www.gnu.org/copyleft/gpl.html. -
36** -
37** -
38** $QT_END_LICENSE$ -
39** -
40****************************************************************************/ -
41 -
42#include "qtextformat.h" -
43#include "qtextformat_p.h" -
44 -
45#include <qvariant.h> -
46#include <qdatastream.h> -
47#include <qdebug.h> -
48#include <qmap.h> -
49#include <qhash.h> -
50 -
51QT_BEGIN_NAMESPACE -
52 -
53/*! -
54 \class QTextLength -
55 \reentrant -
56 -
57 \brief The QTextLength class encapsulates the different types of length -
58 used in a QTextDocument. -
59 \inmodule QtGui -
60 -
61 \ingroup richtext-processing -
62 -
63 When we specify a value for the length of an element in a text document, -
64 we often need to provide some other information so that the length is -
65 used in the way we expect. For example, when we specify a table width, -
66 the value can represent a fixed number of pixels, or it can be a percentage -
67 value. This information changes both the meaning of the value and the way -
68 it is used. -
69 -
70 Generally, this class is used to specify table widths. These can be -
71 specified either as a fixed amount of pixels, as a percentage of the -
72 containing frame's width, or by a variable width that allows it to take -
73 up just the space it requires. -
74 -
75 \sa QTextTable -
76*/ -
77 -
78/*! -
79 \fn explicit QTextLength::QTextLength() -
80 -
81 Constructs a new length object which represents a variable size. -
82*/ -
83 -
84/*! -
85 \fn QTextLength::QTextLength(Type type, qreal value) -
86 -
87 Constructs a new length object of the given \a type and \a value. -
88*/ -
89 -
90/*! -
91 \fn Type QTextLength::type() const -
92 -
93 Returns the type of this length object. -
94 -
95 \sa QTextLength::Type -
96*/ -
97 -
98/*! -
99 \fn qreal QTextLength::value(qreal maximumLength) const -
100 -
101 Returns the effective length, constrained by the type of the length object -
102 and the specified \a maximumLength. -
103 -
104 \sa type() -
105*/ -
106 -
107/*! -
108 \fn qreal QTextLength::rawValue() const -
109 -
110 Returns the constraint value that is specific for the type of the length. -
111 If the length is QTextLength::PercentageLength then the raw value is in -
112 percent, in the range of 0 to 100. If the length is QTextLength::FixedLength -
113 then that fixed amount is returned. For variable lengths, zero is returned. -
114*/ -
115 -
116/*! -
117 \fn bool QTextLength::operator==(const QTextLength &other) const -
118 -
119 Returns true if this text length is the same as the \a other text -
120 length. -
121*/ -
122 -
123/*! -
124 \fn bool QTextLength::operator!=(const QTextLength &other) const -
125 -
126 Returns true if this text length is different from the \a other text -
127 length. -
128*/ -
129 -
130/*! -
131 \enum QTextLength::Type -
132 -
133 This enum describes the different types a length object can -
134 have. -
135 -
136 \value VariableLength The width of the object is variable -
137 \value FixedLength The width of the object is fixed -
138 \value PercentageLength The width of the object is in -
139 percentage of the maximum width -
140 -
141 \sa type() -
142*/ -
143 -
144/*! -
145 Returns the text length as a QVariant -
146*/ -
147QTextLength::operator QVariant() const -
148{ -
149 return QVariant(QVariant::TextLength, this);
executed: return QVariant(QVariant::TextLength, this);
Execution Count:294
294
150} -
151 -
152#ifndef QT_NO_DATASTREAM -
153QDataStream &operator<<(QDataStream &stream, const QTextLength &length) -
154{ -
155 return stream << qint32(length.lengthType) << double(length.fixedValueOrPercentage);
executed: return stream << qint32(length.lengthType) << double(length.fixedValueOrPercentage);
Execution Count:1
1
156} -
157 -
158QDataStream &operator>>(QDataStream &stream, QTextLength &length) -
159{ -
160 qint32 type;
executed (the execution status of this line is deduced): qint32 type;
-
161 double fixedValueOrPercentage;
executed (the execution status of this line is deduced): double fixedValueOrPercentage;
-
162 stream >> type >> fixedValueOrPercentage;
executed (the execution status of this line is deduced): stream >> type >> fixedValueOrPercentage;
-
163 length.fixedValueOrPercentage = fixedValueOrPercentage;
executed (the execution status of this line is deduced): length.fixedValueOrPercentage = fixedValueOrPercentage;
-
164 length.lengthType = QTextLength::Type(type);
executed (the execution status of this line is deduced): length.lengthType = QTextLength::Type(type);
-
165 return stream;
executed: return stream;
Execution Count:2
2
166} -
167#endif // QT_NO_DATASTREAM -
168 -
169class QTextFormatPrivate : public QSharedData -
170{ -
171public: -
172 QTextFormatPrivate() : hashDirty(true), fontDirty(true), hashValue(0) {}
executed: }
Execution Count:20951
20951
173 -
174 struct Property -
175 { -
176 inline Property(qint32 k, const QVariant &v) : key(k), value(v) {}
executed: }
Execution Count:260515
260515
177 inline Property() {} -
178 -
179 qint32 key; -
180 QVariant value; -
181 -
182 inline bool operator==(const Property &other) const -
183 { return key == other.key && value == other.value; }
executed: return key == other.key && value == other.value;
Execution Count:3008
3008
184 inline bool operator!=(const Property &other) const -
185 { return key != other.key || value != other.value; }
never executed: return key != other.key || value != other.value;
0
186 }; -
187 -
188 inline uint hash() const -
189 { -
190 if (!hashDirty)
evaluated: !hashDirty
TRUEFALSE
yes
Evaluation Count:63688
yes
Evaluation Count:7090
7090-63688
191 return hashValue;
executed: return hashValue;
Execution Count:63688
63688
192 return recalcHash();
executed: return recalcHash();
Execution Count:7090
7090
193 } -
194 -
195 inline bool operator==(const QTextFormatPrivate &rhs) const { -
196 if (hash() != rhs.hash())
evaluated: hash() != rhs.hash()
TRUEFALSE
yes
Evaluation Count:28
yes
Evaluation Count:17801
28-17801
197 return false;
executed: return false;
Execution Count:28
28
198 -
199 return props == rhs.props;
executed: return props == rhs.props;
Execution Count:17801
17801
200 } -
201 -
202 inline void insertProperty(qint32 key, const QVariant &value) -
203 { -
204 hashDirty = true;
executed (the execution status of this line is deduced): hashDirty = true;
-
205 if (key >= QTextFormat::FirstFontProperty && key <= QTextFormat::LastFontProperty)
evaluated: key >= QTextFormat::FirstFontProperty
TRUEFALSE
yes
Evaluation Count:248445
yes
Evaluation Count:36110
evaluated: key <= QTextFormat::LastFontProperty
TRUEFALSE
yes
Evaluation Count:194421
yes
Evaluation Count:54024
36110-248445
206 fontDirty = true;
executed: fontDirty = true;
Execution Count:194421
194421
207 for (int i = 0; i < props.count(); ++i)
evaluated: i < props.count()
TRUEFALSE
yes
Evaluation Count:2572765
yes
Evaluation Count:260515
260515-2572765
208 if (props.at(i).key == key) {
evaluated: props.at(i).key == key
TRUEFALSE
yes
Evaluation Count:24040
yes
Evaluation Count:2548725
24040-2548725
209 props[i].value = value;
executed (the execution status of this line is deduced): props[i].value = value;
-
210 return;
executed: return;
Execution Count:24040
24040
211 } -
212 props.append(Property(key, value));
executed (the execution status of this line is deduced): props.append(Property(key, value));
-
213 }
executed: }
Execution Count:260515
260515
214 -
215 inline void clearProperty(qint32 key) -
216 { -
217 for (int i = 0; i < props.count(); ++i)
evaluated: i < props.count()
TRUEFALSE
yes
Evaluation Count:9336
yes
Evaluation Count:46321
9336-46321
218 if (props.at(i).key == key) {
evaluated: props.at(i).key == key
TRUEFALSE
yes
Evaluation Count:950
yes
Evaluation Count:8386
950-8386
219 hashDirty = true;
executed (the execution status of this line is deduced): hashDirty = true;
-
220 if (key >= QTextFormat::FirstFontProperty && key <= QTextFormat::LastFontProperty)
evaluated: key >= QTextFormat::FirstFontProperty
TRUEFALSE
yes
Evaluation Count:547
yes
Evaluation Count:403
evaluated: key <= QTextFormat::LastFontProperty
TRUEFALSE
yes
Evaluation Count:284
yes
Evaluation Count:263
263-547
221 fontDirty = true;
executed: fontDirty = true;
Execution Count:284
284
222 props.remove(i);
executed (the execution status of this line is deduced): props.remove(i);
-
223 return;
executed: return;
Execution Count:950
950
224 } -
225 }
executed: }
Execution Count:46321
46321
226 -
227 inline int propertyIndex(qint32 key) const -
228 { -
229 for (int i = 0; i < props.count(); ++i)
evaluated: i < props.count()
TRUEFALSE
yes
Evaluation Count:335857
yes
Evaluation Count:130928
130928-335857
230 if (props.at(i).key == key)
evaluated: props.at(i).key == key
TRUEFALSE
yes
Evaluation Count:39267
yes
Evaluation Count:296590
39267-296590
231 return i;
executed: return i;
Execution Count:39267
39267
232 return -1;
executed: return -1;
Execution Count:130928
130928
233 } -
234 -
235 inline QVariant property(qint32 key) const -
236 { -
237 const int idx = propertyIndex(key);
executed (the execution status of this line is deduced): const int idx = propertyIndex(key);
-
238 if (idx < 0)
evaluated: idx < 0
TRUEFALSE
yes
Evaluation Count:112534
yes
Evaluation Count:31798
31798-112534
239 return QVariant();
executed: return QVariant();
Execution Count:112534
112534
240 return props.at(idx).value;
executed: return props.at(idx).value;
Execution Count:31798
31798
241 } -
242 -
243 inline bool hasProperty(qint32 key) const -
244 { return propertyIndex(key) != -1; }
executed: return propertyIndex(key) != -1;
Execution Count:25863
25863
245 -
246 void resolveFont(const QFont &defaultFont); -
247 -
248 inline const QFont &font() const { -
249 if (fontDirty)
evaluated: fontDirty
TRUEFALSE
yes
Evaluation Count:2737
yes
Evaluation Count:8121
2737-8121
250 recalcFont();
executed: recalcFont();
Execution Count:2737
2737
251 return fnt;
executed: return fnt;
Execution Count:10858
10858
252 } -
253 -
254 QVector<Property> props; -
255private: -
256 -
257 uint recalcHash() const; -
258 void recalcFont() const; -
259 -
260 mutable bool hashDirty; -
261 mutable bool fontDirty; -
262 mutable uint hashValue; -
263 mutable QFont fnt; -
264 -
265 friend QDataStream &operator<<(QDataStream &, const QTextFormat &); -
266 friend QDataStream &operator>>(QDataStream &, QTextFormat &); -
267}; -
268 -
269// this is only safe because sizeof(int) == sizeof(float) -
270static inline uint hash(float d) -
271{ -
272#ifdef Q_CC_GNU -
273 // this is a GCC extension and isn't guaranteed to work in other compilers -
274 // the reinterpret_cast below generates a strict-aliasing warning with GCC -
275 union { float f; uint u; } cvt;
executed (the execution status of this line is deduced): union { float f; uint u; } cvt;
-
276 cvt.f = d;
executed (the execution status of this line is deduced): cvt.f = d;
-
277 return cvt.u;
executed: return cvt.u;
Execution Count:8815
8815
278#else -
279 return reinterpret_cast<uint&>(d); -
280#endif -
281} -
282 -
283static inline uint hash(const QColor &color) -
284{ -
285 return (color.isValid()) ? color.rgba() : 0x234109;
executed: return (color.isValid()) ? color.rgba() : 0x234109;
Execution Count:1748
1748
286} -
287 -
288static inline uint hash(const QPen &pen) -
289{ -
290 return hash(pen.color()) + hash(pen.widthF());
never executed: return hash(pen.color()) + hash(pen.widthF());
0
291} -
292 -
293static inline uint hash(const QBrush &brush) -
294{ -
295 return hash(brush.color()) + (brush.style() << 3);
executed: return hash(brush.color()) + (brush.style() << 3);
Execution Count:1747
1747
296} -
297 -
298static inline uint variantHash(const QVariant &variant) -
299{ -
300 // simple and fast hash functions to differentiate between type and value -
301 switch (variant.userType()) { // sorted by occurrence frequency -
302 case QVariant::String: return qHash(variant.toString());
executed: return qHash(variant.toString());
Execution Count:732
732
303 case QVariant::Double: return hash(variant.toDouble());
executed: return hash(variant.toDouble());
Execution Count:8646
8646
304 case QVariant::Int: return 0x811890 + variant.toInt();
executed: return 0x811890 + variant.toInt();
Execution Count:5229
5229
305 case QVariant::Brush: -
306 return 0x01010101 + hash(qvariant_cast<QBrush>(variant));
executed: return 0x01010101 + hash(qvariant_cast<QBrush>(variant));
Execution Count:1747
1747
307 case QVariant::Bool: return 0x371818 + variant.toBool();
executed: return 0x371818 + variant.toBool();
Execution Count:985
985
308 case QVariant::Pen: return 0x02020202 + hash(qvariant_cast<QPen>(variant));
never executed: return 0x02020202 + hash(qvariant_cast<QPen>(variant));
0
309 case QVariant::List: -
310 return 0x8377 + qvariant_cast<QVariantList>(variant).count();
executed: return 0x8377 + qvariant_cast<QVariantList>(variant).count();
Execution Count:85
85
311 case QVariant::Color: return hash(qvariant_cast<QColor>(variant));
executed: return hash(qvariant_cast<QColor>(variant));
Execution Count:1
1
312 case QVariant::TextLength: -
313 return 0x377 + hash(qvariant_cast<QTextLength>(variant).rawValue());
executed: return 0x377 + hash(qvariant_cast<QTextLength>(variant).rawValue());
Execution Count:169
169
314 case QMetaType::Float: return hash(variant.toFloat());
never executed: return hash(variant.toFloat());
0
315 case QVariant::Invalid: return 0;
never executed: return 0;
0
316 default: break;
executed: break;
Execution Count:5
5
317 } -
318 return qHash(variant.typeName());
executed: return qHash(variant.typeName());
Execution Count:5
5
319} -
320 -
321static inline int getHash(const QTextFormatPrivate *d, int format) -
322{ -
323 return (d ? d->hash() : 0) + format;
executed: return (d ? d->hash() : 0) + format;
Execution Count:43146
43146
324} -
325 -
326uint QTextFormatPrivate::recalcHash() const -
327{ -
328 hashValue = 0;
executed (the execution status of this line is deduced): hashValue = 0;
-
329 for (QVector<Property>::ConstIterator it = props.constBegin(); it != props.constEnd(); ++it)
evaluated: it != props.constEnd()
TRUEFALSE
yes
Evaluation Count:17599
yes
Evaluation Count:7090
7090-17599
330 hashValue += (it->key << 16) + variantHash(it->value);
executed: hashValue += (it->key << 16) + variantHash(it->value);
Execution Count:17599
17599
331 -
332 hashDirty = false;
executed (the execution status of this line is deduced): hashDirty = false;
-
333 -
334 return hashValue;
executed: return hashValue;
Execution Count:7090
7090
335} -
336 -
337void QTextFormatPrivate::resolveFont(const QFont &defaultFont) -
338{ -
339 recalcFont();
executed (the execution status of this line is deduced): recalcFont();
-
340 const uint oldMask = fnt.resolve();
executed (the execution status of this line is deduced): const uint oldMask = fnt.resolve();
-
341 fnt = fnt.resolve(defaultFont);
executed (the execution status of this line is deduced): fnt = fnt.resolve(defaultFont);
-
342 -
343 if (hasProperty(QTextFormat::FontSizeAdjustment)) {
evaluated: hasProperty(QTextFormat::FontSizeAdjustment)
TRUEFALSE
yes
Evaluation Count:21
yes
Evaluation Count:9591
21-9591
344 const qreal scaleFactors[7] = {qreal(0.7), qreal(0.8), qreal(1.0), qreal(1.2), qreal(1.5), qreal(2), qreal(2.4)};
executed (the execution status of this line is deduced): const qreal scaleFactors[7] = {qreal(0.7), qreal(0.8), qreal(1.0), qreal(1.2), qreal(1.5), qreal(2), qreal(2.4)};
-
345 -
346 const int htmlFontSize = qBound(0, property(QTextFormat::FontSizeAdjustment).toInt() + 3 - 1, 6);
executed (the execution status of this line is deduced): const int htmlFontSize = qBound(0, property(QTextFormat::FontSizeAdjustment).toInt() + 3 - 1, 6);
-
347 -
348 -
349 if (defaultFont.pointSize() <= 0) {
partially evaluated: defaultFont.pointSize() <= 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:21
0-21
350 qreal pixelSize = scaleFactors[htmlFontSize] * defaultFont.pixelSize();
never executed (the execution status of this line is deduced): qreal pixelSize = scaleFactors[htmlFontSize] * defaultFont.pixelSize();
-
351 fnt.setPixelSize(qRound(pixelSize));
never executed (the execution status of this line is deduced): fnt.setPixelSize(qRound(pixelSize));
-
352 } else {
never executed: }
0
353 qreal pointSize = scaleFactors[htmlFontSize] * defaultFont.pointSizeF();
executed (the execution status of this line is deduced): qreal pointSize = scaleFactors[htmlFontSize] * defaultFont.pointSizeF();
-
354 fnt.setPointSizeF(pointSize);
executed (the execution status of this line is deduced): fnt.setPointSizeF(pointSize);
-
355 }
executed: }
Execution Count:21
21
356 } -
357 -
358 fnt.resolve(oldMask);
executed (the execution status of this line is deduced): fnt.resolve(oldMask);
-
359}
executed: }
Execution Count:9612
9612
360 -
361void QTextFormatPrivate::recalcFont() const -
362{ -
363 // update cached font as well -
364 QFont f;
executed (the execution status of this line is deduced): QFont f;
-
365 -
366 bool hasSpacingInformation = false;
executed (the execution status of this line is deduced): bool hasSpacingInformation = false;
-
367 QFont::SpacingType spacingType = QFont::PercentageSpacing;
executed (the execution status of this line is deduced): QFont::SpacingType spacingType = QFont::PercentageSpacing;
-
368 qreal letterSpacing = 0.0;
executed (the execution status of this line is deduced): qreal letterSpacing = 0.0;
-
369 -
370 for (int i = 0; i < props.count(); ++i) {
evaluated: i < props.count()
TRUEFALSE
yes
Evaluation Count:70466
yes
Evaluation Count:12349
12349-70466
371 switch (props.at(i).key) { -
372 case QTextFormat::FontFamily: -
373 f.setFamily(props.at(i).value.toString());
executed (the execution status of this line is deduced): f.setFamily(props.at(i).value.toString());
-
374 break;
executed: break;
Execution Count:3313
3313
375 case QTextFormat::FontPointSize: -
376 f.setPointSizeF(props.at(i).value.toReal());
executed (the execution status of this line is deduced): f.setPointSizeF(props.at(i).value.toReal());
-
377 break;
executed: break;
Execution Count:2760
2760
378 case QTextFormat::FontPixelSize: -
379 f.setPixelSize(props.at(i).value.toInt());
executed (the execution status of this line is deduced): f.setPixelSize(props.at(i).value.toInt());
-
380 break;
executed: break;
Execution Count:12
12
381 case QTextFormat::FontWeight: { -
382 int weight = props.at(i).value.toInt();
executed (the execution status of this line is deduced): int weight = props.at(i).value.toInt();
-
383 if (weight == 0) weight = QFont::Normal;
executed: weight = QFont::Normal;
Execution Count:2747
evaluated: weight == 0
TRUEFALSE
yes
Evaluation Count:2747
yes
Evaluation Count:87
87-2747
384 f.setWeight(weight);
executed (the execution status of this line is deduced): f.setWeight(weight);
-
385 break; }
executed: break;
Execution Count:2834
2834
386 case QTextFormat::FontItalic: -
387 f.setItalic(props.at(i).value.toBool());
executed (the execution status of this line is deduced): f.setItalic(props.at(i).value.toBool());
-
388 break;
executed: break;
Execution Count:2775
2775
389 case QTextFormat::FontUnderline: -
390 if (! hasProperty(QTextFormat::TextUnderlineStyle)) // don't use the old one if the new one is there.
evaluated: ! hasProperty(QTextFormat::TextUnderlineStyle)
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:2768
1-2768
391 f.setUnderline(props.at(i).value.toBool());
executed: f.setUnderline(props.at(i).value.toBool());
Execution Count:1
1
392 break;
executed: break;
Execution Count:2769
2769
393 case QTextFormat::TextUnderlineStyle: -
394 f.setUnderline(static_cast<QTextCharFormat::UnderlineStyle>(props.at(i).value.toInt()) == QTextCharFormat::SingleUnderline);
executed (the execution status of this line is deduced): f.setUnderline(static_cast<QTextCharFormat::UnderlineStyle>(props.at(i).value.toInt()) == QTextCharFormat::SingleUnderline);
-
395 break;
executed: break;
Execution Count:2778
2778
396 case QTextFormat::FontOverline: -
397 f.setOverline(props.at(i).value.toBool());
executed (the execution status of this line is deduced): f.setOverline(props.at(i).value.toBool());
-
398 break;
executed: break;
Execution Count:2740
2740
399 case QTextFormat::FontStrikeOut: -
400 f.setStrikeOut(props.at(i).value.toBool());
executed (the execution status of this line is deduced): f.setStrikeOut(props.at(i).value.toBool());
-
401 break;
executed: break;
Execution Count:2736
2736
402 case QTextFormat::FontLetterSpacingType: -
403 spacingType = static_cast<QFont::SpacingType>(props.at(i).value.toInt());
executed (the execution status of this line is deduced): spacingType = static_cast<QFont::SpacingType>(props.at(i).value.toInt());
-
404 hasSpacingInformation = true;
executed (the execution status of this line is deduced): hasSpacingInformation = true;
-
405 break;
executed: break;
Execution Count:2731
2731
406 case QTextFormat::FontLetterSpacing: -
407 letterSpacing = props.at(i).value.toReal();
executed (the execution status of this line is deduced): letterSpacing = props.at(i).value.toReal();
-
408 hasSpacingInformation = true;
executed (the execution status of this line is deduced): hasSpacingInformation = true;
-
409 break;
executed: break;
Execution Count:2731
2731
410 case QTextFormat::FontWordSpacing: -
411 f.setWordSpacing(props.at(i).value.toReal());
executed (the execution status of this line is deduced): f.setWordSpacing(props.at(i).value.toReal());
-
412 break;
executed: break;
Execution Count:2733
2733
413 case QTextFormat::FontCapitalization: -
414 f.setCapitalization(static_cast<QFont::Capitalization> (props.at(i).value.toInt()));
executed (the execution status of this line is deduced): f.setCapitalization(static_cast<QFont::Capitalization> (props.at(i).value.toInt()));
-
415 break;
executed: break;
Execution Count:2737
2737
416 case QTextFormat::FontFixedPitch: { -
417 const bool value = props.at(i).value.toBool();
executed (the execution status of this line is deduced): const bool value = props.at(i).value.toBool();
-
418 if (f.fixedPitch() != value)
evaluated: f.fixedPitch() != value
TRUEFALSE
yes
Evaluation Count:542
yes
Evaluation Count:2731
542-2731
419 f.setFixedPitch(value);
executed: f.setFixedPitch(value);
Execution Count:542
542
420 break; }
executed: break;
Execution Count:3273
3273
421 case QTextFormat::FontStretch: -
422 f.setStretch(props.at(i).value.toInt());
executed (the execution status of this line is deduced): f.setStretch(props.at(i).value.toInt());
-
423 break;
executed: break;
Execution Count:2731
2731
424 case QTextFormat::FontStyleHint: -
425 f.setStyleHint(static_cast<QFont::StyleHint>(props.at(i).value.toInt()), f.styleStrategy());
executed (the execution status of this line is deduced): f.setStyleHint(static_cast<QFont::StyleHint>(props.at(i).value.toInt()), f.styleStrategy());
-
426 break;
executed: break;
Execution Count:2733
2733
427 case QTextFormat::FontHintingPreference: -
428 f.setHintingPreference(static_cast<QFont::HintingPreference>(props.at(i).value.toInt()));
never executed (the execution status of this line is deduced): f.setHintingPreference(static_cast<QFont::HintingPreference>(props.at(i).value.toInt()));
-
429 break;
never executed: break;
0
430 case QTextFormat::FontStyleStrategy: -
431 f.setStyleStrategy(static_cast<QFont::StyleStrategy>(props.at(i).value.toInt()));
executed (the execution status of this line is deduced): f.setStyleStrategy(static_cast<QFont::StyleStrategy>(props.at(i).value.toInt()));
-
432 break;
executed: break;
Execution Count:2733
2733
433 case QTextFormat::FontKerning: -
434 f.setKerning(props.at(i).value.toBool());
executed (the execution status of this line is deduced): f.setKerning(props.at(i).value.toBool());
-
435 break;
executed: break;
Execution Count:2731
2731
436 default: -
437 break;
executed: break;
Execution Count:22616
22616
438 } -
439 }
executed: }
Execution Count:70466
70466
440 -
441 if (hasSpacingInformation)
evaluated: hasSpacingInformation
TRUEFALSE
yes
Evaluation Count:2731
yes
Evaluation Count:9618
2731-9618
442 f.setLetterSpacing(spacingType, letterSpacing);
executed: f.setLetterSpacing(spacingType, letterSpacing);
Execution Count:2731
2731
443 -
444 fnt = f;
executed (the execution status of this line is deduced): fnt = f;
-
445 fontDirty = false;
executed (the execution status of this line is deduced): fontDirty = false;
-
446}
executed: }
Execution Count:12349
12349
447 -
448#ifndef QT_NO_DATASTREAM -
449Q_GUI_EXPORT QDataStream &operator<<(QDataStream &stream, const QTextFormat &fmt) -
450{ -
451 stream << fmt.format_type << fmt.properties();
never executed (the execution status of this line is deduced): stream << fmt.format_type << fmt.properties();
-
452 return stream;
never executed: return stream;
0
453} -
454 -
455Q_GUI_EXPORT QDataStream &operator>>(QDataStream &stream, QTextFormat &fmt) -
456{ -
457 QMap<qint32, QVariant> properties;
never executed (the execution status of this line is deduced): QMap<qint32, QVariant> properties;
-
458 stream >> fmt.format_type >> properties;
never executed (the execution status of this line is deduced): stream >> fmt.format_type >> properties;
-
459 -
460 // QTextFormat's default constructor doesn't allocate the private structure, so -
461 // we have to do this, in case fmt is a default constructed value. -
462 if(!fmt.d)
never evaluated: !fmt.d
0
463 fmt.d = new QTextFormatPrivate();
never executed: fmt.d = new QTextFormatPrivate();
0
464 -
465 for (QMap<qint32, QVariant>::ConstIterator it = properties.constBegin();
never executed (the execution status of this line is deduced): for (QMap<qint32, QVariant>::ConstIterator it = properties.constBegin();
-
466 it != properties.constEnd(); ++it)
never evaluated: it != properties.constEnd()
0
467 fmt.d->insertProperty(it.key(), it.value());
never executed: fmt.d->insertProperty(it.key(), it.value());
0
468 -
469 return stream;
never executed: return stream;
0
470} -
471#endif // QT_NO_DATASTREAM -
472 -
473/*! -
474 \class QTextFormat -
475 \reentrant -
476 -
477 \brief The QTextFormat class provides formatting information for a -
478 QTextDocument. -
479 \inmodule QtGui -
480 -
481 \ingroup richtext-processing -
482 \ingroup shared -
483 -
484 A QTextFormat is a generic class used for describing the format of -
485 parts of a QTextDocument. The derived classes QTextCharFormat, -
486 QTextBlockFormat, QTextListFormat, and QTextTableFormat are usually -
487 more useful, and describe the formatting that is applied to -
488 specific parts of the document. -
489 -
490 A format has a \c FormatType which specifies the kinds of text item it -
491 can format; e.g. a block of text, a list, a table, etc. A format -
492 also has various properties (some specific to particular format -
493 types), as described by the Property enum. Every property has a -
494 corresponding Property. -
495 -
496 The format type is given by type(), and the format can be tested -
497 with isCharFormat(), isBlockFormat(), isListFormat(), -
498 isTableFormat(), isFrameFormat(), and isImageFormat(). If the -
499 type is determined, it can be retrieved with toCharFormat(), -
500 toBlockFormat(), toListFormat(), toTableFormat(), toFrameFormat(), -
501 and toImageFormat(). -
502 -
503 A format's properties can be set with the setProperty() functions, -
504 and retrieved with boolProperty(), intProperty(), doubleProperty(), -
505 and stringProperty() as appropriate. All the property IDs used in -
506 the format can be retrieved with allPropertyIds(). One format can -
507 be merged into another using merge(). -
508 -
509 A format's object index can be set with setObjectIndex(), and -
510 retrieved with objectIndex(). These methods can be used to -
511 associate the format with a QTextObject. It is used to represent -
512 lists, frames, and tables inside the document. -
513 -
514 \sa {Rich Text Processing} -
515*/ -
516 -
517/*! -
518 \enum QTextFormat::FormatType -
519 -
520 This enum describes the text item a QTextFormat object is formatting. -
521 -
522 \value InvalidFormat An invalid format as created by the default -
523 constructor -
524 \value BlockFormat The object formats a text block -
525 \value CharFormat The object formats a single character -
526 \value ListFormat The object formats a list -
527 \value TableFormat The object formats a table -
528 \value FrameFormat The object formats a frame -
529 -
530 \value UserFormat -
531 -
532 \sa QTextCharFormat, QTextBlockFormat, QTextListFormat, -
533 QTextTableFormat, type() -
534*/ -
535 -
536/*! -
537 \enum QTextFormat::Property -
538 -
539 This enum describes the different properties a format can have. -
540 -
541 \value ObjectIndex The index of the formatted object. See objectIndex(). -
542 -
543 Paragraph and character properties -
544 -
545 \value CssFloat How a frame is located relative to the surrounding text -
546 \value LayoutDirection The layout direction of the text in the document -
547 (Qt::LayoutDirection). -
548 -
549 \value OutlinePen -
550 \value ForegroundBrush -
551 \value BackgroundBrush -
552 \value BackgroundImageUrl -
553 -
554 Paragraph properties -
555 -
556 \value BlockAlignment -
557 \value BlockTopMargin -
558 \value BlockBottomMargin -
559 \value BlockLeftMargin -
560 \value BlockRightMargin -
561 \value TextIndent -
562 \value TabPositions Specifies the tab positions. The tab positions are structs of QTextOption::Tab which are stored in -
563 a QList (internally, in a QList<QVariant>). -
564 \value BlockIndent -
565 \value LineHeight -
566 \value LineHeightType -
567 \value BlockNonBreakableLines -
568 \value BlockTrailingHorizontalRulerWidth The width of a horizontal ruler element. -
569 -
570 Character properties -
571 -
572 \value FontFamily -
573 \value FontPointSize -
574 \value FontPixelSize -
575 \value FontSizeAdjustment Specifies the change in size given to the fontsize already set using -
576 FontPointSize or FontPixelSize. -
577 \value FontFixedPitch -
578 \omitvalue FontSizeIncrement -
579 \value FontWeight -
580 \value FontItalic -
581 \value FontUnderline \e{This property has been deprecated.} Use QTextFormat::TextUnderlineStyle instead. -
582 \value FontOverline -
583 \value FontStrikeOut -
584 \value FontCapitalization Specifies the capitalization type that is to be applied to the text. -
585 \value FontLetterSpacingType Specifies the meaning of the FontLetterSpacing property. The default -
586 is QFont::PercentageSpacing. -
587 \value FontLetterSpacing Changes the default spacing between individual letters in the font. The value is -
588 specified as a percentage or absolute value, depending on FontLetterSpacingType. -
589 The default value is 100%. -
590 \value FontWordSpacing Changes the default spacing between individual words. A positive value increases the word spacing -
591 by the corresponding pixels; a negative value decreases the spacing. -
592 \value FontStretch Corresponds to the QFont::Stretch property -
593 \value FontStyleHint Corresponds to the QFont::StyleHint property -
594 \value FontStyleStrategy Corresponds to the QFont::StyleStrategy property -
595 \value FontKerning Specifies whether the font has kerning turned on. -
596 \value FontHintingPreference Controls the use of hinting according to values -
597 of the QFont::HintingPreference enum. -
598 -
599 \omitvalue FirstFontProperty -
600 \omitvalue LastFontProperty -
601 -
602 \value TextUnderlineColor -
603 \value TextVerticalAlignment -
604 \value TextOutline -
605 \value TextUnderlineStyle -
606 \value TextToolTip Specifies the (optional) tool tip to be displayed for a fragment of text. -
607 -
608 \value IsAnchor -
609 \value AnchorHref -
610 \value AnchorName -
611 \value ObjectType -
612 -
613 List properties -
614 -
615 \value ListStyle Specifies the style used for the items in a list, -
616 described by values of the QTextListFormat::Style enum. -
617 \value ListIndent Specifies the amount of indentation used for a list. -
618 \value ListNumberPrefix Defines the text which is prepended to item numbers in -
619 numeric lists. -
620 \value ListNumberSuffix Defines the text which is appended to item numbers in -
621 numeric lists. -
622 -
623 Table and frame properties -
624 -
625 \value FrameBorder -
626 \value FrameBorderBrush -
627 \value FrameBorderStyle See the \l{QTextFrameFormat::BorderStyle}{BorderStyle} enum. -
628 \value FrameBottomMargin -
629 \value FrameHeight -
630 \value FrameLeftMargin -
631 \value FrameMargin -
632 \value FramePadding -
633 \value FrameRightMargin -
634 \value FrameTopMargin -
635 \value FrameWidth -
636 \value TableCellSpacing -
637 \value TableCellPadding -
638 \value TableColumns -
639 \value TableColumnWidthConstraints -
640 \value TableHeaderRowCount -
641 -
642 Table cell properties -
643 -
644 \value TableCellRowSpan -
645 \value TableCellColumnSpan -
646 \value TableCellLeftPadding -
647 \value TableCellRightPadding -
648 \value TableCellTopPadding -
649 \value TableCellBottomPadding -
650 -
651 Image properties -
652 -
653 \value ImageName -
654 \value ImageWidth -
655 \value ImageHeight -
656 -
657 Selection properties -
658 -
659 \value FullWidthSelection When set on the characterFormat of a selection, -
660 the whole width of the text will be shown selected. -
661 -
662 Page break properties -
663 -
664 \value PageBreakPolicy Specifies how pages are broken. See the PageBreakFlag enum. -
665 -
666 \value UserProperty -
667 -
668 \sa property(), setProperty() -
669*/ -
670 -
671/*! -
672 \enum QTextFormat::ObjectTypes -
673 -
674 This enum describes what kind of QTextObject this format is associated with. -
675 -
676 \value NoObject -
677 \value ImageObject -
678 \value TableObject -
679 \value TableCellObject -
680 \value UserObject The first object that can be used for application-specific purposes. -
681 -
682 \sa QTextObject, QTextTable, QTextObject::format() -
683*/ -
684 -
685/*! -
686 \enum QTextFormat::PageBreakFlag -
687 \since 4.2 -
688 -
689 This enum describes how page breaking is performed when printing. It maps to the -
690 corresponding css properties. -
691 -
692 \value PageBreak_Auto The page break is determined automatically depending on the -
693 available space on the current page -
694 \value PageBreak_AlwaysBefore The page is always broken before the paragraph/table -
695 \value PageBreak_AlwaysAfter A new page is always started after the paragraph/table -
696 -
697 \sa QTextBlockFormat::pageBreakPolicy(), QTextFrameFormat::pageBreakPolicy(), -
698 PageBreakPolicy -
699*/ -
700 -
701/*! -
702 \fn bool QTextFormat::isValid() const -
703 -
704 Returns true if the format is valid (i.e. is not -
705 InvalidFormat); otherwise returns false. -
706*/ -
707 -
708/*! -
709 \fn bool QTextFormat::isCharFormat() const -
710 -
711 Returns true if this text format is a \c CharFormat; otherwise -
712 returns false. -
713*/ -
714 -
715 -
716/*! -
717 \fn bool QTextFormat::isBlockFormat() const -
718 -
719 Returns true if this text format is a \c BlockFormat; otherwise -
720 returns false. -
721*/ -
722 -
723 -
724/*! -
725 \fn bool QTextFormat::isListFormat() const -
726 -
727 Returns true if this text format is a \c ListFormat; otherwise -
728 returns false. -
729*/ -
730 -
731 -
732/*! -
733 \fn bool QTextFormat::isTableFormat() const -
734 -
735 Returns true if this text format is a \c TableFormat; otherwise -
736 returns false. -
737*/ -
738 -
739 -
740/*! -
741 \fn bool QTextFormat::isFrameFormat() const -
742 -
743 Returns true if this text format is a \c FrameFormat; otherwise -
744 returns false. -
745*/ -
746 -
747 -
748/*! -
749 \fn bool QTextFormat::isImageFormat() const -
750 -
751 Returns true if this text format is an image format; otherwise -
752 returns false. -
753*/ -
754 -
755 -
756/*! -
757 \fn bool QTextFormat::isTableCellFormat() const -
758 \since 4.4 -
759 -
760 Returns true if this text format is a \c TableCellFormat; otherwise -
761 returns false. -
762*/ -
763 -
764 -
765/*! -
766 Creates a new text format with an \c InvalidFormat. -
767 -
768 \sa FormatType -
769*/ -
770QTextFormat::QTextFormat() -
771 : format_type(InvalidFormat) -
772{ -
773}
executed: }
Execution Count:3103
3103
774 -
775/*! -
776 Creates a new text format of the given \a type. -
777 -
778 \sa FormatType -
779*/ -
780QTextFormat::QTextFormat(int type) -
781 : format_type(type) -
782{ -
783}
executed: }
Execution Count:67936
67936
784 -
785 -
786/*! -
787 \fn QTextFormat::QTextFormat(const QTextFormat &other) -
788 -
789 Creates a new text format with the same attributes as the \a other -
790 text format. -
791*/ -
792QTextFormat::QTextFormat(const QTextFormat &rhs) -
793 : d(rhs.d), format_type(rhs.format_type) -
794{ -
795}
executed: }
Execution Count:349402
349402
796 -
797/*! -
798 \fn QTextFormat &QTextFormat::operator=(const QTextFormat &other) -
799 -
800 Assigns the \a other text format to this text format, and returns a -
801 reference to this text format. -
802*/ -
803QTextFormat &QTextFormat::operator=(const QTextFormat &rhs) -
804{ -
805 d = rhs.d;
executed (the execution status of this line is deduced): d = rhs.d;
-
806 format_type = rhs.format_type;
executed (the execution status of this line is deduced): format_type = rhs.format_type;
-
807 return *this;
executed: return *this;
Execution Count:13915
13915
808} -
809 -
810/*! -
811 \fn void QTextFormat::swap(QTextFormat &other) -
812 \since 5.0 -
813 -
814 Swaps this text format with \a other. This function is very fast -
815 and never fails. -
816*/ -
817 -
818/*! -
819 Destroys this text format. -
820*/ -
821QTextFormat::~QTextFormat() -
822{ -
823} -
824 -
825 -
826/*! -
827 Returns the text format as a QVariant -
828*/ -
829QTextFormat::operator QVariant() const -
830{ -
831 return QVariant(QVariant::TextFormat, this);
executed: return QVariant(QVariant::TextFormat, this);
Execution Count:2
2
832} -
833 -
834/*! -
835 Merges the \a other format with this format; where there are -
836 conflicts the \a other format takes precedence. -
837*/ -
838void QTextFormat::merge(const QTextFormat &other) -
839{ -
840 if (format_type != other.format_type)
partially evaluated: format_type != other.format_type
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:16874
0-16874
841 return;
never executed: return;
0
842 -
843 if (!d) {
evaluated: !d
TRUEFALSE
yes
Evaluation Count:112
yes
Evaluation Count:16762
112-16762
844 d = other.d;
executed (the execution status of this line is deduced): d = other.d;
-
845 return;
executed: return;
Execution Count:112
112
846 } -
847 -
848 if (!other.d)
evaluated: !other.d
TRUEFALSE
yes
Evaluation Count:12802
yes
Evaluation Count:3960
3960-12802
849 return;
executed: return;
Execution Count:12802
12802
850 -
851 QTextFormatPrivate *d = this->d;
executed (the execution status of this line is deduced): QTextFormatPrivate *d = this->d;
-
852 -
853 const QVector<QTextFormatPrivate::Property> &otherProps = other.d->props;
executed (the execution status of this line is deduced): const QVector<QTextFormatPrivate::Property> &otherProps = other.d->props;
-
854 d->props.reserve(d->props.size() + otherProps.size());
executed (the execution status of this line is deduced): d->props.reserve(d->props.size() + otherProps.size());
-
855 for (int i = 0; i < otherProps.count(); ++i) {
evaluated: i < otherProps.count()
TRUEFALSE
yes
Evaluation Count:4370
yes
Evaluation Count:3960
3960-4370
856 const QTextFormatPrivate::Property &p = otherProps.at(i);
executed (the execution status of this line is deduced): const QTextFormatPrivate::Property &p = otherProps.at(i);
-
857 d->insertProperty(p.key, p.value);
executed (the execution status of this line is deduced): d->insertProperty(p.key, p.value);
-
858 }
executed: }
Execution Count:4370
4370
859}
executed: }
Execution Count:3960
3960
860 -
861/*! -
862 Returns the type of this format. -
863 -
864 \sa FormatType -
865*/ -
866int QTextFormat::type() const -
867{ -
868 return format_type;
executed: return format_type;
Execution Count:4187
4187
869} -
870 -
871/*! -
872 Returns this format as a block format. -
873*/ -
874QTextBlockFormat QTextFormat::toBlockFormat() const -
875{ -
876 return QTextBlockFormat(*this);
executed: return QTextBlockFormat(*this);
Execution Count:28060
28060
877} -
878 -
879/*! -
880 Returns this format as a character format. -
881*/ -
882QTextCharFormat QTextFormat::toCharFormat() const -
883{ -
884 return QTextCharFormat(*this);
executed: return QTextCharFormat(*this);
Execution Count:50821
50821
885} -
886 -
887/*! -
888 Returns this format as a list format. -
889*/ -
890QTextListFormat QTextFormat::toListFormat() const -
891{ -
892 return QTextListFormat(*this);
executed: return QTextListFormat(*this);
Execution Count:85
85
893} -
894 -
895/*! -
896 Returns this format as a table format. -
897*/ -
898QTextTableFormat QTextFormat::toTableFormat() const -
899{ -
900 return QTextTableFormat(*this);
executed: return QTextTableFormat(*this);
Execution Count:411
411
901} -
902 -
903/*! -
904 Returns this format as a frame format. -
905*/ -
906QTextFrameFormat QTextFormat::toFrameFormat() const -
907{ -
908 return QTextFrameFormat(*this);
executed: return QTextFrameFormat(*this);
Execution Count:1992
1992
909} -
910 -
911/*! -
912 Returns this format as an image format. -
913*/ -
914QTextImageFormat QTextFormat::toImageFormat() const -
915{ -
916 return QTextImageFormat(*this);
executed: return QTextImageFormat(*this);
Execution Count:26
26
917} -
918 -
919/*! -
920 \since 4.4 -
921 -
922 Returns this format as a table cell format. -
923*/ -
924QTextTableCellFormat QTextFormat::toTableCellFormat() const -
925{ -
926 return QTextTableCellFormat(*this);
executed: return QTextTableCellFormat(*this);
Execution Count:217
217
927} -
928 -
929/*! -
930 Returns the value of the property specified by \a propertyId. If the -
931 property isn't of QTextFormat::Bool type, false is returned instead. -
932 -
933 \sa setProperty(), intProperty(), doubleProperty(), stringProperty(), colorProperty(), -
934 lengthProperty(), lengthVectorProperty(), Property -
935*/ -
936bool QTextFormat::boolProperty(int propertyId) const -
937{ -
938 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:56541
yes
Evaluation Count:3415
3415-56541
939 return false;
executed: return false;
Execution Count:56541
56541
940 const QVariant prop = d->property(propertyId);
executed (the execution status of this line is deduced): const QVariant prop = d->property(propertyId);
-
941 if (prop.userType() != QVariant::Bool)
evaluated: prop.userType() != QVariant::Bool
TRUEFALSE
yes
Evaluation Count:3279
yes
Evaluation Count:136
136-3279
942 return false;
executed: return false;
Execution Count:3279
3279
943 return prop.toBool();
executed: return prop.toBool();
Execution Count:136
136
944} -
945 -
946/*! -
947 Returns the value of the property specified by \a propertyId. If the -
948 property is not of QTextFormat::Integer type, 0 is returned instead. -
949 -
950 \sa setProperty(), boolProperty(), doubleProperty(), stringProperty(), colorProperty(), -
951 lengthProperty(), lengthVectorProperty(), Property -
952*/ -
953int QTextFormat::intProperty(int propertyId) const -
954{ -
955 // required, since the default layout direction has to be LayoutDirectionAuto, which is not integer 0 -
956 int def = (propertyId == QTextFormat::LayoutDirection) ? int(Qt::LayoutDirectionAuto) : 0;
evaluated: (propertyId == QTextFormat::LayoutDirection)
TRUEFALSE
yes
Evaluation Count:5251
yes
Evaluation Count:33395
5251-33395
957 -
958 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:15
yes
Evaluation Count:38631
15-38631
959 return def;
executed: return def;
Execution Count:15
15
960 const QVariant prop = d->property(propertyId);
executed (the execution status of this line is deduced): const QVariant prop = d->property(propertyId);
-
961 if (prop.userType() != QVariant::Int)
evaluated: prop.userType() != QVariant::Int
TRUEFALSE
yes
Evaluation Count:36646
yes
Evaluation Count:1985
1985-36646
962 return def;
executed: return def;
Execution Count:36646
36646
963 return prop.toInt();
executed: return prop.toInt();
Execution Count:1985
1985
964} -
965 -
966/*! -
967 Returns the value of the property specified by \a propertyId. If the -
968 property isn't of QVariant::Double or QMetaType::Float type, 0 is -
969 returned instead. -
970 -
971 \sa setProperty(), boolProperty(), intProperty(), stringProperty(), colorProperty(), -
972 lengthProperty(), lengthVectorProperty(), Property -
973*/ -
974qreal QTextFormat::doubleProperty(int propertyId) const -
975{ -
976 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:219
yes
Evaluation Count:17052
219-17052
977 return 0.;
executed: return 0.;
Execution Count:219
219
978 const QVariant prop = d->property(propertyId);
executed (the execution status of this line is deduced): const QVariant prop = d->property(propertyId);
-
979 if (prop.userType() != QVariant::Double && prop.userType() != QMetaType::Float)
evaluated: prop.userType() != QVariant::Double
TRUEFALSE
yes
Evaluation Count:11505
yes
Evaluation Count:5547
partially evaluated: prop.userType() != QMetaType::Float
TRUEFALSE
yes
Evaluation Count:11505
no
Evaluation Count:0
0-11505
980 return 0.;
executed: return 0.;
Execution Count:11505
11505
981 return qvariant_cast<qreal>(prop);
executed: return qvariant_cast<qreal>(prop);
Execution Count:5547
5547
982} -
983 -
984/*! -
985 Returns the value of the property given by \a propertyId; if the -
986 property isn't of QVariant::String type, an empty string is -
987 returned instead. -
988 -
989 \sa setProperty(), boolProperty(), intProperty(), doubleProperty(), colorProperty(), -
990 lengthProperty(), lengthVectorProperty(), Property -
991*/ -
992QString QTextFormat::stringProperty(int propertyId) const -
993{ -
994 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:230
1-230
995 return QString();
executed: return QString();
Execution Count:1
1
996 const QVariant prop = d->property(propertyId);
executed (the execution status of this line is deduced): const QVariant prop = d->property(propertyId);
-
997 if (prop.userType() != QVariant::String)
evaluated: prop.userType() != QVariant::String
TRUEFALSE
yes
Evaluation Count:99
yes
Evaluation Count:131
99-131
998 return QString();
executed: return QString();
Execution Count:99
99
999 return prop.toString();
executed: return prop.toString();
Execution Count:131
131
1000} -
1001 -
1002/*! -
1003 Returns the value of the property given by \a propertyId; if the -
1004 property isn't of QVariant::Color type, an invalid color is -
1005 returned instead. -
1006 -
1007 \sa setProperty(), boolProperty(), intProperty(), doubleProperty(), -
1008 stringProperty(), lengthProperty(), lengthVectorProperty(), Property -
1009*/ -
1010QColor QTextFormat::colorProperty(int propertyId) const -
1011{ -
1012 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:447
yes
Evaluation Count:17
17-447
1013 return QColor();
executed: return QColor();
Execution Count:447
447
1014 const QVariant prop = d->property(propertyId);
executed (the execution status of this line is deduced): const QVariant prop = d->property(propertyId);
-
1015 if (prop.userType() != QVariant::Color)
partially evaluated: prop.userType() != QVariant::Color
TRUEFALSE
yes
Evaluation Count:17
no
Evaluation Count:0
0-17
1016 return QColor();
executed: return QColor();
Execution Count:17
17
1017 return qvariant_cast<QColor>(prop);
never executed: return qvariant_cast<QColor>(prop);
0
1018} -
1019 -
1020/*! -
1021 Returns the value of the property given by \a propertyId; if the -
1022 property isn't of QVariant::Pen type, Qt::NoPen is -
1023 returned instead. -
1024 -
1025 \sa setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), -
1026 lengthProperty(), lengthVectorProperty(), Property -
1027*/ -
1028QPen QTextFormat::penProperty(int propertyId) const -
1029{ -
1030 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:14825
yes
Evaluation Count:209
209-14825
1031 return QPen(Qt::NoPen);
executed: return QPen(Qt::NoPen);
Execution Count:14825
14825
1032 const QVariant prop = d->property(propertyId);
executed (the execution status of this line is deduced): const QVariant prop = d->property(propertyId);
-
1033 if (prop.userType() != QVariant::Pen)
partially evaluated: prop.userType() != QVariant::Pen
TRUEFALSE
yes
Evaluation Count:209
no
Evaluation Count:0
0-209
1034 return QPen(Qt::NoPen);
executed: return QPen(Qt::NoPen);
Execution Count:209
209
1035 return qvariant_cast<QPen>(prop);
never executed: return qvariant_cast<QPen>(prop);
0
1036} -
1037 -
1038/*! -
1039 Returns the value of the property given by \a propertyId; if the -
1040 property isn't of QVariant::Brush type, Qt::NoBrush is -
1041 returned instead. -
1042 -
1043 \sa setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), -
1044 lengthProperty(), lengthVectorProperty(), Property -
1045*/ -
1046QBrush QTextFormat::brushProperty(int propertyId) const -
1047{ -
1048 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:632
yes
Evaluation Count:6905
632-6905
1049 return QBrush(Qt::NoBrush);
executed: return QBrush(Qt::NoBrush);
Execution Count:632
632
1050 const QVariant prop = d->property(propertyId);
executed (the execution status of this line is deduced): const QVariant prop = d->property(propertyId);
-
1051 if (prop.userType() != QVariant::Brush)
evaluated: prop.userType() != QVariant::Brush
TRUEFALSE
yes
Evaluation Count:1351
yes
Evaluation Count:5554
1351-5554
1052 return QBrush(Qt::NoBrush);
executed: return QBrush(Qt::NoBrush);
Execution Count:1351
1351
1053 return qvariant_cast<QBrush>(prop);
executed: return qvariant_cast<QBrush>(prop);
Execution Count:5554
5554
1054} -
1055 -
1056/*! -
1057 Returns the value of the property given by \a propertyId. -
1058 -
1059 \sa setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), -
1060 colorProperty(), lengthVectorProperty(), Property -
1061*/ -
1062QTextLength QTextFormat::lengthProperty(int propertyId) const -
1063{ -
1064 if (!d)
partially evaluated: !d
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:3200
0-3200
1065 return QTextLength();
never executed: return QTextLength();
0
1066 return qvariant_cast<QTextLength>(d->property(propertyId));
executed: return qvariant_cast<QTextLength>(d->property(propertyId));
Execution Count:3200
3200
1067} -
1068 -
1069/*! -
1070 Returns the value of the property given by \a propertyId. If the -
1071 property isn't of QTextFormat::LengthVector type, an empty length -
1072 vector is returned instead. -
1073 -
1074 \sa setProperty(), boolProperty(), intProperty(), doubleProperty(), stringProperty(), -
1075 colorProperty(), lengthProperty(), Property -
1076*/ -
1077QVector<QTextLength> QTextFormat::lengthVectorProperty(int propertyId) const -
1078{ -
1079 QVector<QTextLength> vector;
executed (the execution status of this line is deduced): QVector<QTextLength> vector;
-
1080 if (!d)
partially evaluated: !d
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:53
0-53
1081 return vector;
never executed: return vector;
0
1082 const QVariant prop = d->property(propertyId);
executed (the execution status of this line is deduced): const QVariant prop = d->property(propertyId);
-
1083 if (prop.userType() != QVariant::List)
evaluated: prop.userType() != QVariant::List
TRUEFALSE
yes
Evaluation Count:33
yes
Evaluation Count:20
20-33
1084 return vector;
executed: return vector;
Execution Count:33
33
1085 -
1086 QList<QVariant> propertyList = prop.toList();
executed (the execution status of this line is deduced): QList<QVariant> propertyList = prop.toList();
-
1087 for (int i=0; i<propertyList.size(); ++i) {
evaluated: i<propertyList.size()
TRUEFALSE
yes
Evaluation Count:24
yes
Evaluation Count:20
20-24
1088 QVariant var = propertyList.at(i);
executed (the execution status of this line is deduced): QVariant var = propertyList.at(i);
-
1089 if (var.userType() == QVariant::TextLength)
partially evaluated: var.userType() == QVariant::TextLength
TRUEFALSE
yes
Evaluation Count:24
no
Evaluation Count:0
0-24
1090 vector.append(qvariant_cast<QTextLength>(var));
executed: vector.append(qvariant_cast<QTextLength>(var));
Execution Count:24
24
1091 }
executed: }
Execution Count:24
24
1092 -
1093 return vector;
executed: return vector;
Execution Count:20
20
1094} -
1095 -
1096/*! -
1097 Returns the property specified by the given \a propertyId. -
1098 -
1099 \sa Property -
1100*/ -
1101QVariant QTextFormat::property(int propertyId) const -
1102{ -
1103 return d ? d->property(propertyId) : QVariant();
executed: return d ? d->property(propertyId) : QVariant();
Execution Count:4559
4559
1104} -
1105 -
1106/*! -
1107 Sets the property specified by the \a propertyId to the given \a value. -
1108 -
1109 \sa Property -
1110*/ -
1111void QTextFormat::setProperty(int propertyId, const QVariant &value) -
1112{ -
1113 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:16044
yes
Evaluation Count:263202
16044-263202
1114 d = new QTextFormatPrivate;
executed: d = new QTextFormatPrivate;
Execution Count:16044
16044
1115 if (!value.isValid())
partially evaluated: !value.isValid()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:279246
0-279246
1116 clearProperty(propertyId);
never executed: clearProperty(propertyId);
0
1117 else -
1118 d->insertProperty(propertyId, value);
executed: d->insertProperty(propertyId, value);
Execution Count:279246
279246
1119} -
1120 -
1121/*! -
1122 Sets the value of the property given by \a propertyId to \a value. -
1123 -
1124 \sa lengthVectorProperty(), Property -
1125*/ -
1126void QTextFormat::setProperty(int propertyId, const QVector<QTextLength> &value) -
1127{ -
1128 if (!d)
partially evaluated: !d
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:81
0-81
1129 d = new QTextFormatPrivate;
never executed: d = new QTextFormatPrivate;
0
1130 QVariantList list;
executed (the execution status of this line is deduced): QVariantList list;
-
1131 for (int i=0; i<value.size(); ++i)
evaluated: i<value.size()
TRUEFALSE
yes
Evaluation Count:126
yes
Evaluation Count:81
81-126
1132 list << value.at(i);
executed: list << value.at(i);
Execution Count:126
126
1133 d->insertProperty(propertyId, list);
executed (the execution status of this line is deduced): d->insertProperty(propertyId, list);
-
1134}
executed: }
Execution Count:81
81
1135 -
1136/*! -
1137 Clears the value of the property given by \a propertyId -
1138 -
1139 \sa Property -
1140*/ -
1141void QTextFormat::clearProperty(int propertyId) -
1142{ -
1143 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:6197
yes
Evaluation Count:47269
6197-47269
1144 return;
executed: return;
Execution Count:6197
6197
1145 d->clearProperty(propertyId);
executed (the execution status of this line is deduced): d->clearProperty(propertyId);
-
1146}
executed: }
Execution Count:47269
47269
1147 -
1148 -
1149/*! -
1150 \fn void QTextFormat::setObjectType(int type) -
1151 -
1152 Sets the text format's object type to \a type. -
1153 -
1154 \sa ObjectTypes, objectType() -
1155*/ -
1156 -
1157 -
1158/*! -
1159 \fn int QTextFormat::objectType() const -
1160 -
1161 Returns the text format's object type. -
1162 -
1163 \sa ObjectTypes, setObjectType() -
1164*/ -
1165 -
1166 -
1167/*! -
1168 Returns the index of the format object, or -1 if the format object is invalid. -
1169 -
1170 \sa setObjectIndex() -
1171*/ -
1172int QTextFormat::objectIndex() const -
1173{ -
1174 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:91
yes
Evaluation Count:70040
91-70040
1175 return -1;
executed: return -1;
Execution Count:91
91
1176 const QVariant prop = d->property(ObjectIndex);
executed (the execution status of this line is deduced): const QVariant prop = d->property(ObjectIndex);
-
1177 if (prop.userType() != QVariant::Int) // ####
evaluated: prop.userType() != QVariant::Int
TRUEFALSE
yes
Evaluation Count:51813
yes
Evaluation Count:18227
18227-51813
1178 return -1;
executed: return -1;
Execution Count:51813
51813
1179 return prop.toInt();
executed: return prop.toInt();
Execution Count:18227
18227
1180} -
1181 -
1182/*! -
1183 \fn void QTextFormat::setObjectIndex(int index) -
1184 -
1185 Sets the format object's object \a index. -
1186 -
1187 \sa objectIndex() -
1188*/ -
1189void QTextFormat::setObjectIndex(int o) -
1190{ -
1191 if (o == -1) {
evaluated: o == -1
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:858
2-858
1192 if (d)
partially evaluated: d
TRUEFALSE
yes
Evaluation Count:2
no
Evaluation Count:0
0-2
1193 d->clearProperty(ObjectIndex);
executed: d->clearProperty(ObjectIndex);
Execution Count:2
2
1194 } else {
executed: }
Execution Count:2
2
1195 if (!d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:225
yes
Evaluation Count:633
225-633
1196 d = new QTextFormatPrivate;
executed: d = new QTextFormatPrivate;
Execution Count:225
225
1197 // ### type -
1198 d->insertProperty(ObjectIndex, o);
executed (the execution status of this line is deduced): d->insertProperty(ObjectIndex, o);
-
1199 }
executed: }
Execution Count:858
858
1200} -
1201 -
1202/*! -
1203 Returns true if the text format has a property with the given \a -
1204 propertyId; otherwise returns false. -
1205 -
1206 \sa properties(), Property -
1207*/ -
1208bool QTextFormat::hasProperty(int propertyId) const -
1209{ -
1210 return d ? d->hasProperty(propertyId) : false;
executed: return d ? d->hasProperty(propertyId) : false;
Execution Count:35631
35631
1211} -
1212 -
1213/* -
1214 Returns the property type for the given \a propertyId. -
1215 -
1216 \sa hasProperty(), allPropertyIds(), Property -
1217*/ -
1218 -
1219/*! -
1220 Returns a map with all properties of this text format. -
1221*/ -
1222QMap<int, QVariant> QTextFormat::properties() const -
1223{ -
1224 QMap<int, QVariant> map;
executed (the execution status of this line is deduced): QMap<int, QVariant> map;
-
1225 if (d) {
evaluated: d
TRUEFALSE
yes
Evaluation Count:180
yes
Evaluation Count:83
83-180
1226 for (int i = 0; i < d->props.count(); ++i)
evaluated: i < d->props.count()
TRUEFALSE
yes
Evaluation Count:6
yes
Evaluation Count:180
6-180
1227 map.insert(d->props.at(i).key, d->props.at(i).value);
executed: map.insert(d->props.at(i).key, d->props.at(i).value);
Execution Count:6
6
1228 }
executed: }
Execution Count:180
180
1229 return map;
executed: return map;
Execution Count:263
263
1230} -
1231 -
1232/*! -
1233 \since 4.3 -
1234 Returns the number of properties stored in the format. -
1235*/ -
1236int QTextFormat::propertyCount() const -
1237{ -
1238 return d ? d->props.count() : 0;
executed: return d ? d->props.count() : 0;
Execution Count:1562
1562
1239} -
1240 -
1241/*! -
1242 \fn bool QTextFormat::operator!=(const QTextFormat &other) const -
1243 -
1244 Returns true if this text format is different from the \a other text -
1245 format. -
1246*/ -
1247 -
1248 -
1249/*! -
1250 \fn bool QTextFormat::operator==(const QTextFormat &other) const -
1251 -
1252 Returns true if this text format is the same as the \a other text -
1253 format. -
1254*/ -
1255bool QTextFormat::operator==(const QTextFormat &rhs) const -
1256{ -
1257 if (format_type != rhs.format_type)
evaluated: format_type != rhs.format_type
TRUEFALSE
yes
Evaluation Count:1823
yes
Evaluation Count:34945
1823-34945
1258 return false;
executed: return false;
Execution Count:1823
1823
1259 -
1260 if (d == rhs.d)
evaluated: d == rhs.d
TRUEFALSE
yes
Evaluation Count:13460
yes
Evaluation Count:21485
13460-21485
1261 return true;
executed: return true;
Execution Count:13460
13460
1262 -
1263 if (d && d->props.isEmpty() && !rhs.d)
evaluated: d
TRUEFALSE
yes
Evaluation Count:21459
yes
Evaluation Count:26
evaluated: d->props.isEmpty()
TRUEFALSE
yes
Evaluation Count:19686
yes
Evaluation Count:1773
evaluated: !rhs.d
TRUEFALSE
yes
Evaluation Count:3618
yes
Evaluation Count:16068
26-21459
1264 return true;
executed: return true;
Execution Count:3618
3618
1265 -
1266 if (!d && rhs.d && rhs.d->props.isEmpty())
evaluated: !d
TRUEFALSE
yes
Evaluation Count:26
yes
Evaluation Count:17841
partially evaluated: rhs.d
TRUEFALSE
yes
Evaluation Count:26
no
Evaluation Count:0
partially evaluated: rhs.d->props.isEmpty()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:26
0-17841
1267 return true;
never executed: return true;
0
1268 -
1269 if (!d || !rhs.d)
evaluated: !d
TRUEFALSE
yes
Evaluation Count:26
yes
Evaluation Count:17841
evaluated: !rhs.d
TRUEFALSE
yes
Evaluation Count:12
yes
Evaluation Count:17829
12-17841
1270 return false;
executed: return false;
Execution Count:38
38
1271 -
1272 return *d == *rhs.d;
executed: return *d == *rhs.d;
Execution Count:17829
17829
1273} -
1274 -
1275/*! -
1276 \class QTextCharFormat -
1277 \reentrant -
1278 -
1279 \brief The QTextCharFormat class provides formatting information for -
1280 characters in a QTextDocument. -
1281 \inmodule QtGui -
1282 -
1283 \ingroup richtext-processing -
1284 \ingroup shared -
1285 -
1286 The character format of text in a document specifies the visual properties -
1287 of the text, as well as information about its role in a hypertext document. -
1288 -
1289 The font used can be set by supplying a font to the setFont() function, and -
1290 each aspect of its appearance can be adjusted to give the desired effect. -
1291 setFontFamily() and setFontPointSize() define the font's family (e.g. Times) -
1292 and printed size; setFontWeight() and setFontItalic() provide control over -
1293 the style of the font. setFontUnderline(), setFontOverline(), -
1294 setFontStrikeOut(), and setFontFixedPitch() provide additional effects for -
1295 text. -
1296 -
1297 The color is set with setForeground(). If the text is intended to be used -
1298 as an anchor (for hyperlinks), this can be enabled with setAnchor(). The -
1299 setAnchorHref() and setAnchorNames() functions are used to specify the -
1300 information about the hyperlink's destination and the anchor's name. -
1301 -
1302 \sa QTextFormat, QTextBlockFormat, QTextTableFormat, QTextListFormat -
1303*/ -
1304 -
1305/*! -
1306 \enum QTextCharFormat::VerticalAlignment -
1307 -
1308 This enum describes the ways that adjacent characters can be vertically -
1309 aligned. -
1310 -
1311 \value AlignNormal Adjacent characters are positioned in the standard -
1312 way for text in the writing system in use. -
1313 \value AlignSuperScript Characters are placed above the base line for -
1314 normal text. -
1315 \value AlignSubScript Characters are placed below the base line for -
1316 normal text. -
1317 \value AlignMiddle The center of the object is vertically aligned with the -
1318 base line. Currently, this is only implemented for -
1319 inline objects. -
1320 \value AlignBottom The bottom edge of the object is vertically aligned with -
1321 the base line. -
1322 \value AlignTop The top edge of the object is vertically aligned with -
1323 the base line. -
1324 \value AlignBaseline The base lines of the characters are aligned. -
1325*/ -
1326 -
1327/*! -
1328 \enum QTextCharFormat::UnderlineStyle -
1329 -
1330 This enum describes the different ways drawing underlined text. -
1331 -
1332 \value NoUnderline Text is draw without any underlining decoration. -
1333 \value SingleUnderline A line is drawn using Qt::SolidLine. -
1334 \value DashUnderline Dashes are drawn using Qt::DashLine. -
1335 \value DotLine Dots are drawn using Qt::DotLine; -
1336 \value DashDotLine Dashs and dots are drawn using Qt::DashDotLine. -
1337 \value DashDotDotLine Underlines draw drawn using Qt::DashDotDotLine. -
1338 \value WaveUnderline The text is underlined using a wave shaped line. -
1339 \value SpellCheckUnderline The underline is drawn depending on the QStyle::SH_SpellCeckUnderlineStyle -
1340 style hint of the QApplication style. By default this is mapped to -
1341 WaveUnderline, on Mac OS X it is mapped to DashDotLine. -
1342 -
1343 \sa Qt::PenStyle -
1344*/ -
1345 -
1346/*! -
1347 \fn QTextCharFormat::QTextCharFormat() -
1348 -
1349 Constructs a new character format object. -
1350*/ -
1351QTextCharFormat::QTextCharFormat() : QTextFormat(CharFormat) {}
executed: }
Execution Count:60067
60067
1352 -
1353/*! -
1354 \internal -
1355 \fn QTextCharFormat::QTextCharFormat(const QTextFormat &other) -
1356 -
1357 Creates a new character format with the same attributes as the \a given -
1358 text format. -
1359*/ -
1360QTextCharFormat::QTextCharFormat(const QTextFormat &fmt) -
1361 : QTextFormat(fmt) -
1362{ -
1363}
executed: }
Execution Count:51064
51064
1364 -
1365/*! -
1366 \fn bool QTextCharFormat::isValid() const -
1367 -
1368 Returns true if this character format is valid; otherwise returns -
1369 false. -
1370*/ -
1371 -
1372 -
1373/*! -
1374 \fn void QTextCharFormat::setFontFamily(const QString &family) -
1375 -
1376 Sets the text format's font \a family. -
1377 -
1378 \sa setFont() -
1379*/ -
1380 -
1381 -
1382/*! -
1383 \fn QString QTextCharFormat::fontFamily() const -
1384 -
1385 Returns the text format's font family. -
1386 -
1387 \sa font() -
1388*/ -
1389 -
1390 -
1391/*! -
1392 \fn void QTextCharFormat::setFontPointSize(qreal size) -
1393 -
1394 Sets the text format's font \a size. -
1395 -
1396 \sa setFont() -
1397*/ -
1398 -
1399 -
1400/*! -
1401 \fn qreal QTextCharFormat::fontPointSize() const -
1402 -
1403 Returns the font size used to display text in this format. -
1404 -
1405 \sa font() -
1406*/ -
1407 -
1408 -
1409/*! -
1410 \fn void QTextCharFormat::setFontWeight(int weight) -
1411 -
1412 Sets the text format's font weight to \a weight. -
1413 -
1414 \sa setFont(), QFont::Weight -
1415*/ -
1416 -
1417 -
1418/*! -
1419 \fn int QTextCharFormat::fontWeight() const -
1420 -
1421 Returns the text format's font weight. -
1422 -
1423 \sa font(), QFont::Weight -
1424*/ -
1425 -
1426 -
1427/*! -
1428 \fn void QTextCharFormat::setFontItalic(bool italic) -
1429 -
1430 If \a italic is true, sets the text format's font to be italic; otherwise -
1431 the font will be non-italic. -
1432 -
1433 \sa setFont() -
1434*/ -
1435 -
1436 -
1437/*! -
1438 \fn bool QTextCharFormat::fontItalic() const -
1439 -
1440 Returns true if the text format's font is italic; otherwise -
1441 returns false. -
1442 -
1443 \sa font() -
1444*/ -
1445 -
1446 -
1447/*! -
1448 \fn void QTextCharFormat::setFontUnderline(bool underline) -
1449 -
1450 If \a underline is true, sets the text format's font to be underlined; -
1451 otherwise it is displayed non-underlined. -
1452 -
1453 \sa setFont() -
1454*/ -
1455 -
1456 -
1457/*! -
1458 \fn bool QTextCharFormat::fontUnderline() const -
1459 -
1460 Returns true if the text format's font is underlined; otherwise -
1461 returns false. -
1462 -
1463 \sa font() -
1464*/ -
1465bool QTextCharFormat::fontUnderline() const -
1466{ -
1467 if (hasProperty(TextUnderlineStyle))
evaluated: hasProperty(TextUnderlineStyle)
TRUEFALSE
yes
Evaluation Count:17
yes
Evaluation Count:8
8-17
1468 return underlineStyle() == SingleUnderline;
executed: return underlineStyle() == SingleUnderline;
Execution Count:17
17
1469 return boolProperty(FontUnderline);
executed: return boolProperty(FontUnderline);
Execution Count:8
8
1470} -
1471 -
1472/*! -
1473 \fn UnderlineStyle QTextCharFormat::underlineStyle() const -
1474 \since 4.2 -
1475 -
1476 Returns the style of underlining the text. -
1477*/ -
1478 -
1479/*! -
1480 \fn void QTextCharFormat::setUnderlineStyle(UnderlineStyle style) -
1481 \since 4.2 -
1482 -
1483 Sets the style of underlining the text to \a style. -
1484*/ -
1485void QTextCharFormat::setUnderlineStyle(UnderlineStyle style) -
1486{ -
1487 setProperty(TextUnderlineStyle, style);
executed (the execution status of this line is deduced): setProperty(TextUnderlineStyle, style);
-
1488 // for compatibility -
1489 setProperty(FontUnderline, style == SingleUnderline);
executed (the execution status of this line is deduced): setProperty(FontUnderline, style == SingleUnderline);
-
1490}
executed: }
Execution Count:12898
12898
1491 -
1492/*! -
1493 \fn void QTextCharFormat::setFontOverline(bool overline) -
1494 -
1495 If \a overline is true, sets the text format's font to be overlined; -
1496 otherwise the font is displayed non-overlined. -
1497 -
1498 \sa setFont() -
1499*/ -
1500 -
1501 -
1502/*! -
1503 \fn bool QTextCharFormat::fontOverline() const -
1504 -
1505 Returns true if the text format's font is overlined; otherwise -
1506 returns false. -
1507 -
1508 \sa font() -
1509*/ -
1510 -
1511 -
1512/*! -
1513 \fn void QTextCharFormat::setFontStrikeOut(bool strikeOut) -
1514 -
1515 If \a strikeOut is true, sets the text format's font with strike-out -
1516 enabled (with a horizontal line through it); otherwise it is displayed -
1517 without strikeout. -
1518 -
1519 \sa setFont() -
1520*/ -
1521 -
1522 -
1523/*! -
1524 \fn bool QTextCharFormat::fontStrikeOut() const -
1525 -
1526 Returns true if the text format's font is struck out (has a horizontal line -
1527 drawn through it); otherwise returns false. -
1528 -
1529 \sa font() -
1530*/ -
1531 -
1532 -
1533/*! -
1534 \since 4.5 -
1535 \fn void QTextCharFormat::setFontStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy) -
1536 -
1537 Sets the font style \a hint and \a strategy. -
1538 -
1539 Qt does not support style hints on X11 since this information is not provided by the window system. -
1540 -
1541 \sa setFont() -
1542 \sa QFont::setStyleHint() -
1543*/ -
1544 -
1545 -
1546/*! -
1547 \since 4.5 -
1548 \fn void QTextCharFormat::setFontStyleStrategy(QFont::StyleStrategy strategy) -
1549 -
1550 Sets the font style \a strategy. -
1551 -
1552 \sa setFont() -
1553 \sa QFont::setStyleStrategy() -
1554*/ -
1555 -
1556 -
1557/*! -
1558 \since 4.5 -
1559 \fn void QTextCharFormat::setFontKerning(bool enable) -
1560 Enables kerning for this font if \a enable is true; otherwise disables it. -
1561 -
1562 When kerning is enabled, glyph metrics do not add up anymore, even for -
1563 Latin text. In other words, the assumption that width('a') + width('b') -
1564 is equal to width("ab") is not neccesairly true. -
1565 -
1566 \sa setFont() -
1567*/ -
1568 -
1569 -
1570/*! -
1571 \fn QTextCharFormat::StyleHint QTextCharFormat::fontStyleHint() const -
1572 \since 4.5 -
1573 -
1574 Returns the font style hint. -
1575 -
1576 \sa setFontStyleHint(), font() -
1577*/ -
1578 -
1579 -
1580/*! -
1581 \since 4.5 -
1582 \fn QTextCharFormat::StyleStrategy QTextCharFormat::fontStyleStrategy() const -
1583 -
1584 Returns the current font style strategy. -
1585 -
1586 \sa setFontStyleStrategy() -
1587 \sa font() -
1588*/ -
1589 -
1590 -
1591/*! -
1592 \since 4.5 -
1593 \fn bool QTextCharFormat::fontKerning() const -
1594 Returns true if the font kerning is enabled. -
1595 -
1596 \sa setFontKerning() -
1597 \sa font() -
1598*/ -
1599 -
1600 -
1601/*! -
1602 \fn void QTextCharFormat::setFontFixedPitch(bool fixedPitch) -
1603 -
1604 If \a fixedPitch is true, sets the text format's font to be fixed pitch; -
1605 otherwise a non-fixed pitch font is used. -
1606 -
1607 \sa setFont() -
1608*/ -
1609 -
1610 -
1611/*! -
1612 \fn bool QTextCharFormat::fontFixedPitch() const -
1613 -
1614 Returns true if the text format's font is fixed pitch; otherwise -
1615 returns false. -
1616 -
1617 \sa font() -
1618*/ -
1619 -
1620/*! -
1621 \since 4.8 -
1622 -
1623 \fn void QTextCharFormat::setFontHintingPreference(QFont::HintingPreference hintingPreference) -
1624 -
1625 Sets the hinting preference of the text format's font to be \a hintingPreference. -
1626 -
1627 \sa setFont(), QFont::setHintingPreference() -
1628*/ -
1629 -
1630/*! -
1631 \since 4.8 -
1632 -
1633 \fn QFont::HintingPreference QTextCharFormat::fontHintingPreference() const -
1634 -
1635 Returns the hinting preference set for this text format. -
1636 -
1637 \sa font(), QFont::hintingPreference() -
1638*/ -
1639 -
1640/*! -
1641 \fn QPen QTextCharFormat::textOutline() const -
1642 -
1643 Returns the pen used to draw the outlines of characters in this format. -
1644*/ -
1645 -
1646 -
1647/*! -
1648 \fn void QTextCharFormat::setTextOutline(const QPen &pen) -
1649 -
1650 Sets the pen used to draw the outlines of characters to the given \a pen. -
1651*/ -
1652 -
1653/*! -
1654 \fn void QTextCharFormat::setToolTip(const QString &text) -
1655 \since 4.3 -
1656 -
1657 Sets the tool tip for a fragment of text to the given \a text. -
1658*/ -
1659 -
1660/*! -
1661 \fn QString QTextCharFormat::toolTip() const -
1662 \since 4.3 -
1663 -
1664 Returns the tool tip that is displayed for a fragment of text. -
1665*/ -
1666 -
1667/*! -
1668 \fn void QTextFormat::setForeground(const QBrush &brush) -
1669 -
1670 Sets the foreground brush to the specified \a brush. The foreground -
1671 brush is mostly used to render text. -
1672 -
1673 \sa foreground(), clearForeground(), setBackground() -
1674*/ -
1675 -
1676 -
1677/*! -
1678 \fn QBrush QTextFormat::foreground() const -
1679 -
1680 Returns the brush used to render foreground details, such as text, -
1681 frame outlines, and table borders. -
1682 -
1683 \sa setForeground(), clearForeground(), background() -
1684*/ -
1685 -
1686/*! -
1687 \fn void QTextFormat::clearForeground() -
1688 -
1689 Clears the brush used to paint the document's foreground. The default -
1690 brush will be used. -
1691 -
1692 \sa foreground(), setForeground(), clearBackground() -
1693*/ -
1694 -
1695 -
1696/*! -
1697 \fn void QTextCharFormat::setAnchor(bool anchor) -
1698 -
1699 If \a anchor is true, text with this format represents an anchor, and is -
1700 formatted in the appropriate way; otherwise the text is formatted normally. -
1701 (Anchors are hyperlinks which are often shown underlined and in a different -
1702 color from plain text.) -
1703 -
1704 The way the text is rendered is independent of whether or not the format -
1705 has a valid anchor defined. Use setAnchorHref(), and optionally -
1706 setAnchorNames() to create a hypertext link. -
1707 -
1708 \sa isAnchor() -
1709*/ -
1710 -
1711 -
1712/*! -
1713 \fn bool QTextCharFormat::isAnchor() const -
1714 -
1715 Returns true if the text is formatted as an anchor; otherwise -
1716 returns false. -
1717 -
1718 \sa setAnchor(), setAnchorHref(), setAnchorNames() -
1719*/ -
1720 -
1721 -
1722/*! -
1723 \fn void QTextCharFormat::setAnchorHref(const QString &value) -
1724 -
1725 Sets the hypertext link for the text format to the given \a value. -
1726 This is typically a URL like "http://example.com/index.html". -
1727 -
1728 The anchor will be displayed with the \a value as its display text; -
1729 if you want to display different text call setAnchorNames(). -
1730 -
1731 To format the text as a hypertext link use setAnchor(). -
1732*/ -
1733 -
1734 -
1735/*! -
1736 \fn QString QTextCharFormat::anchorHref() const -
1737 -
1738 Returns the text format's hypertext link, or an empty string if -
1739 none has been set. -
1740*/ -
1741 -
1742 -
1743/*! -
1744 \fn void QTextCharFormat::setAnchorName(const QString &name) -
1745 \obsolete -
1746 -
1747 This function is deprecated. Use setAnchorNames() instead. -
1748 -
1749 Sets the text format's anchor \a name. For the anchor to work as a -
1750 hyperlink, the destination must be set with setAnchorHref() and -
1751 the anchor must be enabled with setAnchor(). -
1752*/ -
1753 -
1754/*! -
1755 \fn void QTextCharFormat::setAnchorNames(const QStringList &names) -
1756 \since 4.3 -
1757 -
1758 Sets the text format's anchor \a names. For the anchor to work as a -
1759 hyperlink, the destination must be set with setAnchorHref() and -
1760 the anchor must be enabled with setAnchor(). -
1761*/ -
1762 -
1763/*! -
1764 \fn QString QTextCharFormat::anchorName() const -
1765 \obsolete -
1766 -
1767 This function is deprecated. Use anchorNames() instead. -
1768 -
1769 Returns the anchor name associated with this text format, or an empty -
1770 string if none has been set. If the anchor name is set, text with this -
1771 format can be the destination of a hypertext link. -
1772*/ -
1773QString QTextCharFormat::anchorName() const -
1774{ -
1775 QVariant prop = property(AnchorName);
executed (the execution status of this line is deduced): QVariant prop = property(AnchorName);
-
1776 if (prop.userType() == QVariant::StringList)
evaluated: prop.userType() == QVariant::StringList
TRUEFALSE
yes
Evaluation Count:12
yes
Evaluation Count:19
12-19
1777 return prop.toStringList().value(0);
executed: return prop.toStringList().value(0);
Execution Count:12
12
1778 else if (prop.userType() != QVariant::String)
partially evaluated: prop.userType() != QVariant::String
TRUEFALSE
yes
Evaluation Count:19
no
Evaluation Count:0
0-19
1779 return QString();
executed: return QString();
Execution Count:19
19
1780 return prop.toString();
never executed: return prop.toString();
0
1781} -
1782 -
1783/*! -
1784 \fn QStringList QTextCharFormat::anchorNames() const -
1785 \since 4.3 -
1786 -
1787 Returns the anchor names associated with this text format, or an empty -
1788 string list if none has been set. If the anchor names are set, text with this -
1789 format can be the destination of a hypertext link. -
1790*/ -
1791QStringList QTextCharFormat::anchorNames() const -
1792{ -
1793 QVariant prop = property(AnchorName);
executed (the execution status of this line is deduced): QVariant prop = property(AnchorName);
-
1794 if (prop.userType() == QVariant::StringList)
evaluated: prop.userType() == QVariant::StringList
TRUEFALSE
yes
Evaluation Count:2
yes
Evaluation Count:1
1-2
1795 return prop.toStringList();
executed: return prop.toStringList();
Execution Count:2
2
1796 else if (prop.userType() != QVariant::String)
partially evaluated: prop.userType() != QVariant::String
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
0-1
1797 return QStringList();
executed: return QStringList();
Execution Count:1
1
1798 return QStringList(prop.toString());
never executed: return QStringList(prop.toString());
0
1799} -
1800 -
1801 -
1802/*! -
1803 \fn void QTextCharFormat::setTableCellRowSpan(int tableCellRowSpan) -
1804 \internal -
1805 -
1806 If this character format is applied to characters in a table cell, -
1807 the cell will span \a tableCellRowSpan rows. -
1808*/ -
1809 -
1810 -
1811/*! -
1812 \fn int QTextCharFormat::tableCellRowSpan() const -
1813 \internal -
1814 -
1815 If this character format is applied to characters in a table cell, -
1816 this function returns the number of rows spanned by the text (this may -
1817 be 1); otherwise it returns 1. -
1818*/ -
1819 -
1820/*! -
1821 \fn void QTextCharFormat::setTableCellColumnSpan(int tableCellColumnSpan) -
1822 \internal -
1823 -
1824 If this character format is applied to characters in a table cell, -
1825 the cell will span \a tableCellColumnSpan columns. -
1826*/ -
1827 -
1828 -
1829/*! -
1830 \fn int QTextCharFormat::tableCellColumnSpan() const -
1831 \internal -
1832 -
1833 If this character format is applied to characters in a table cell, -
1834 this function returns the number of columns spanned by the text (this -
1835 may be 1); otherwise it returns 1. -
1836*/ -
1837 -
1838/*! -
1839 \fn void QTextCharFormat::setUnderlineColor(const QColor &color) -
1840 -
1841 Sets the underline color used for the characters with this format to -
1842 the \a color specified. -
1843 -
1844 \sa underlineColor() -
1845*/ -
1846 -
1847/*! -
1848 \fn QColor QTextCharFormat::underlineColor() const -
1849 -
1850 Returns the color used to underline the characters with this format. -
1851 -
1852 \sa setUnderlineColor() -
1853*/ -
1854 -
1855/*! -
1856 \fn void QTextCharFormat::setVerticalAlignment(VerticalAlignment alignment) -
1857 -
1858 Sets the vertical alignment used for the characters with this format to -
1859 the \a alignment specified. -
1860 -
1861 \sa verticalAlignment() -
1862*/ -
1863 -
1864/*! -
1865 \fn VerticalAlignment QTextCharFormat::verticalAlignment() const -
1866 -
1867 Returns the vertical alignment used for characters with this format. -
1868 -
1869 \sa setVerticalAlignment() -
1870*/ -
1871 -
1872/*! -
1873 Sets the text format's \a font. -
1874*/ -
1875void QTextCharFormat::setFont(const QFont &font) -
1876{ -
1877 setFontFamily(font.family());
executed (the execution status of this line is deduced): setFontFamily(font.family());
-
1878 -
1879 const qreal pointSize = font.pointSizeF();
executed (the execution status of this line is deduced): const qreal pointSize = font.pointSizeF();
-
1880 if (pointSize > 0) {
evaluated: pointSize > 0
TRUEFALSE
yes
Evaluation Count:12867
yes
Evaluation Count:1
1-12867
1881 setFontPointSize(pointSize);
executed (the execution status of this line is deduced): setFontPointSize(pointSize);
-
1882 } else {
executed: }
Execution Count:12867
12867
1883 const int pixelSize = font.pixelSize();
executed (the execution status of this line is deduced): const int pixelSize = font.pixelSize();
-
1884 if (pixelSize > 0)
partially evaluated: pixelSize > 0
TRUEFALSE
yes
Evaluation Count:1
no
Evaluation Count:0
0-1
1885 setProperty(QTextFormat::FontPixelSize, pixelSize);
executed: setProperty(QTextFormat::FontPixelSize, pixelSize);
Execution Count:1
1
1886 }
executed: }
Execution Count:1
1
1887 -
1888 setFontWeight(font.weight());
executed (the execution status of this line is deduced): setFontWeight(font.weight());
-
1889 setFontItalic(font.italic());
executed (the execution status of this line is deduced): setFontItalic(font.italic());
-
1890 setUnderlineStyle(font.underline() ? SingleUnderline : NoUnderline);
executed (the execution status of this line is deduced): setUnderlineStyle(font.underline() ? SingleUnderline : NoUnderline);
-
1891 setFontOverline(font.overline());
executed (the execution status of this line is deduced): setFontOverline(font.overline());
-
1892 setFontStrikeOut(font.strikeOut());
executed (the execution status of this line is deduced): setFontStrikeOut(font.strikeOut());
-
1893 setFontFixedPitch(font.fixedPitch());
executed (the execution status of this line is deduced): setFontFixedPitch(font.fixedPitch());
-
1894 setFontCapitalization(font.capitalization());
executed (the execution status of this line is deduced): setFontCapitalization(font.capitalization());
-
1895 setFontWordSpacing(font.wordSpacing());
executed (the execution status of this line is deduced): setFontWordSpacing(font.wordSpacing());
-
1896 setFontLetterSpacingType(font.letterSpacingType());
executed (the execution status of this line is deduced): setFontLetterSpacingType(font.letterSpacingType());
-
1897 setFontLetterSpacing(font.letterSpacing());
executed (the execution status of this line is deduced): setFontLetterSpacing(font.letterSpacing());
-
1898 setFontStretch(font.stretch());
executed (the execution status of this line is deduced): setFontStretch(font.stretch());
-
1899 setFontStyleHint(font.styleHint());
executed (the execution status of this line is deduced): setFontStyleHint(font.styleHint());
-
1900 setFontStyleStrategy(font.styleStrategy());
executed (the execution status of this line is deduced): setFontStyleStrategy(font.styleStrategy());
-
1901 setFontKerning(font.kerning());
executed (the execution status of this line is deduced): setFontKerning(font.kerning());
-
1902}
executed: }
Execution Count:12868
12868
1903 -
1904/*! -
1905 Returns the font for this character format. -
1906*/ -
1907QFont QTextCharFormat::font() const -
1908{ -
1909 return d ? d->font() : QFont();
executed: return d ? d->font() : QFont();
Execution Count:10858
10858
1910} -
1911 -
1912/*! -
1913 \class QTextBlockFormat -
1914 \reentrant -
1915 -
1916 \brief The QTextBlockFormat class provides formatting information for -
1917 blocks of text in a QTextDocument. -
1918 \inmodule QtGui -
1919 -
1920 \ingroup richtext-processing -
1921 \ingroup shared -
1922 -
1923 A document is composed of a list of blocks, represented by QTextBlock -
1924 objects. Each block can contain an item of some kind, such as a -
1925 paragraph of text, a table, a list, or an image. Every block has an -
1926 associated QTextBlockFormat that specifies its characteristics. -
1927 -
1928 To cater for left-to-right and right-to-left languages you can set -
1929 a block's direction with setDirection(). Paragraph alignment is -
1930 set with setAlignment(). Margins are controlled by setTopMargin(), -
1931 setBottomMargin(), setLeftMargin(), setRightMargin(). Overall -
1932 indentation is set with setIndent(), the indentation of the first -
1933 line with setTextIndent(). -
1934 -
1935 Line spacing is set with setLineHeight() and retrieved via lineHeight() -
1936 and lineHeightType(). The types of line spacing available are in the -
1937 LineHeightTypes enum. -
1938 -
1939 Line breaking can be enabled and disabled with setNonBreakableLines(). -
1940 -
1941 The brush used to paint the paragraph's background -
1942 is set with \l{QTextFormat::setBackground()}{setBackground()}, and other -
1943 aspects of the text's appearance can be customized by using the -
1944 \l{QTextFormat::setProperty()}{setProperty()} function with the -
1945 \c OutlinePen, \c ForegroundBrush, and \c BackgroundBrush -
1946 \l{QTextFormat::Property} values. -
1947 -
1948 If a text block is part of a list, it can also have a list format that -
1949 is accessible with the listFormat() function. -
1950 -
1951 \sa QTextBlock, QTextCharFormat -
1952*/ -
1953 -
1954/*! -
1955 \since 4.8 -
1956 \enum QTextBlockFormat::LineHeightTypes -
1957 -
1958 This enum describes the various types of line spacing support paragraphs can have. -
1959 -
1960 \value SingleHeight This is the default line height: single spacing. -
1961 \value ProportionalHeight This sets the spacing proportional to the line (in percentage). -
1962 For example, set to 200 for double spacing. -
1963 \value FixedHeight This sets the line height to a fixed line height (in pixels). -
1964 \value MinimumHeight This sets the minimum line height (in pixels). -
1965 \value LineDistanceHeight This adds the specified height between lines (in pixels). -
1966 -
1967 \sa lineHeight(), lineHeightType(), setLineHeight() -
1968*/ -
1969 -
1970/*! -
1971 \fn QTextBlockFormat::QTextBlockFormat() -
1972 -
1973 Constructs a new QTextBlockFormat. -
1974*/ -
1975QTextBlockFormat::QTextBlockFormat() : QTextFormat(BlockFormat) {}
executed: }
Execution Count:6240
6240
1976 -
1977/*! -
1978 \internal -
1979 \fn QTextBlockFormat::QTextBlockFormat(const QTextFormat &other) -
1980 -
1981 Creates a new block format with the same attributes as the \a given -
1982 text format. -
1983*/ -
1984QTextBlockFormat::QTextBlockFormat(const QTextFormat &fmt) -
1985 : QTextFormat(fmt) -
1986{ -
1987}
executed: }
Execution Count:28060
28060
1988 -
1989/*! -
1990 \since 4.4 -
1991 Sets the tab positions for the text block to those specified by -
1992 \a tabs. -
1993 -
1994 \sa tabPositions() -
1995*/ -
1996void QTextBlockFormat::setTabPositions(const QList<QTextOption::Tab> &tabs) -
1997{ -
1998 QList<QVariant> list;
executed (the execution status of this line is deduced): QList<QVariant> list;
-
1999 QList<QTextOption::Tab>::ConstIterator iter = tabs.constBegin();
executed (the execution status of this line is deduced): QList<QTextOption::Tab>::ConstIterator iter = tabs.constBegin();
-
2000 while (iter != tabs.constEnd()) {
evaluated: iter != tabs.constEnd()
TRUEFALSE
yes
Evaluation Count:4
yes
Evaluation Count:4
4
2001 QVariant v;
executed (the execution status of this line is deduced): QVariant v;
-
2002 v.setValue<QTextOption::Tab>(*iter);
executed (the execution status of this line is deduced): v.setValue<QTextOption::Tab>(*iter);
-
2003 list.append(v);
executed (the execution status of this line is deduced): list.append(v);
-
2004 ++iter;
executed (the execution status of this line is deduced): ++iter;
-
2005 }
executed: }
Execution Count:4
4
2006 setProperty(TabPositions, list);
executed (the execution status of this line is deduced): setProperty(TabPositions, list);
-
2007}
executed: }
Execution Count:4
4
2008 -
2009/*! -
2010 \since 4.4 -
2011 Returns a list of tab positions defined for the text block. -
2012 -
2013 \sa setTabPositions() -
2014*/ -
2015QList<QTextOption::Tab> QTextBlockFormat::tabPositions() const -
2016{ -
2017 QVariant variant = property(TabPositions);
executed (the execution status of this line is deduced): QVariant variant = property(TabPositions);
-
2018 if(variant.isNull())
evaluated: variant.isNull()
TRUEFALSE
yes
Evaluation Count:2020
yes
Evaluation Count:4
4-2020
2019 return QList<QTextOption::Tab>();
executed: return QList<QTextOption::Tab>();
Execution Count:2020
2020
2020 QList<QTextOption::Tab> answer;
executed (the execution status of this line is deduced): QList<QTextOption::Tab> answer;
-
2021 QList<QVariant> variantsList = qvariant_cast<QList<QVariant> >(variant);
executed (the execution status of this line is deduced): QList<QVariant> variantsList = qvariant_cast<QList<QVariant> >(variant);
-
2022 QList<QVariant>::Iterator iter = variantsList.begin();
executed (the execution status of this line is deduced): QList<QVariant>::Iterator iter = variantsList.begin();
-
2023 while(iter != variantsList.end()) {
evaluated: iter != variantsList.end()
TRUEFALSE
yes
Evaluation Count:4
yes
Evaluation Count:4
4
2024 answer.append( qvariant_cast<QTextOption::Tab>(*iter));
executed (the execution status of this line is deduced): answer.append( qvariant_cast<QTextOption::Tab>(*iter));
-
2025 ++iter;
executed (the execution status of this line is deduced): ++iter;
-
2026 }
executed: }
Execution Count:4
4
2027 return answer;
executed: return answer;
Execution Count:4
4
2028} -
2029 -
2030/*! -
2031 \fn QTextBlockFormat::isValid() const -
2032 -
2033 Returns true if this block format is valid; otherwise returns -
2034 false. -
2035*/ -
2036 -
2037/*! -
2038 \fn void QTextFormat::setLayoutDirection(Qt::LayoutDirection direction) -
2039 -
2040 Sets the document's layout direction to the specified \a direction. -
2041 -
2042 \sa layoutDirection() -
2043*/ -
2044 -
2045 -
2046/*! -
2047 \fn Qt::LayoutDirection QTextFormat::layoutDirection() const -
2048 -
2049 Returns the document's layout direction. -
2050 -
2051 \sa setLayoutDirection() -
2052*/ -
2053 -
2054 -
2055/*! -
2056 \fn void QTextBlockFormat::setAlignment(Qt::Alignment alignment) -
2057 -
2058 Sets the paragraph's \a alignment. -
2059 -
2060 \sa alignment() -
2061*/ -
2062 -
2063 -
2064/*! -
2065 \fn Qt::Alignment QTextBlockFormat::alignment() const -
2066 -
2067 Returns the paragraph's alignment. -
2068 -
2069 \sa setAlignment() -
2070*/ -
2071 -
2072 -
2073/*! -
2074 \fn void QTextBlockFormat::setTopMargin(qreal margin) -
2075 -
2076 Sets the paragraph's top \a margin. -
2077 -
2078 \sa topMargin(), setBottomMargin(), setLeftMargin(), setRightMargin() -
2079*/ -
2080 -
2081 -
2082/*! -
2083 \fn qreal QTextBlockFormat::topMargin() const -
2084 -
2085 Returns the paragraph's top margin. -
2086 -
2087 \sa setTopMargin(), bottomMargin() -
2088*/ -
2089 -
2090 -
2091/*! -
2092 \fn void QTextBlockFormat::setBottomMargin(qreal margin) -
2093 -
2094 Sets the paragraph's bottom \a margin. -
2095 -
2096 \sa bottomMargin(), setTopMargin(), setLeftMargin(), setRightMargin() -
2097*/ -
2098 -
2099 -
2100/*! -
2101 \fn qreal QTextBlockFormat::bottomMargin() const -
2102 -
2103 Returns the paragraph's bottom margin. -
2104 -
2105 \sa setBottomMargin(), topMargin() -
2106*/ -
2107 -
2108 -
2109/*! -
2110 \fn void QTextBlockFormat::setLeftMargin(qreal margin) -
2111 -
2112 Sets the paragraph's left \a margin. Indentation can be applied separately -
2113 with setIndent(). -
2114 -
2115 \sa leftMargin(), setRightMargin(), setTopMargin(), setBottomMargin() -
2116*/ -
2117 -
2118 -
2119/*! -
2120 \fn qreal QTextBlockFormat::leftMargin() const -
2121 -
2122 Returns the paragraph's left margin. -
2123 -
2124 \sa setLeftMargin(), rightMargin(), indent() -
2125*/ -
2126 -
2127 -
2128/*! -
2129 \fn void QTextBlockFormat::setRightMargin(qreal margin) -
2130 -
2131 Sets the paragraph's right \a margin. -
2132 -
2133 \sa rightMargin(), setLeftMargin(), setTopMargin(), setBottomMargin() -
2134*/ -
2135 -
2136 -
2137/*! -
2138 \fn qreal QTextBlockFormat::rightMargin() const -
2139 -
2140 Returns the paragraph's right margin. -
2141 -
2142 \sa setRightMargin(), leftMargin() -
2143*/ -
2144 -
2145 -
2146/*! -
2147 \fn void QTextBlockFormat::setTextIndent(qreal indent) -
2148 -
2149 Sets the \a indent for the first line in the block. This allows the first -
2150 line of a paragraph to be indented differently to the other lines, -
2151 enhancing the readability of the text. -
2152 -
2153 \sa textIndent(), setLeftMargin(), setRightMargin(), setTopMargin(), setBottomMargin() -
2154*/ -
2155 -
2156 -
2157/*! -
2158 \fn qreal QTextBlockFormat::textIndent() const -
2159 -
2160 Returns the paragraph's text indent. -
2161 -
2162 \sa setTextIndent() -
2163*/ -
2164 -
2165 -
2166/*! -
2167 \fn void QTextBlockFormat::setIndent(int indentation) -
2168 -
2169 Sets the paragraph's \a indentation. Margins are set independently of -
2170 indentation with setLeftMargin() and setTextIndent(). -
2171 The \a indentation is an integer that is multiplied with the document-wide -
2172 standard indent, resulting in the actual indent of the paragraph. -
2173 -
2174 \sa indent(), QTextDocument::indentWidth() -
2175*/ -
2176 -
2177 -
2178/*! -
2179 \fn int QTextBlockFormat::indent() const -
2180 -
2181 Returns the paragraph's indent. -
2182 -
2183 \sa setIndent() -
2184*/ -
2185 -
2186 -
2187/*! -
2188 \fn void QTextBlockFormat::setLineHeight(qreal height, int heightType) -
2189 \since 4.8 -
2190 -
2191 Sets the line height for the paragraph to the value given by \a height -
2192 which is dependent on \a heightType in the way described by the -
2193 LineHeightTypes enum. -
2194 -
2195 \sa LineHeightTypes, lineHeight(), lineHeightType() -
2196*/ -
2197 -
2198 -
2199/*! -
2200 \fn qreal QTextBlockFormat::lineHeight(qreal scriptLineHeight, qreal scaling) const -
2201 \since 4.8 -
2202 -
2203 Returns the height of the lines in the paragraph based on the height of the -
2204 script line given by \a scriptLineHeight and the specified \a scaling -
2205 factor. -
2206 -
2207 The value that is returned is also dependent on the given LineHeightType of -
2208 the paragraph as well as the LineHeight setting that has been set for the -
2209 paragraph. -
2210 -
2211 The scaling is needed for heights that include a fixed number of pixels, to -
2212 scale them appropriately for printing. -
2213 -
2214 \sa LineHeightTypes, setLineHeight(), lineHeightType() -
2215*/ -
2216 -
2217 -
2218/*! -
2219 \fn qreal QTextBlockFormat::lineHeight() const -
2220 \since 4.8 -
2221 -
2222 This returns the LineHeight property for the paragraph. -
2223 -
2224 \sa LineHeightTypes, setLineHeight(), lineHeightType() -
2225*/ -
2226 -
2227 -
2228/*! -
2229 \fn qreal QTextBlockFormat::lineHeightType() const -
2230 \since 4.8 -
2231 -
2232 This returns the LineHeightType property of the paragraph. -
2233 -
2234 \sa LineHeightTypes, setLineHeight(), lineHeight() -
2235*/ -
2236 -
2237 -
2238/*! -
2239 \fn void QTextBlockFormat::setNonBreakableLines(bool b) -
2240 -
2241 If \a b is true, the lines in the paragraph are treated as -
2242 non-breakable; otherwise they are breakable. -
2243 -
2244 \sa nonBreakableLines() -
2245*/ -
2246 -
2247 -
2248/*! -
2249 \fn bool QTextBlockFormat::nonBreakableLines() const -
2250 -
2251 Returns true if the lines in the paragraph are non-breakable; -
2252 otherwise returns false. -
2253 -
2254 \sa setNonBreakableLines() -
2255*/ -
2256 -
2257/*! -
2258 \fn QTextFormat::PageBreakFlags QTextBlockFormat::pageBreakPolicy() const -
2259 \since 4.2 -
2260 -
2261 Returns the currently set page break policy for the paragraph. The default is -
2262 QTextFormat::PageBreak_Auto. -
2263 -
2264 \sa setPageBreakPolicy() -
2265*/ -
2266 -
2267/*! -
2268 \fn void QTextBlockFormat::setPageBreakPolicy(PageBreakFlags policy) -
2269 \since 4.2 -
2270 -
2271 Sets the page break policy for the paragraph to \a policy. -
2272 -
2273 \sa pageBreakPolicy() -
2274*/ -
2275 -
2276/*! -
2277 \class QTextListFormat -
2278 \reentrant -
2279 -
2280 \brief The QTextListFormat class provides formatting information for -
2281 lists in a QTextDocument. -
2282 \inmodule QtGui -
2283 -
2284 \ingroup richtext-processing -
2285 \ingroup shared -
2286 -
2287 A list is composed of one or more items, represented as text blocks. -
2288 The list's format specifies the appearance of items in the list. -
2289 In particular, it determines the indentation and the style of each item. -
2290 -
2291 The indentation of the items is an integer value that causes each item to -
2292 be offset from the left margin by a certain amount. This value is read with -
2293 indent() and set with setIndent(). -
2294 -
2295 The style used to decorate each item is set with setStyle() and can be read -
2296 with the style() function. The style controls the type of bullet points and -
2297 numbering scheme used for items in the list. Note that lists that use the -
2298 decimal numbering scheme begin counting at 1 rather than 0. -
2299 -
2300 Style properties can be set to further configure the appearance of list -
2301 items; for example, the ListNumberPrefix and ListNumberSuffix properties -
2302 can be used to customize the numbers used in an ordered list so that they -
2303 appear as (1), (2), (3), etc.: -
2304 -
2305 \snippet textdocument-listitemstyles/mainwindow.cpp add a styled, ordered list -
2306 -
2307 \sa QTextList -
2308*/ -
2309 -
2310/*! -
2311 \enum QTextListFormat::Style -
2312 -
2313 This enum describes the symbols used to decorate list items: -
2314 -
2315 \value ListDisc a filled circle -
2316 \value ListCircle an empty circle -
2317 \value ListSquare a filled square -
2318 \value ListDecimal decimal values in ascending order -
2319 \value ListLowerAlpha lower case Latin characters in alphabetical order -
2320 \value ListUpperAlpha upper case Latin characters in alphabetical order -
2321 \value ListLowerRoman lower case roman numerals (supports up to 4999 items only) -
2322 \value ListUpperRoman upper case roman numerals (supports up to 4999 items only) -
2323 \omitvalue ListStyleUndefined -
2324*/ -
2325 -
2326/*! -
2327 \fn QTextListFormat::QTextListFormat() -
2328 -
2329 Constructs a new list format object. -
2330*/ -
2331QTextListFormat::QTextListFormat() -
2332 : QTextFormat(ListFormat) -
2333{ -
2334 setIndent(1);
executed (the execution status of this line is deduced): setIndent(1);
-
2335}
executed: }
Execution Count:115
115
2336 -
2337/*! -
2338 \internal -
2339 \fn QTextListFormat::QTextListFormat(const QTextFormat &other) -
2340 -
2341 Creates a new list format with the same attributes as the \a given -
2342 text format. -
2343*/ -
2344QTextListFormat::QTextListFormat(const QTextFormat &fmt) -
2345 : QTextFormat(fmt) -
2346{ -
2347}
executed: }
Execution Count:85
85
2348 -
2349/*! -
2350 \fn bool QTextListFormat::isValid() const -
2351 -
2352 Returns true if this list format is valid; otherwise -
2353 returns false. -
2354*/ -
2355 -
2356/*! -
2357 \fn void QTextListFormat::setStyle(Style style) -
2358 -
2359 Sets the list format's \a style. -
2360 -
2361 \sa style(), Style -
2362*/ -
2363 -
2364/*! -
2365 \fn Style QTextListFormat::style() const -
2366 -
2367 Returns the list format's style. -
2368 -
2369 \sa setStyle(), Style -
2370*/ -
2371 -
2372 -
2373/*! -
2374 \fn void QTextListFormat::setIndent(int indentation) -
2375 -
2376 Sets the list format's \a indentation. -
2377 The indentation is multiplied by the QTextDocument::indentWidth -
2378 property to get the effective indent in pixels. -
2379 -
2380 \sa indent() -
2381*/ -
2382 -
2383 -
2384/*! -
2385 \fn int QTextListFormat::indent() const -
2386 -
2387 Returns the list format's indentation. -
2388 The indentation is multiplied by the QTextDocument::indentWidth -
2389 property to get the effective indent in pixels. -
2390 -
2391 \sa setIndent() -
2392*/ -
2393 -
2394/*! -
2395 \fn void QTextListFormat::setNumberPrefix(const QString &numberPrefix) -
2396 \since 4.8 -
2397 -
2398 Sets the list format's number prefix to the string specified by -
2399 \a numberPrefix. This can be used with all sorted list types. It does not -
2400 have any effect on unsorted list types. -
2401 -
2402 The default prefix is an empty string. -
2403 -
2404 \sa numberPrefix() -
2405*/ -
2406 -
2407/*! -
2408 \fn int QTextListFormat::numberPrefix() const -
2409 \since 4.8 -
2410 -
2411 Returns the list format's number prefix. -
2412 -
2413 \sa setNumberPrefix() -
2414*/ -
2415 -
2416/*! -
2417 \fn void QTextListFormat::setNumberSuffix(const QString &numberSuffix) -
2418 \since 4.8 -
2419 -
2420 Sets the list format's number suffix to the string specified by -
2421 \a numberSuffix. This can be used with all sorted list types. It does not -
2422 have any effect on unsorted list types. -
2423 -
2424 The default suffix is ".". -
2425 -
2426 \sa numberSuffix() -
2427*/ -
2428 -
2429/*! -
2430 \fn int QTextListFormat::numberSuffix() const -
2431 \since 4.8 -
2432 -
2433 Returns the list format's number suffix. -
2434 -
2435 \sa setNumberSuffix() -
2436*/ -
2437 -
2438/*! -
2439 \class QTextFrameFormat -
2440 \reentrant -
2441 -
2442 \brief The QTextFrameFormat class provides formatting information for -
2443 frames in a QTextDocument. -
2444 \inmodule QtGui -
2445 -
2446 \ingroup richtext-processing -
2447 \ingroup shared -
2448 -
2449 A text frame groups together one or more blocks of text, providing a layer -
2450 of structure larger than the paragraph. The format of a frame specifies -
2451 how it is rendered and positioned on the screen. It does not directly -
2452 specify the behavior of the text formatting within, but provides -
2453 constraints on the layout of its children. -
2454 -
2455 The frame format defines the width() and height() of the frame on the -
2456 screen. Each frame can have a border() that surrounds its contents with -
2457 a rectangular box. The border is surrounded by a margin() around the frame, -
2458 and the contents of the frame are kept separate from the border by the -
2459 frame's padding(). This scheme is similar to the box model used by Cascading -
2460 Style Sheets for HTML pages. -
2461 -
2462 \image qtextframe-style.png -
2463 -
2464 The position() of a frame is set using setPosition() and determines how it -
2465 is located relative to the surrounding text. -
2466 -
2467 The validity of a QTextFrameFormat object can be determined with the -
2468 isValid() function. -
2469 -
2470 \sa QTextFrame, QTextBlockFormat -
2471*/ -
2472 -
2473/*! -
2474 \enum QTextFrameFormat::Position -
2475 -
2476 This enum describes how a frame is located relative to the surrounding text. -
2477 -
2478 \value InFlow -
2479 \value FloatLeft -
2480 \value FloatRight -
2481 -
2482 \sa position(), CssFloat -
2483*/ -
2484 -
2485/*! -
2486 \enum QTextFrameFormat::BorderStyle -
2487 \since 4.3 -
2488 -
2489 This enum describes different border styles for the text frame. -
2490 -
2491 \value BorderStyle_None -
2492 \value BorderStyle_Dotted -
2493 \value BorderStyle_Dashed -
2494 \value BorderStyle_Solid -
2495 \value BorderStyle_Double -
2496 \value BorderStyle_DotDash -
2497 \value BorderStyle_DotDotDash -
2498 \value BorderStyle_Groove -
2499 \value BorderStyle_Ridge -
2500 \value BorderStyle_Inset -
2501 \value BorderStyle_Outset -
2502 -
2503 \sa borderStyle(), FrameBorderStyle -
2504*/ -
2505 -
2506/*! -
2507 \fn QTextFrameFormat::QTextFrameFormat() -
2508 -
2509 Constructs a text frame format object with the default properties. -
2510*/ -
2511QTextFrameFormat::QTextFrameFormat() : QTextFormat(FrameFormat) -
2512{ -
2513 setBorderStyle(BorderStyle_Outset);
executed (the execution status of this line is deduced): setBorderStyle(BorderStyle_Outset);
-
2514 setBorderBrush(Qt::darkGray);
executed (the execution status of this line is deduced): setBorderBrush(Qt::darkGray);
-
2515}
executed: }
Execution Count:1512
1512
2516 -
2517/*! -
2518 \internal -
2519 \fn QTextFrameFormat::QTextFrameFormat(const QTextFormat &other) -
2520 -
2521 Creates a new frame format with the same attributes as the \a given -
2522 text format. -
2523*/ -
2524QTextFrameFormat::QTextFrameFormat(const QTextFormat &fmt) -
2525 : QTextFormat(fmt) -
2526{ -
2527}
executed: }
Execution Count:2403
2403
2528 -
2529/*! -
2530 \fn QTextFrameFormat::isValid() const -
2531 -
2532 Returns true if the format description is valid; otherwise returns false. -
2533*/ -
2534 -
2535/*! -
2536 \fn QTextFrameFormat::setPosition(Position policy) -
2537 -
2538 Sets the \a policy for positioning frames with this frame format. -
2539 -
2540*/ -
2541 -
2542/*! -
2543 \fn Position QTextFrameFormat::position() const -
2544 -
2545 Returns the positioning policy for frames with this frame format. -
2546*/ -
2547 -
2548/*! -
2549 \fn QTextFrameFormat::setBorder(qreal width) -
2550 -
2551 Sets the \a width (in pixels) of the frame's border. -
2552*/ -
2553 -
2554/*! -
2555 \fn qreal QTextFrameFormat::border() const -
2556 -
2557 Returns the width of the border in pixels. -
2558*/ -
2559 -
2560/*! -
2561 \fn QTextFrameFormat::setBorderBrush(const QBrush &brush) -
2562 \since 4.3 -
2563 -
2564 Sets the \a brush used for the frame's border. -
2565*/ -
2566 -
2567/*! -
2568 \fn QBrush QTextFrameFormat::borderBrush() const -
2569 \since 4.3 -
2570 -
2571 Returns the brush used for the frame's border. -
2572*/ -
2573 -
2574/*! -
2575 \fn QTextFrameFormat::setBorderStyle(BorderStyle style) -
2576 \since 4.3 -
2577 -
2578 Sets the \a style of the frame's border. -
2579*/ -
2580 -
2581/*! -
2582 \fn BorderStyle QTextFrameFormat::borderStyle() const -
2583 \since 4.3 -
2584 -
2585 Returns the style of the frame's border. -
2586*/ -
2587 -
2588/*! -
2589 \fn QTextFrameFormat::setMargin(qreal margin) -
2590 -
2591 Sets the frame's \a margin in pixels. -
2592 This method also sets the left, right, top and bottom margins -
2593 of the frame to the same value. The individual margins override -
2594 the general margin. -
2595*/ -
2596void QTextFrameFormat::setMargin(qreal amargin) -
2597{ -
2598 setProperty(FrameMargin, amargin);
executed (the execution status of this line is deduced): setProperty(FrameMargin, amargin);
-
2599 setProperty(FrameTopMargin, amargin);
executed (the execution status of this line is deduced): setProperty(FrameTopMargin, amargin);
-
2600 setProperty(FrameBottomMargin, amargin);
executed (the execution status of this line is deduced): setProperty(FrameBottomMargin, amargin);
-
2601 setProperty(FrameLeftMargin, amargin);
executed (the execution status of this line is deduced): setProperty(FrameLeftMargin, amargin);
-
2602 setProperty(FrameRightMargin, amargin);
executed (the execution status of this line is deduced): setProperty(FrameRightMargin, amargin);
-
2603}
executed: }
Execution Count:1280
1280
2604 -
2605 -
2606/*! -
2607 \fn qreal QTextFrameFormat::margin() const -
2608 -
2609 Returns the width of the frame's external margin in pixels. -
2610*/ -
2611 -
2612/*! -
2613 \fn QTextFrameFormat::setTopMargin(qreal margin) -
2614 \since 4.3 -
2615 -
2616 Sets the frame's top \a margin in pixels. -
2617*/ -
2618 -
2619/*! -
2620 \fn qreal QTextFrameFormat::topMargin() const -
2621 \since 4.3 -
2622 -
2623 Returns the width of the frame's top margin in pixels. -
2624*/ -
2625qreal QTextFrameFormat::topMargin() const -
2626{ -
2627 if (!hasProperty(FrameTopMargin))
evaluated: !hasProperty(FrameTopMargin)
TRUEFALSE
yes
Evaluation Count:10
yes
Evaluation Count:868
10-868
2628 return margin();
executed: return margin();
Execution Count:10
10
2629 return doubleProperty(FrameTopMargin);
executed: return doubleProperty(FrameTopMargin);
Execution Count:868
868
2630} -
2631 -
2632/*! -
2633 \fn QTextFrameFormat::setBottomMargin(qreal margin) -
2634 \since 4.3 -
2635 -
2636 Sets the frame's bottom \a margin in pixels. -
2637*/ -
2638 -
2639/*! -
2640 \fn qreal QTextFrameFormat::bottomMargin() const -
2641 \since 4.3 -
2642 -
2643 Returns the width of the frame's bottom margin in pixels. -
2644*/ -
2645qreal QTextFrameFormat::bottomMargin() const -
2646{ -
2647 if (!hasProperty(FrameBottomMargin))
evaluated: !hasProperty(FrameBottomMargin)
TRUEFALSE
yes
Evaluation Count:9
yes
Evaluation Count:867
9-867
2648 return margin();
executed: return margin();
Execution Count:9
9
2649 return doubleProperty(FrameBottomMargin);
executed: return doubleProperty(FrameBottomMargin);
Execution Count:867
867
2650} -
2651 -
2652/*! -
2653 \fn QTextFrameFormat::setLeftMargin(qreal margin) -
2654 \since 4.3 -
2655 -
2656 Sets the frame's left \a margin in pixels. -
2657*/ -
2658 -
2659/*! -
2660 \fn qreal QTextFrameFormat::leftMargin() const -
2661 \since 4.3 -
2662 -
2663 Returns the width of the frame's left margin in pixels. -
2664*/ -
2665qreal QTextFrameFormat::leftMargin() const -
2666{ -
2667 if (!hasProperty(FrameLeftMargin))
evaluated: !hasProperty(FrameLeftMargin)
TRUEFALSE
yes
Evaluation Count:9
yes
Evaluation Count:1085
9-1085
2668 return margin();
executed: return margin();
Execution Count:9
9
2669 return doubleProperty(FrameLeftMargin);
executed: return doubleProperty(FrameLeftMargin);
Execution Count:1085
1085
2670} -
2671 -
2672/*! -
2673 \fn QTextFrameFormat::setRightMargin(qreal margin) -
2674 \since 4.3 -
2675 -
2676 Sets the frame's right \a margin in pixels. -
2677*/ -
2678 -
2679/*! -
2680 \fn qreal QTextFrameFormat::rightMargin() const -
2681 \since 4.3 -
2682 -
2683 Returns the width of the frame's right margin in pixels. -
2684*/ -
2685qreal QTextFrameFormat::rightMargin() const -
2686{ -
2687 if (!hasProperty(FrameRightMargin))
evaluated: !hasProperty(FrameRightMargin)
TRUEFALSE
yes
Evaluation Count:10
yes
Evaluation Count:869
10-869
2688 return margin();
executed: return margin();
Execution Count:10
10
2689 return doubleProperty(FrameRightMargin);
executed: return doubleProperty(FrameRightMargin);
Execution Count:869
869
2690} -
2691 -
2692/*! -
2693 \fn QTextFrameFormat::setPadding(qreal width) -
2694 -
2695 Sets the \a width of the frame's internal padding in pixels. -
2696*/ -
2697 -
2698/*! -
2699 \fn qreal QTextFrameFormat::padding() const -
2700 -
2701 Returns the width of the frame's internal padding in pixels. -
2702*/ -
2703 -
2704/*! -
2705 \fn QTextFrameFormat::setWidth(const QTextLength &width) -
2706 -
2707 Sets the frame's border rectangle's \a width. -
2708 -
2709 \sa QTextLength -
2710*/ -
2711 -
2712/*! -
2713 \fn QTextFrameFormat::setWidth(qreal width) -
2714 \overload -
2715 -
2716 Convenience method that sets the width of the frame's border -
2717 rectangle's width to the specified fixed \a width. -
2718*/ -
2719 -
2720/*! -
2721 \fn QTextFormat::PageBreakFlags QTextFrameFormat::pageBreakPolicy() const -
2722 \since 4.2 -
2723 -
2724 Returns the currently set page break policy for the frame/table. The default is -
2725 QTextFormat::PageBreak_Auto. -
2726 -
2727 \sa setPageBreakPolicy() -
2728*/ -
2729 -
2730/*! -
2731 \fn void QTextFrameFormat::setPageBreakPolicy(PageBreakFlags policy) -
2732 \since 4.2 -
2733 -
2734 Sets the page break policy for the frame/table to \a policy. -
2735 -
2736 \sa pageBreakPolicy() -
2737*/ -
2738 -
2739/*! -
2740 \fn QTextLength QTextFrameFormat::width() const -
2741 -
2742 Returns the width of the frame's border rectangle. -
2743 -
2744 \sa QTextLength -
2745*/ -
2746 -
2747/*! -
2748 \fn void QTextFrameFormat::setHeight(const QTextLength &height) -
2749 -
2750 Sets the frame's \a height. -
2751*/ -
2752 -
2753/*! -
2754 \fn void QTextFrameFormat::setHeight(qreal height) -
2755 \overload -
2756 -
2757 Sets the frame's \a height. -
2758*/ -
2759 -
2760/*! -
2761 \fn qreal QTextFrameFormat::height() const -
2762 -
2763 Returns the height of the frame's border rectangle. -
2764*/ -
2765 -
2766/*! -
2767 \class QTextTableFormat -
2768 \reentrant -
2769 -
2770 \brief The QTextTableFormat class provides formatting information for -
2771 tables in a QTextDocument. -
2772 \inmodule QtGui -
2773 -
2774 \ingroup richtext-processing -
2775 \ingroup shared -
2776 -
2777 A table is a group of cells ordered into rows and columns. Each table -
2778 contains at least one row and one column. Each cell contains a block. -
2779 Tables in rich text documents are formatted using the properties -
2780 defined in this class. -
2781 -
2782 Tables are horizontally justified within their parent frame according to the -
2783 table's alignment. This can be read with the alignment() function and set -
2784 with setAlignment(). -
2785 -
2786 Cells within the table are separated by cell spacing. The number of pixels -
2787 between cells is set with setCellSpacing() and read with cellSpacing(). -
2788 The contents of each cell is surrounded by cell padding. The number of pixels -
2789 between each cell edge and its contents is set with setCellPadding() and read -
2790 with cellPadding(). -
2791 -
2792 \image qtexttableformat-cell.png -
2793 -
2794 The table's background color can be read with the background() function, -
2795 and can be specified with setBackground(). The background color of each -
2796 cell can be set independently, and will control the color of the cell within -
2797 the padded area. -
2798 -
2799 The table format also provides a way to constrain the widths of the columns -
2800 in the table. Columns can be assigned a fixed width, a variable width, or -
2801 a percentage of the available width (see QTextLength). The columns() function -
2802 returns the number of columns with constraints, and the -
2803 columnWidthConstraints() function returns the constraints defined for the -
2804 table. These quantities can also be set by calling setColumnWidthConstraints() -
2805 with a vector containing new constraints. If no constraints are -
2806 required, clearColumnWidthConstraints() can be used to remove them. -
2807 -
2808 \sa QTextTable, QTextTableCell, QTextLength -
2809*/ -
2810 -
2811/*! -
2812 \fn QTextTableFormat::QTextTableFormat() -
2813 -
2814 Constructs a new table format object. -
2815*/ -
2816QTextTableFormat::QTextTableFormat() -
2817 : QTextFrameFormat() -
2818{ -
2819 setObjectType(TableObject);
executed (the execution status of this line is deduced): setObjectType(TableObject);
-
2820 setCellSpacing(2);
executed (the execution status of this line is deduced): setCellSpacing(2);
-
2821 setBorder(1);
executed (the execution status of this line is deduced): setBorder(1);
-
2822}
executed: }
Execution Count:148
148
2823 -
2824/*! -
2825 \internal -
2826 \fn QTextTableFormat::QTextTableFormat(const QTextFormat &other) -
2827 -
2828 Creates a new table format with the same attributes as the \a given -
2829 text format. -
2830*/ -
2831QTextTableFormat::QTextTableFormat(const QTextFormat &fmt) -
2832 : QTextFrameFormat(fmt) -
2833{ -
2834}
executed: }
Execution Count:411
411
2835 -
2836/*! -
2837 \fn bool QTextTableFormat::isValid() const -
2838 -
2839 Returns true if this table format is valid; otherwise -
2840 returns false. -
2841*/ -
2842 -
2843 -
2844/*! -
2845 \fn int QTextTableFormat::columns() const -
2846 -
2847 Returns the number of columns specified by the table format. -
2848*/ -
2849 -
2850 -
2851/*! -
2852 \internal -
2853 \fn void QTextTableFormat::setColumns(int columns) -
2854 -
2855 Sets the number of \a columns required by the table format. -
2856 -
2857 \sa columns() -
2858*/ -
2859 -
2860/*! -
2861 \fn void QTextTableFormat::clearColumnWidthConstraints() -
2862 -
2863 Clears the column width constraints for the table. -
2864 -
2865 \sa columnWidthConstraints(), setColumnWidthConstraints() -
2866*/ -
2867 -
2868/*! -
2869 \fn void QTextTableFormat::setColumnWidthConstraints(const QVector<QTextLength> &constraints) -
2870 -
2871 Sets the column width \a constraints for the table. -
2872 -
2873 \sa columnWidthConstraints(), clearColumnWidthConstraints() -
2874*/ -
2875 -
2876/*! -
2877 \fn QVector<QTextLength> QTextTableFormat::columnWidthConstraints() const -
2878 -
2879 Returns a list of constraints used by this table format to control the -
2880 appearance of columns in a table. -
2881 -
2882 \sa setColumnWidthConstraints() -
2883*/ -
2884 -
2885/*! -
2886 \fn qreal QTextTableFormat::cellSpacing() const -
2887 -
2888 Returns the table's cell spacing. This describes the distance between -
2889 adjacent cells. -
2890*/ -
2891 -
2892/*! -
2893 \fn void QTextTableFormat::setCellSpacing(qreal spacing) -
2894 -
2895 Sets the cell \a spacing for the table. This determines the distance -
2896 between adjacent cells. -
2897*/ -
2898 -
2899/*! -
2900 \fn qreal QTextTableFormat::cellPadding() const -
2901 -
2902 Returns the table's cell padding. This describes the distance between -
2903 the border of a cell and its contents. -
2904*/ -
2905 -
2906/*! -
2907 \fn void QTextTableFormat::setCellPadding(qreal padding) -
2908 -
2909 Sets the cell \a padding for the table. This determines the distance -
2910 between the border of a cell and its contents. -
2911*/ -
2912 -
2913/*! -
2914 \fn void QTextTableFormat::setAlignment(Qt::Alignment alignment) -
2915 -
2916 Sets the table's \a alignment. -
2917 -
2918 \sa alignment() -
2919*/ -
2920 -
2921/*! -
2922 \fn Qt::Alignment QTextTableFormat::alignment() const -
2923 -
2924 Returns the table's alignment. -
2925 -
2926 \sa setAlignment() -
2927*/ -
2928 -
2929/*! -
2930 \fn void QTextTableFormat::setHeaderRowCount(int count) -
2931 \since 4.2 -
2932 -
2933 Declares the first \a count rows of the table as table header. -
2934 The table header rows get repeated when a table is broken -
2935 across a page boundary. -
2936*/ -
2937 -
2938/*! -
2939 \fn int QTextTableFormat::headerRowCount() const -
2940 \since 4.2 -
2941 -
2942 Returns the number of rows in the table that define the header. -
2943 -
2944 \sa setHeaderRowCount() -
2945*/ -
2946 -
2947/*! -
2948 \fn void QTextFormat::setBackground(const QBrush &brush) -
2949 -
2950 Sets the brush use to paint the document's background to the -
2951 \a brush specified. -
2952 -
2953 \sa background(), clearBackground(), setForeground() -
2954*/ -
2955 -
2956/*! -
2957 \fn QColor QTextFormat::background() const -
2958 -
2959 Returns the brush used to paint the document's background. -
2960 -
2961 \sa setBackground(), clearBackground(), foreground() -
2962*/ -
2963 -
2964/*! -
2965 \fn void QTextFormat::clearBackground() -
2966 -
2967 Clears the brush used to paint the document's background. The default -
2968 brush will be used. -
2969 -
2970 \sa background(), setBackground(), clearForeground() -
2971*/ -
2972 -
2973 -
2974/*! -
2975 \class QTextImageFormat -
2976 \reentrant -
2977 -
2978 \brief The QTextImageFormat class provides formatting information for -
2979 images in a QTextDocument. -
2980 \inmodule QtGui -
2981 -
2982 \ingroup richtext-processing -
2983 \ingroup shared -
2984 -
2985 Inline images are represented by an object replacement character -
2986 (0xFFFC in Unicode) which has an associated QTextImageFormat. The -
2987 image format specifies a name with setName() that is used to -
2988 locate the image. The size of the rectangle that the image will -
2989 occupy is specified using setWidth() and setHeight(). -
2990 -
2991 Images can be supplied in any format for which Qt has an image -
2992 reader, so SVG drawings can be included alongside PNG, TIFF and -
2993 other bitmap formats. -
2994 -
2995 \sa QImage, QImageReader -
2996*/ -
2997 -
2998/*! -
2999 \fn QTextImageFormat::QTextImageFormat() -
3000 -
3001 Creates a new image format object. -
3002*/ -
3003QTextImageFormat::QTextImageFormat() : QTextCharFormat() { setObjectType(ImageObject); }
executed: }
Execution Count:30
30
3004 -
3005/*! -
3006 \internal -
3007 \fn QTextImageFormat::QTextImageFormat(const QTextFormat &other) -
3008 -
3009 Creates a new image format with the same attributes as the \a given -
3010 text format. -
3011*/ -
3012QTextImageFormat::QTextImageFormat(const QTextFormat &fmt) -
3013 : QTextCharFormat(fmt) -
3014{ -
3015}
executed: }
Execution Count:26
26
3016 -
3017/*! -
3018 \fn bool QTextImageFormat::isValid() const -
3019 -
3020 Returns true if this image format is valid; otherwise returns false. -
3021*/ -
3022 -
3023 -
3024/*! -
3025 \fn void QTextImageFormat::setName(const QString &name) -
3026 -
3027 Sets the \a name of the image. The \a name is used to locate the image -
3028 in the application's resources. -
3029 -
3030 \sa name() -
3031*/ -
3032 -
3033 -
3034/*! -
3035 \fn QString QTextImageFormat::name() const -
3036 -
3037 Returns the name of the image. The name refers to an entry in the -
3038 application's resources file. -
3039 -
3040 \sa setName() -
3041*/ -
3042 -
3043/*! -
3044 \fn void QTextImageFormat::setWidth(qreal width) -
3045 -
3046 Sets the \a width of the rectangle occupied by the image. -
3047 -
3048 \sa width(), setHeight() -
3049*/ -
3050 -
3051 -
3052/*! -
3053 \fn qreal QTextImageFormat::width() const -
3054 -
3055 Returns the width of the rectangle occupied by the image. -
3056 -
3057 \sa height(), setWidth() -
3058*/ -
3059 -
3060 -
3061/*! -
3062 \fn void QTextImageFormat::setHeight(qreal height) -
3063 -
3064 Sets the \a height of the rectangle occupied by the image. -
3065 -
3066 \sa height(), setWidth() -
3067*/ -
3068 -
3069 -
3070/*! -
3071 \fn qreal QTextImageFormat::height() const -
3072 -
3073 Returns the height of the rectangle occupied by the image. -
3074 -
3075 \sa width(), setHeight() -
3076*/ -
3077 -
3078/*! -
3079 \fn void QTextCharFormat::setFontCapitalization(QFont::Capitalization capitalization) -
3080 \since 4.4 -
3081 -
3082 Sets the capitalization of the text that apppears in this font to \a capitalization. -
3083 -
3084 A font's capitalization makes the text appear in the selected capitalization mode. -
3085 -
3086 \sa fontCapitalization() -
3087*/ -
3088 -
3089/*! -
3090 \fn Capitalization QTextCharFormat::fontCapitalization() const -
3091 \since 4.4 -
3092 -
3093 Returns the current capitalization type of the font. -
3094*/ -
3095 -
3096/*! -
3097 \fn void QTextCharFormat::setFontLetterSpacingType(QFont::SpacingType letterSpacingType) -
3098 \since 5.0 -
3099 -
3100 Sets the letter spacing type of this format to \a letterSpacingType. -
3101 -
3102 \sa fontLetterSpacingType() -
3103 \sa setFontLetterSpacing() -
3104 \sa fontLetterSpacing() -
3105*/ -
3106 -
3107/*! -
3108 \fn QFont::SpacingType QTextCharFormat::fontLetterSpacingType() const -
3109 \since 5.0 -
3110 -
3111 Returns the letter spacing type of this format.. -
3112 -
3113 \sa setFontLetterSpacingType() -
3114 \sa setFontLetterSpacing() -
3115 \sa fontLetterSpacing() -
3116*/ -
3117 -
3118/*! -
3119 \fn void QTextCharFormat::setFontLetterSpacing(qreal spacing) -
3120 \since 4.4 -
3121 -
3122 Sets the letter spacing of this format to the given \a spacing. The meaning of the value -
3123 depends on the font letter spacing type. -
3124 -
3125 For percentage spacing a value of 100 indicates default spacing; a value of 200 doubles the -
3126 amount of space a letter takes. -
3127 -
3128 \sa fontLetterSpacing() -
3129 \sa setFontLetterSpacingType() -
3130 \sa fontLetterSpacingType() -
3131*/ -
3132 -
3133/*! -
3134 \fn qreal QTextCharFormat::fontLetterSpacing() const -
3135 \since 4.4 -
3136 -
3137 Returns the current letter spacing. -
3138 -
3139 \sa setFontLetterSpacing() -
3140 \sa setFontLetterSpacingType() -
3141 \sa fontLetterSpacingType() -
3142*/ -
3143 -
3144/*! -
3145 \fn void QTextCharFormat::setFontWordSpacing(qreal spacing) -
3146 \since 4.4 -
3147 -
3148 Sets the word spacing of this format to the given \a spacing, in pixels. -
3149 -
3150 \sa fontWordSpacing() -
3151*/ -
3152 -
3153/*! -
3154 \fn qreal QTextCharFormat::fontWordSpacing() const -
3155 \since 4.4 -
3156 -
3157 Returns the current word spacing value. -
3158*/ -
3159 -
3160/*! -
3161 \fn void QTextCharFormat::setFontStretch(int factor) -
3162 \since 5.0 -
3163 -
3164 Sets the stretch factor for the font to \a factor. -
3165 -
3166 The stretch factor changes the width of all characters in the font by factor percent. For example, setting \a factor to 150 results in all characters in the font being 1.5 times (ie. 150%) wider. The default stretch factor is 100. The minimum stretch factor is 1, and the maximum stretch factor is 4000. -
3167 -
3168 The stretch factor is only applied to outline fonts. The stretch factor is ignored for bitmap fonts. -
3169 -
3170 \sa fontStretch() -
3171*/ -
3172 -
3173/*! -
3174 \fn int QTextCharFormat::fontStretch() const -
3175 \since 5.0 -
3176 -
3177 Returns the current font stretching. -
3178 \sa setFontStretch() -
3179*/ -
3180 -
3181/*! -
3182 \fn qreal QTextTableCellFormat::topPadding() const -
3183 \since 4.4 -
3184 -
3185 Gets the top padding of the table cell. -
3186 -
3187 \sa setTopPadding(), leftPadding(), rightPadding(), bottomPadding() -
3188*/ -
3189 -
3190/*! -
3191 \fn qreal QTextTableCellFormat::bottomPadding() const -
3192 \since 4.4 -
3193 -
3194 Gets the bottom padding of the table cell. -
3195 -
3196 \sa setBottomPadding(), leftPadding(), rightPadding(), topPadding() -
3197*/ -
3198 -
3199/*! -
3200 \fn qreal QTextTableCellFormat::leftPadding() const -
3201 \since 4.4 -
3202 -
3203 Gets the left padding of the table cell. -
3204 -
3205 \sa setLeftPadding(), rightPadding(), topPadding(), bottomPadding() -
3206*/ -
3207 -
3208/*! -
3209 \fn qreal QTextTableCellFormat::rightPadding() const -
3210 \since 4.4 -
3211 -
3212 Gets the right padding of the table cell. -
3213 -
3214 \sa setRightPadding(), leftPadding(), topPadding(), bottomPadding() -
3215*/ -
3216 -
3217/*! -
3218 \fn void QTextTableCellFormat::setTopPadding(qreal padding) -
3219 \since 4.4 -
3220 -
3221 Sets the top \a padding of the table cell. -
3222 -
3223 \sa topPadding(), setLeftPadding(), setRightPadding(), setBottomPadding() -
3224*/ -
3225 -
3226/*! -
3227 \fn void QTextTableCellFormat::setBottomPadding(qreal padding) -
3228 \since 4.4 -
3229 -
3230 Sets the bottom \a padding of the table cell. -
3231 -
3232 \sa bottomPadding(), setLeftPadding(), setRightPadding(), setTopPadding() -
3233*/ -
3234 -
3235/*! -
3236 \fn void QTextTableCellFormat::setLeftPadding(qreal padding) -
3237 \since 4.4 -
3238 -
3239 Sets the left \a padding of the table cell. -
3240 -
3241 \sa leftPadding(), setRightPadding(), setTopPadding(), setBottomPadding() -
3242*/ -
3243 -
3244/*! -
3245 \fn void QTextTableCellFormat::setRightPadding(qreal padding) -
3246 \since 4.4 -
3247 -
3248 Sets the right \a padding of the table cell. -
3249 -
3250 \sa rightPadding(), setLeftPadding(), setTopPadding(), setBottomPadding() -
3251*/ -
3252 -
3253/*! -
3254 \fn void QTextTableCellFormat::setPadding(qreal padding) -
3255 \since 4.4 -
3256 -
3257 Sets the left, right, top, and bottom \a padding of the table cell. -
3258 -
3259 \sa setLeftPadding(), setRightPadding(), setTopPadding(), setBottomPadding() -
3260*/ -
3261 -
3262/*! -
3263 \fn bool QTextTableCellFormat::isValid() const -
3264 \since 4.4 -
3265 -
3266 Returns true if this table cell format is valid; otherwise returns false. -
3267*/ -
3268 -
3269/*! -
3270 \fn QTextTableCellFormat::QTextTableCellFormat() -
3271 \since 4.4 -
3272 -
3273 Constructs a new table cell format object. -
3274*/ -
3275QTextTableCellFormat::QTextTableCellFormat() -
3276 : QTextCharFormat() -
3277{ -
3278 setObjectType(TableCellObject);
never executed (the execution status of this line is deduced): setObjectType(TableCellObject);
-
3279}
never executed: }
0
3280 -
3281/*! -
3282 \internal -
3283 \fn QTextTableCellFormat::QTextTableCellFormat(const QTextFormat &other) -
3284 -
3285 Creates a new table cell format with the same attributes as the \a given -
3286 text format. -
3287*/ -
3288QTextTableCellFormat::QTextTableCellFormat(const QTextFormat &fmt) -
3289 : QTextCharFormat(fmt) -
3290{ -
3291}
executed: }
Execution Count:217
217
3292 -
3293/*! -
3294 \class QTextTableCellFormat -
3295 \reentrant -
3296 \since 4.4 -
3297 -
3298 \brief The QTextTableCellFormat class provides formatting information for -
3299 table cells in a QTextDocument. -
3300 \inmodule QtGui -
3301 -
3302 \ingroup richtext-processing -
3303 \ingroup shared -
3304 -
3305 The table cell format of a table cell in a document specifies the visual -
3306 properties of the table cell. -
3307 -
3308 The padding properties of a table cell are controlled by setLeftPadding(), -
3309 setRightPadding(), setTopPadding(), and setBottomPadding(). All the paddings -
3310 can be set at once using setPadding(). -
3311 -
3312 \sa QTextFormat, QTextBlockFormat, QTextTableFormat, QTextCharFormat -
3313*/ -
3314 -
3315// ------------------------------------------------------ -
3316 -
3317 -
3318QTextFormatCollection::QTextFormatCollection(const QTextFormatCollection &rhs) -
3319{ -
3320 formats = rhs.formats;
never executed (the execution status of this line is deduced): formats = rhs.formats;
-
3321 objFormats = rhs.objFormats;
never executed (the execution status of this line is deduced): objFormats = rhs.objFormats;
-
3322}
never executed: }
0
3323 -
3324QTextFormatCollection &QTextFormatCollection::operator=(const QTextFormatCollection &rhs) -
3325{ -
3326 formats = rhs.formats;
executed (the execution status of this line is deduced): formats = rhs.formats;
-
3327 objFormats = rhs.objFormats;
executed (the execution status of this line is deduced): objFormats = rhs.objFormats;
-
3328 return *this;
executed: return *this;
Execution Count:751
751
3329} -
3330 -
3331QTextFormatCollection::~QTextFormatCollection() -
3332{ -
3333} -
3334 -
3335int QTextFormatCollection::indexForFormat(const QTextFormat &format) -
3336{ -
3337 uint hash = getHash(format.d, format.format_type);
executed (the execution status of this line is deduced): uint hash = getHash(format.d, format.format_type);
-
3338 QMultiHash<uint, int>::const_iterator i = hashes.constFind(hash);
executed (the execution status of this line is deduced): QMultiHash<uint, int>::const_iterator i = hashes.constFind(hash);
-
3339 while (i != hashes.constEnd() && i.key() == hash) {
evaluated: i != hashes.constEnd()
TRUEFALSE
yes
Evaluation Count:37131
yes
Evaluation Count:7978
evaluated: i.key() == hash
TRUEFALSE
yes
Evaluation Count:35928
yes
Evaluation Count:1203
1203-37131
3340 if (formats.value(i.value()) == format) {
evaluated: formats.value(i.value()) == format
TRUEFALSE
yes
Evaluation Count:33965
yes
Evaluation Count:1963
1963-33965
3341 return i.value();
executed: return i.value();
Execution Count:33965
33965
3342 } -
3343 ++i;
executed (the execution status of this line is deduced): ++i;
-
3344 }
executed: }
Execution Count:1963
1963
3345 -
3346 int idx = formats.size();
executed (the execution status of this line is deduced): int idx = formats.size();
-
3347 formats.append(format);
executed (the execution status of this line is deduced): formats.append(format);
-
3348 -
3349 QT_TRY{
partially evaluated: true
TRUEFALSE
yes
Evaluation Count:9181
no
Evaluation Count:0
0-9181
3350 QTextFormat &f = formats.last();
executed (the execution status of this line is deduced): QTextFormat &f = formats.last();
-
3351 if (!f.d)
evaluated: !f.d
TRUEFALSE
yes
Evaluation Count:4682
yes
Evaluation Count:4499
4499-4682
3352 f.d = new QTextFormatPrivate;
executed: f.d = new QTextFormatPrivate;
Execution Count:4682
4682
3353 f.d->resolveFont(defaultFnt);
executed (the execution status of this line is deduced): f.d->resolveFont(defaultFnt);
-
3354 -
3355 if (!hashes.contains(hash, idx))
evaluated: !hashes.contains(hash, idx)
TRUEFALSE
yes
Evaluation Count:7378
yes
Evaluation Count:1803
1803-7378
3356 hashes.insert(hash, idx);
executed: hashes.insert(hash, idx);
Execution Count:7378
7378
3357 -
3358 } QT_CATCH(...) {
executed: }
Execution Count:9181
9181
3359 formats.pop_back();
never executed (the execution status of this line is deduced): formats.pop_back();
-
3360 QT_RETHROW;
never executed (the execution status of this line is deduced): qt_noop();
-
3361 }
never executed: }
0
3362 return idx;
executed: return idx;
Execution Count:9181
9181
3363} -
3364 -
3365bool QTextFormatCollection::hasFormatCached(const QTextFormat &format) const -
3366{ -
3367 uint hash = getHash(format.d, format.format_type);
never executed (the execution status of this line is deduced): uint hash = getHash(format.d, format.format_type);
-
3368 QMultiHash<uint, int>::const_iterator i = hashes.constFind(hash);
never executed (the execution status of this line is deduced): QMultiHash<uint, int>::const_iterator i = hashes.constFind(hash);
-
3369 while (i != hashes.constEnd() && i.key() == hash) {
never evaluated: i != hashes.constEnd()
never evaluated: i.key() == hash
0
3370 if (formats.value(i.value()) == format) {
never evaluated: formats.value(i.value()) == format
0
3371 return true;
never executed: return true;
0
3372 } -
3373 ++i;
never executed (the execution status of this line is deduced): ++i;
-
3374 }
never executed: }
0
3375 return false;
never executed: return false;
0
3376} -
3377 -
3378QTextFormat QTextFormatCollection::objectFormat(int objectIndex) const -
3379{ -
3380 if (objectIndex == -1)
evaluated: objectIndex == -1
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:2692
1-2692
3381 return QTextFormat();
executed: return QTextFormat();
Execution Count:1
1
3382 return format(objFormats.at(objectIndex));
executed: return format(objFormats.at(objectIndex));
Execution Count:2692
2692
3383} -
3384 -
3385void QTextFormatCollection::setObjectFormat(int objectIndex, const QTextFormat &f) -
3386{ -
3387 const int formatIndex = indexForFormat(f);
never executed (the execution status of this line is deduced): const int formatIndex = indexForFormat(f);
-
3388 objFormats[objectIndex] = formatIndex;
never executed (the execution status of this line is deduced): objFormats[objectIndex] = formatIndex;
-
3389}
never executed: }
0
3390 -
3391int QTextFormatCollection::objectFormatIndex(int objectIndex) const -
3392{ -
3393 if (objectIndex == -1)
evaluated: objectIndex == -1
TRUEFALSE
yes
Evaluation Count:1
yes
Evaluation Count:91
1-91
3394 return -1;
executed: return -1;
Execution Count:1
1
3395 return objFormats.at(objectIndex);
executed: return objFormats.at(objectIndex);
Execution Count:91
91
3396} -
3397 -
3398void QTextFormatCollection::setObjectFormatIndex(int objectIndex, int formatIndex) -
3399{ -
3400 objFormats[objectIndex] = formatIndex;
executed (the execution status of this line is deduced): objFormats[objectIndex] = formatIndex;
-
3401}
executed: }
Execution Count:90
90
3402 -
3403int QTextFormatCollection::createObjectIndex(const QTextFormat &f) -
3404{ -
3405 const int objectIndex = objFormats.size();
executed (the execution status of this line is deduced): const int objectIndex = objFormats.size();
-
3406 objFormats.append(indexForFormat(f));
executed (the execution status of this line is deduced): objFormats.append(indexForFormat(f));
-
3407 return objectIndex;
executed: return objectIndex;
Execution Count:1527
1527
3408} -
3409 -
3410QTextFormat QTextFormatCollection::format(int idx) const -
3411{ -
3412 if (idx < 0 || idx >= formats.count())
partially evaluated: idx < 0
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:125362
partially evaluated: idx >= formats.count()
TRUEFALSE
no
Evaluation Count:0
yes
Evaluation Count:125362
0-125362
3413 return QTextFormat();
never executed: return QTextFormat();
0
3414 -
3415 return formats.at(idx);
executed: return formats.at(idx);
Execution Count:125362
125362
3416} -
3417 -
3418void QTextFormatCollection::setDefaultFont(const QFont &f) -
3419{ -
3420 defaultFnt = f;
executed (the execution status of this line is deduced): defaultFnt = f;
-
3421 for (int i = 0; i < formats.count(); ++i)
evaluated: i < formats.count()
TRUEFALSE
yes
Evaluation Count:431
yes
Evaluation Count:162
162-431
3422 if (formats[i].d)
partially evaluated: formats[i].d
TRUEFALSE
yes
Evaluation Count:431
no
Evaluation Count:0
0-431
3423 formats[i].d->resolveFont(defaultFnt);
executed: formats[i].d->resolveFont(defaultFnt);
Execution Count:431
431
3424}
executed: }
Execution Count:162
162
3425 -
3426#ifndef QT_NO_DEBUG_STREAM -
3427QDebug operator<<(QDebug dbg, const QTextLength &l) -
3428{ -
3429 dbg.nospace() << "QTextLength(QTextLength::Type(" << l.type() << "))";
executed (the execution status of this line is deduced): dbg.nospace() << "QTextLength(QTextLength::Type(" << l.type() << "))";
-
3430 return dbg.space();
executed: return dbg.space();
Execution Count:1
1
3431} -
3432 -
3433QDebug operator<<(QDebug dbg, const QTextFormat &f) -
3434{ -
3435 dbg.nospace() << "QTextFormat(QTextFormat::FormatType(" << f.type() << "))";
executed (the execution status of this line is deduced): dbg.nospace() << "QTextFormat(QTextFormat::FormatType(" << f.type() << "))";
-
3436 return dbg.space();
executed: return dbg.space();
Execution Count:1
1
3437} -
3438 -
3439#endif -
3440 -
3441QT_END_NAMESPACE -
3442 -
Source codeSwitch to Preprocessed file

Generated by Squish Coco Non-Commercial