Absolute File Name: | /home/qt/qt5_coco/qt5/qtbase/src/gui/text/qtextobject.cpp |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | - | |||||||||||||
4 | - | |||||||||||||
5 | - | |||||||||||||
6 | - | |||||||||||||
7 | - | |||||||||||||
8 | QTextObject::QTextObject(QTextDocument *doc) | - | ||||||||||||
9 | : QObject(*new QTextObjectPrivate(doc), doc) | - | ||||||||||||
10 | { | - | ||||||||||||
11 | } never executed: end of block | 0 | ||||||||||||
12 | - | |||||||||||||
13 | - | |||||||||||||
14 | - | |||||||||||||
15 | - | |||||||||||||
16 | - | |||||||||||||
17 | - | |||||||||||||
18 | QTextObject::QTextObject(QTextObjectPrivate &p, QTextDocument *doc) | - | ||||||||||||
19 | : QObject(p, doc) | - | ||||||||||||
20 | { | - | ||||||||||||
21 | } never executed: end of block | 0 | ||||||||||||
22 | - | |||||||||||||
23 | - | |||||||||||||
24 | - | |||||||||||||
25 | - | |||||||||||||
26 | - | |||||||||||||
27 | - | |||||||||||||
28 | - | |||||||||||||
29 | QTextObject::~QTextObject() | - | ||||||||||||
30 | { | - | ||||||||||||
31 | } | - | ||||||||||||
32 | - | |||||||||||||
33 | - | |||||||||||||
34 | - | |||||||||||||
35 | - | |||||||||||||
36 | - | |||||||||||||
37 | - | |||||||||||||
38 | QTextFormat QTextObject::format() const | - | ||||||||||||
39 | { | - | ||||||||||||
40 | const QTextObjectPrivate * const d = d_func(); | - | ||||||||||||
41 | return never executed: d->pieceTable->formatCollection()->objectFormat(d->objectIndex);return d->pieceTable->formatCollection()->objectFormat(d->objectIndex); never executed: return d->pieceTable->formatCollection()->objectFormat(d->objectIndex); | 0 | ||||||||||||
42 | } | - | ||||||||||||
43 | - | |||||||||||||
44 | - | |||||||||||||
45 | - | |||||||||||||
46 | - | |||||||||||||
47 | - | |||||||||||||
48 | - | |||||||||||||
49 | - | |||||||||||||
50 | int QTextObject::formatIndex() const | - | ||||||||||||
51 | { | - | ||||||||||||
52 | const QTextObjectPrivate * const d = d_func(); | - | ||||||||||||
53 | return never executed: d->pieceTable->formatCollection()->objectFormatIndex(d->objectIndex);return d->pieceTable->formatCollection()->objectFormatIndex(d->objectIndex); never executed: return d->pieceTable->formatCollection()->objectFormatIndex(d->objectIndex); | 0 | ||||||||||||
54 | } | - | ||||||||||||
55 | - | |||||||||||||
56 | - | |||||||||||||
57 | - | |||||||||||||
58 | - | |||||||||||||
59 | - | |||||||||||||
60 | - | |||||||||||||
61 | - | |||||||||||||
62 | void QTextObject::setFormat(const QTextFormat &format) | - | ||||||||||||
63 | { | - | ||||||||||||
64 | QTextObjectPrivate * const d = d_func(); | - | ||||||||||||
65 | int idx = d->pieceTable->formatCollection()->indexForFormat(format); | - | ||||||||||||
66 | d->pieceTable->changeObjectFormat(this, idx); | - | ||||||||||||
67 | } never executed: end of block | 0 | ||||||||||||
68 | - | |||||||||||||
69 | - | |||||||||||||
70 | - | |||||||||||||
71 | - | |||||||||||||
72 | - | |||||||||||||
73 | int QTextObject::objectIndex() const | - | ||||||||||||
74 | { | - | ||||||||||||
75 | const QTextObjectPrivate * const d = d_func(); | - | ||||||||||||
76 | return never executed: d->objectIndex;return d->objectIndex; never executed: return d->objectIndex; | 0 | ||||||||||||
77 | } | - | ||||||||||||
78 | - | |||||||||||||
79 | - | |||||||||||||
80 | - | |||||||||||||
81 | - | |||||||||||||
82 | - | |||||||||||||
83 | - | |||||||||||||
84 | QTextDocument *QTextObject::document() const | - | ||||||||||||
85 | { | - | ||||||||||||
86 | return never executed: static_cast<QTextDocument *>(parent());return static_cast<QTextDocument *>(parent()); never executed: return static_cast<QTextDocument *>(parent()); | 0 | ||||||||||||
87 | } | - | ||||||||||||
88 | - | |||||||||||||
89 | - | |||||||||||||
90 | - | |||||||||||||
91 | - | |||||||||||||
92 | QTextDocumentPrivate *QTextObject::docHandle() const | - | ||||||||||||
93 | { | - | ||||||||||||
94 | return never executed: static_cast<const QTextDocument *>(parent())->docHandle();return static_cast<const QTextDocument *>(parent())->docHandle(); never executed: return static_cast<const QTextDocument *>(parent())->docHandle(); | 0 | ||||||||||||
95 | } | - | ||||||||||||
96 | void QTextBlockGroupPrivate::markBlocksDirty() | - | ||||||||||||
97 | { | - | ||||||||||||
98 | for (int i = 0; i < blocks.count()
| 0 | ||||||||||||
99 | const QTextBlock &block = blocks.at(i); | - | ||||||||||||
100 | pieceTable->documentChange(block.position(), block.length()); | - | ||||||||||||
101 | } never executed: end of block | 0 | ||||||||||||
102 | } never executed: end of block | 0 | ||||||||||||
103 | QTextBlockGroup::QTextBlockGroup(QTextDocument *doc) | - | ||||||||||||
104 | : QTextObject(*new QTextBlockGroupPrivate(doc), doc) | - | ||||||||||||
105 | { | - | ||||||||||||
106 | } never executed: end of block | 0 | ||||||||||||
107 | - | |||||||||||||
108 | - | |||||||||||||
109 | - | |||||||||||||
110 | - | |||||||||||||
111 | QTextBlockGroup::QTextBlockGroup(QTextBlockGroupPrivate &p, QTextDocument *doc) | - | ||||||||||||
112 | : QTextObject(p, doc) | - | ||||||||||||
113 | { | - | ||||||||||||
114 | } never executed: end of block | 0 | ||||||||||||
115 | - | |||||||||||||
116 | - | |||||||||||||
117 | - | |||||||||||||
118 | - | |||||||||||||
119 | - | |||||||||||||
120 | QTextBlockGroup::~QTextBlockGroup() | - | ||||||||||||
121 | { | - | ||||||||||||
122 | } | - | ||||||||||||
123 | void QTextBlockGroup::blockInserted(const QTextBlock &block) | - | ||||||||||||
124 | { | - | ||||||||||||
125 | QTextBlockGroupPrivate * const d = d_func(); | - | ||||||||||||
126 | QTextBlockGroupPrivate::BlockList::Iterator it = std::lower_bound(d->blocks.begin(), d->blocks.end(), block); | - | ||||||||||||
127 | d->blocks.insert(it, block); | - | ||||||||||||
128 | d->markBlocksDirty(); | - | ||||||||||||
129 | } never executed: end of block | 0 | ||||||||||||
130 | - | |||||||||||||
131 | - | |||||||||||||
132 | - | |||||||||||||
133 | - | |||||||||||||
134 | - | |||||||||||||
135 | - | |||||||||||||
136 | void QTextBlockGroup::blockRemoved(const QTextBlock &block) | - | ||||||||||||
137 | { | - | ||||||||||||
138 | QTextBlockGroupPrivate * const d = d_func(); | - | ||||||||||||
139 | d->blocks.removeAll(block); | - | ||||||||||||
140 | d->markBlocksDirty(); | - | ||||||||||||
141 | if (d->blocks.isEmpty()
| 0 | ||||||||||||
142 | document()->docHandle()->deleteObject(this); | - | ||||||||||||
143 | return; never executed: return; | 0 | ||||||||||||
144 | } | - | ||||||||||||
145 | } never executed: end of block | 0 | ||||||||||||
146 | - | |||||||||||||
147 | - | |||||||||||||
148 | - | |||||||||||||
149 | - | |||||||||||||
150 | - | |||||||||||||
151 | - | |||||||||||||
152 | - | |||||||||||||
153 | void QTextBlockGroup::blockFormatChanged(const QTextBlock &) | - | ||||||||||||
154 | { | - | ||||||||||||
155 | } | - | ||||||||||||
156 | - | |||||||||||||
157 | - | |||||||||||||
158 | - | |||||||||||||
159 | - | |||||||||||||
160 | - | |||||||||||||
161 | QList<QTextBlock> QTextBlockGroup::blockList() const | - | ||||||||||||
162 | { | - | ||||||||||||
163 | const QTextBlockGroupPrivate * const d = d_func(); | - | ||||||||||||
164 | return never executed: d->blocks;return d->blocks; never executed: return d->blocks; | 0 | ||||||||||||
165 | } | - | ||||||||||||
166 | - | |||||||||||||
167 | - | |||||||||||||
168 | - | |||||||||||||
169 | QTextFrameLayoutData::~QTextFrameLayoutData() | - | ||||||||||||
170 | { | - | ||||||||||||
171 | } | - | ||||||||||||
172 | QTextFrame::QTextFrame(QTextDocument *doc) | - | ||||||||||||
173 | : QTextObject(*new QTextFramePrivate(doc), doc) | - | ||||||||||||
174 | { | - | ||||||||||||
175 | } never executed: end of block | 0 | ||||||||||||
176 | QTextFrame::~QTextFrame() | - | ||||||||||||
177 | { | - | ||||||||||||
178 | QTextFramePrivate * const d = d_func(); | - | ||||||||||||
179 | delete d->layoutData; | - | ||||||||||||
180 | } never executed: end of block | 0 | ||||||||||||
181 | - | |||||||||||||
182 | - | |||||||||||||
183 | - | |||||||||||||
184 | - | |||||||||||||
185 | QTextFrame::QTextFrame(QTextFramePrivate &p, QTextDocument *doc) | - | ||||||||||||
186 | : QTextObject(p, doc) | - | ||||||||||||
187 | { | - | ||||||||||||
188 | } never executed: end of block | 0 | ||||||||||||
189 | - | |||||||||||||
190 | - | |||||||||||||
191 | - | |||||||||||||
192 | - | |||||||||||||
193 | - | |||||||||||||
194 | - | |||||||||||||
195 | QList<QTextFrame *> QTextFrame::childFrames() const | - | ||||||||||||
196 | { | - | ||||||||||||
197 | const QTextFramePrivate * const d = d_func(); | - | ||||||||||||
198 | return never executed: d->childFrames;return d->childFrames; never executed: return d->childFrames; | 0 | ||||||||||||
199 | } | - | ||||||||||||
200 | - | |||||||||||||
201 | - | |||||||||||||
202 | - | |||||||||||||
203 | - | |||||||||||||
204 | - | |||||||||||||
205 | - | |||||||||||||
206 | - | |||||||||||||
207 | QTextFrame *QTextFrame::parentFrame() const | - | ||||||||||||
208 | { | - | ||||||||||||
209 | const QTextFramePrivate * const d = d_func(); | - | ||||||||||||
210 | return never executed: d->parentFrame;return d->parentFrame; never executed: return d->parentFrame; | 0 | ||||||||||||
211 | } | - | ||||||||||||
212 | - | |||||||||||||
213 | - | |||||||||||||
214 | - | |||||||||||||
215 | - | |||||||||||||
216 | - | |||||||||||||
217 | - | |||||||||||||
218 | - | |||||||||||||
219 | QTextCursor QTextFrame::firstCursorPosition() const | - | ||||||||||||
220 | { | - | ||||||||||||
221 | const QTextFramePrivate * const d = d_func(); | - | ||||||||||||
222 | return never executed: QTextCursorPrivate::fromPosition(d->pieceTable, firstPosition());return QTextCursorPrivate::fromPosition(d->pieceTable, firstPosition()); never executed: return QTextCursorPrivate::fromPosition(d->pieceTable, firstPosition()); | 0 | ||||||||||||
223 | } | - | ||||||||||||
224 | - | |||||||||||||
225 | - | |||||||||||||
226 | - | |||||||||||||
227 | - | |||||||||||||
228 | - | |||||||||||||
229 | - | |||||||||||||
230 | QTextCursor QTextFrame::lastCursorPosition() const | - | ||||||||||||
231 | { | - | ||||||||||||
232 | const QTextFramePrivate * const d = d_func(); | - | ||||||||||||
233 | return never executed: QTextCursorPrivate::fromPosition(d->pieceTable, lastPosition());return QTextCursorPrivate::fromPosition(d->pieceTable, lastPosition()); never executed: return QTextCursorPrivate::fromPosition(d->pieceTable, lastPosition()); | 0 | ||||||||||||
234 | } | - | ||||||||||||
235 | - | |||||||||||||
236 | - | |||||||||||||
237 | - | |||||||||||||
238 | - | |||||||||||||
239 | - | |||||||||||||
240 | - | |||||||||||||
241 | int QTextFrame::firstPosition() const | - | ||||||||||||
242 | { | - | ||||||||||||
243 | const QTextFramePrivate * const d = d_func(); | - | ||||||||||||
244 | if (!d->fragment_start
| 0 | ||||||||||||
245 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
246 | return never executed: d->pieceTable->fragmentMap().position(d->fragment_start) + 1;return d->pieceTable->fragmentMap().position(d->fragment_start) + 1; never executed: return d->pieceTable->fragmentMap().position(d->fragment_start) + 1; | 0 | ||||||||||||
247 | } | - | ||||||||||||
248 | - | |||||||||||||
249 | - | |||||||||||||
250 | - | |||||||||||||
251 | - | |||||||||||||
252 | - | |||||||||||||
253 | - | |||||||||||||
254 | int QTextFrame::lastPosition() const | - | ||||||||||||
255 | { | - | ||||||||||||
256 | const QTextFramePrivate * const d = d_func(); | - | ||||||||||||
257 | if (!d->fragment_end
| 0 | ||||||||||||
258 | return never executed: d->pieceTable->length() - 1;return d->pieceTable->length() - 1; never executed: return d->pieceTable->length() - 1; | 0 | ||||||||||||
259 | return never executed: d->pieceTable->fragmentMap().position(d->fragment_end);return d->pieceTable->fragmentMap().position(d->fragment_end); never executed: return d->pieceTable->fragmentMap().position(d->fragment_end); | 0 | ||||||||||||
260 | } | - | ||||||||||||
261 | - | |||||||||||||
262 | - | |||||||||||||
263 | - | |||||||||||||
264 | - | |||||||||||||
265 | QTextFrameLayoutData *QTextFrame::layoutData() const | - | ||||||||||||
266 | { | - | ||||||||||||
267 | const QTextFramePrivate * const d = d_func(); | - | ||||||||||||
268 | return never executed: d->layoutData;return d->layoutData; never executed: return d->layoutData; | 0 | ||||||||||||
269 | } | - | ||||||||||||
270 | - | |||||||||||||
271 | - | |||||||||||||
272 | - | |||||||||||||
273 | - | |||||||||||||
274 | void QTextFrame::setLayoutData(QTextFrameLayoutData *data) | - | ||||||||||||
275 | { | - | ||||||||||||
276 | QTextFramePrivate * const d = d_func(); | - | ||||||||||||
277 | delete d->layoutData; | - | ||||||||||||
278 | d->layoutData = data; | - | ||||||||||||
279 | } never executed: end of block | 0 | ||||||||||||
280 | - | |||||||||||||
281 | - | |||||||||||||
282 | - | |||||||||||||
283 | void QTextFramePrivate::fragmentAdded(QChar type, uint fragment) | - | ||||||||||||
284 | { | - | ||||||||||||
285 | if (type == QChar(0xfdd0)
| 0 | ||||||||||||
286 | ((!(!fragment_start)) ? qt_assert("!fragment_start",__FILE__,532) : qt_noop()); | - | ||||||||||||
287 | fragment_start = fragment; | - | ||||||||||||
288 | } never executed: else if (type == QChar(0xfdd1)end of block
| 0 | ||||||||||||
289 | ((!(!fragment_end)) ? qt_assert("!fragment_end",__FILE__,535) : qt_noop()); | - | ||||||||||||
290 | fragment_end = fragment; | - | ||||||||||||
291 | } never executed: else if (type == QChar::ObjectReplacementCharacterend of block
| 0 | ||||||||||||
292 | ((!(!fragment_start)) ? qt_assert("!fragment_start",__FILE__,538) : qt_noop()); | - | ||||||||||||
293 | ((!(!fragment_end)) ? qt_assert("!fragment_end",__FILE__,539) : qt_noop()); | - | ||||||||||||
294 | fragment_start = fragment; | - | ||||||||||||
295 | fragment_end = fragment; | - | ||||||||||||
296 | } never executed: else {end of block | 0 | ||||||||||||
297 | ((!(false)) ? qt_assert("false",__FILE__,543) : qt_noop()); | - | ||||||||||||
298 | } never executed: end of block | 0 | ||||||||||||
299 | } | - | ||||||||||||
300 | - | |||||||||||||
301 | void QTextFramePrivate::fragmentRemoved(QChar type, uint fragment) | - | ||||||||||||
302 | { | - | ||||||||||||
303 | (void)fragment;; | - | ||||||||||||
304 | if (type == QChar(0xfdd0)
| 0 | ||||||||||||
305 | ((!(fragment_start == fragment)) ? qt_assert("fragment_start == fragment",__FILE__,551) : qt_noop()); | - | ||||||||||||
306 | fragment_start = 0; | - | ||||||||||||
307 | } never executed: else if (type == QChar(0xfdd1)end of block
| 0 | ||||||||||||
308 | ((!(fragment_end == fragment)) ? qt_assert("fragment_end == fragment",__FILE__,554) : qt_noop()); | - | ||||||||||||
309 | fragment_end = 0; | - | ||||||||||||
310 | } never executed: else if (type == QChar::ObjectReplacementCharacterend of block
| 0 | ||||||||||||
311 | ((!(fragment_start == fragment)) ? qt_assert("fragment_start == fragment",__FILE__,557) : qt_noop()); | - | ||||||||||||
312 | ((!(fragment_end == fragment)) ? qt_assert("fragment_end == fragment",__FILE__,558) : qt_noop()); | - | ||||||||||||
313 | fragment_start = 0; | - | ||||||||||||
314 | fragment_end = 0; | - | ||||||||||||
315 | } never executed: else {end of block | 0 | ||||||||||||
316 | ((!(false)) ? qt_assert("false",__FILE__,562) : qt_noop()); | - | ||||||||||||
317 | } never executed: end of block | 0 | ||||||||||||
318 | remove_me(); | - | ||||||||||||
319 | } never executed: end of block | 0 | ||||||||||||
320 | - | |||||||||||||
321 | - | |||||||||||||
322 | void QTextFramePrivate::remove_me() | - | ||||||||||||
323 | { | - | ||||||||||||
324 | QTextFrame * const q = q_func(); | - | ||||||||||||
325 | if (fragment_start == 0
| 0 | ||||||||||||
326 | && !parentFrame
| 0 | ||||||||||||
327 | q->document()->docHandle()->deleteObject(q); | - | ||||||||||||
328 | return; never executed: return; | 0 | ||||||||||||
329 | } | - | ||||||||||||
330 | - | |||||||||||||
331 | if (!parentFrame
| 0 | ||||||||||||
332 | return; never executed: return; | 0 | ||||||||||||
333 | - | |||||||||||||
334 | int index = parentFrame->d_func()->childFrames.indexOf(q); | - | ||||||||||||
335 | - | |||||||||||||
336 | - | |||||||||||||
337 | for (int i = 0; i < childFrames.size()
| 0 | ||||||||||||
338 | QTextFrame *c = childFrames.at(i); | - | ||||||||||||
339 | parentFrame->d_func()->childFrames.insert(index, c); | - | ||||||||||||
340 | c->d_func()->parentFrame = parentFrame; | - | ||||||||||||
341 | ++index; | - | ||||||||||||
342 | } never executed: end of block | 0 | ||||||||||||
343 | ((!(parentFrame->d_func()->childFrames.at(index) == q)) ? qt_assert("parentFrame->d_func()->childFrames.at(index) == q",__FILE__,589) : qt_noop()); | - | ||||||||||||
344 | parentFrame->d_func()->childFrames.removeAt(index); | - | ||||||||||||
345 | - | |||||||||||||
346 | childFrames.clear(); | - | ||||||||||||
347 | parentFrame = 0; | - | ||||||||||||
348 | } never executed: end of block | 0 | ||||||||||||
349 | QTextFrame::iterator QTextFrame::begin() const | - | ||||||||||||
350 | { | - | ||||||||||||
351 | const QTextDocumentPrivate *priv = docHandle(); | - | ||||||||||||
352 | int b = priv->blockMap().findNode(firstPosition()); | - | ||||||||||||
353 | int e = priv->blockMap().findNode(lastPosition()+1); | - | ||||||||||||
354 | return never executed: iterator(const_cast<QTextFrame *>(this), b, b, e);return iterator(const_cast<QTextFrame *>(this), b, b, e); never executed: return iterator(const_cast<QTextFrame *>(this), b, b, e); | 0 | ||||||||||||
355 | } | - | ||||||||||||
356 | - | |||||||||||||
357 | - | |||||||||||||
358 | - | |||||||||||||
359 | - | |||||||||||||
360 | - | |||||||||||||
361 | - | |||||||||||||
362 | QTextFrame::iterator QTextFrame::end() const | - | ||||||||||||
363 | { | - | ||||||||||||
364 | const QTextDocumentPrivate *priv = docHandle(); | - | ||||||||||||
365 | int b = priv->blockMap().findNode(firstPosition()); | - | ||||||||||||
366 | int e = priv->blockMap().findNode(lastPosition()+1); | - | ||||||||||||
367 | return never executed: iterator(const_cast<QTextFrame *>(this), e, b, e);return iterator(const_cast<QTextFrame *>(this), e, b, e); never executed: return iterator(const_cast<QTextFrame *>(this), e, b, e); | 0 | ||||||||||||
368 | } | - | ||||||||||||
369 | - | |||||||||||||
370 | - | |||||||||||||
371 | - | |||||||||||||
372 | - | |||||||||||||
373 | QTextFrame::iterator::iterator() | - | ||||||||||||
374 | { | - | ||||||||||||
375 | f = 0; | - | ||||||||||||
376 | b = 0; | - | ||||||||||||
377 | e = 0; | - | ||||||||||||
378 | cf = 0; | - | ||||||||||||
379 | cb = 0; | - | ||||||||||||
380 | } never executed: end of block | 0 | ||||||||||||
381 | - | |||||||||||||
382 | - | |||||||||||||
383 | - | |||||||||||||
384 | - | |||||||||||||
385 | QTextFrame::iterator::iterator(QTextFrame *frame, int block, int begin, int end) | - | ||||||||||||
386 | { | - | ||||||||||||
387 | f = frame; | - | ||||||||||||
388 | b = begin; | - | ||||||||||||
389 | e = end; | - | ||||||||||||
390 | cf = 0; | - | ||||||||||||
391 | cb = block; | - | ||||||||||||
392 | } never executed: end of block | 0 | ||||||||||||
393 | - | |||||||||||||
394 | - | |||||||||||||
395 | - | |||||||||||||
396 | - | |||||||||||||
397 | QTextFrame::iterator::iterator(const iterator &other) | - | ||||||||||||
398 | { | - | ||||||||||||
399 | f = other.f; | - | ||||||||||||
400 | b = other.b; | - | ||||||||||||
401 | e = other.e; | - | ||||||||||||
402 | cf = other.cf; | - | ||||||||||||
403 | cb = other.cb; | - | ||||||||||||
404 | } never executed: end of block | 0 | ||||||||||||
405 | - | |||||||||||||
406 | - | |||||||||||||
407 | - | |||||||||||||
408 | - | |||||||||||||
409 | - | |||||||||||||
410 | QTextFrame::iterator &QTextFrame::iterator::operator=(const iterator &other) | - | ||||||||||||
411 | { | - | ||||||||||||
412 | f = other.f; | - | ||||||||||||
413 | b = other.b; | - | ||||||||||||
414 | e = other.e; | - | ||||||||||||
415 | cf = other.cf; | - | ||||||||||||
416 | cb = other.cb; | - | ||||||||||||
417 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||
418 | } | - | ||||||||||||
419 | - | |||||||||||||
420 | - | |||||||||||||
421 | - | |||||||||||||
422 | - | |||||||||||||
423 | - | |||||||||||||
424 | - | |||||||||||||
425 | - | |||||||||||||
426 | QTextFrame *QTextFrame::iterator::currentFrame() const | - | ||||||||||||
427 | { | - | ||||||||||||
428 | return never executed: cf;return cf; never executed: return cf; | 0 | ||||||||||||
429 | } | - | ||||||||||||
430 | - | |||||||||||||
431 | - | |||||||||||||
432 | - | |||||||||||||
433 | - | |||||||||||||
434 | - | |||||||||||||
435 | - | |||||||||||||
436 | - | |||||||||||||
437 | QTextBlock QTextFrame::iterator::currentBlock() const | - | ||||||||||||
438 | { | - | ||||||||||||
439 | if (!f
| 0 | ||||||||||||
440 | return never executed: QTextBlock();return QTextBlock(); never executed: return QTextBlock(); | 0 | ||||||||||||
441 | return never executed: QTextBlock(f->docHandle(), cb);return QTextBlock(f->docHandle(), cb); never executed: return QTextBlock(f->docHandle(), cb); | 0 | ||||||||||||
442 | } | - | ||||||||||||
443 | - | |||||||||||||
444 | - | |||||||||||||
445 | - | |||||||||||||
446 | - | |||||||||||||
447 | - | |||||||||||||
448 | - | |||||||||||||
449 | QTextFrame::iterator &QTextFrame::iterator::operator++() | - | ||||||||||||
450 | { | - | ||||||||||||
451 | const QTextDocumentPrivate *priv = f->docHandle(); | - | ||||||||||||
452 | const QTextDocumentPrivate::BlockMap &map = priv->blockMap(); | - | ||||||||||||
453 | if (cf
| 0 | ||||||||||||
454 | int end = cf->lastPosition() + 1; | - | ||||||||||||
455 | cb = map.findNode(end); | - | ||||||||||||
456 | cf = 0; | - | ||||||||||||
457 | } never executed: else if (cbend of block
| 0 | ||||||||||||
458 | cb = map.next(cb); | - | ||||||||||||
459 | if (cb == e
| 0 | ||||||||||||
460 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||
461 | - | |||||||||||||
462 | if (!f->d_func()->childFrames.isEmpty()
| 0 | ||||||||||||
463 | int pos = map.position(cb); | - | ||||||||||||
464 | - | |||||||||||||
465 | QTextDocumentPrivate::FragmentIterator frag = priv->find(pos-1); | - | ||||||||||||
466 | if (priv->buffer().at(frag->stringPosition) != QChar::ParagraphSeparator
| 0 | ||||||||||||
467 | QTextFrame *nf = qobject_cast<QTextFrame *>(priv->objectForFormat(frag->format)); | - | ||||||||||||
468 | if (nf
| 0 | ||||||||||||
469 | if (priv->buffer().at(frag->stringPosition) == QChar(0xfdd0)
| 0 | ||||||||||||
470 | cf = nf; | - | ||||||||||||
471 | cb = 0; | - | ||||||||||||
472 | } never executed: else {end of block | 0 | ||||||||||||
473 | ((!(priv->buffer().at(frag->stringPosition) != QChar(0xfdd1))) ? qt_assert("priv->buffer().at(frag->stringPosition) != QTextEndOfFrame",__FILE__,749) : qt_noop()); | - | ||||||||||||
474 | } never executed: end of block | 0 | ||||||||||||
475 | } | - | ||||||||||||
476 | } never executed: end of block | 0 | ||||||||||||
477 | } never executed: end of block | 0 | ||||||||||||
478 | } never executed: end of block | 0 | ||||||||||||
479 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||
480 | } | - | ||||||||||||
481 | - | |||||||||||||
482 | - | |||||||||||||
483 | - | |||||||||||||
484 | - | |||||||||||||
485 | - | |||||||||||||
486 | - | |||||||||||||
487 | QTextFrame::iterator &QTextFrame::iterator::operator--() | - | ||||||||||||
488 | { | - | ||||||||||||
489 | const QTextDocumentPrivate *priv = f->docHandle(); | - | ||||||||||||
490 | const QTextDocumentPrivate::BlockMap &map = priv->blockMap(); | - | ||||||||||||
491 | if (cf
| 0 | ||||||||||||
492 | int start = cf->firstPosition() - 1; | - | ||||||||||||
493 | cb = map.findNode(start); | - | ||||||||||||
494 | cf = 0; | - | ||||||||||||
495 | } never executed: else {end of block | 0 | ||||||||||||
496 | if (cb == b
| 0 | ||||||||||||
497 | goto never executed: end;goto end; never executed: goto end; | 0 | ||||||||||||
498 | if (cb != e
| 0 | ||||||||||||
499 | int pos = map.position(cb); | - | ||||||||||||
500 | - | |||||||||||||
501 | QTextDocumentPrivate::FragmentIterator frag = priv->find(pos-1); | - | ||||||||||||
502 | if (priv->buffer().at(frag->stringPosition) != QChar::ParagraphSeparator
| 0 | ||||||||||||
503 | QTextFrame *pf = qobject_cast<QTextFrame *>(priv->objectForFormat(frag->format)); | - | ||||||||||||
504 | if (pf
| 0 | ||||||||||||
505 | if (priv->buffer().at(frag->stringPosition) == QChar(0xfdd0)
| 0 | ||||||||||||
506 | ((!(pf == f)) ? qt_assert("pf == f",__FILE__,782) : qt_noop()); | - | ||||||||||||
507 | } never executed: else if (priv->buffer().at(frag->stringPosition) == QChar(0xfdd1)end of block
| 0 | ||||||||||||
508 | ((!(pf != f)) ? qt_assert("pf != f",__FILE__,784) : qt_noop()); | - | ||||||||||||
509 | cf = pf; | - | ||||||||||||
510 | cb = 0; | - | ||||||||||||
511 | goto never executed: end;goto end; never executed: goto end; | 0 | ||||||||||||
512 | } | - | ||||||||||||
513 | } never executed: end of block | 0 | ||||||||||||
514 | } never executed: end of block | 0 | ||||||||||||
515 | } never executed: end of block | 0 | ||||||||||||
516 | cb = map.previous(cb); | - | ||||||||||||
517 | } never executed: end of block | 0 | ||||||||||||
518 | end: code before this statement never executed: end: | 0 | ||||||||||||
519 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||
520 | } | - | ||||||||||||
521 | QTextBlockUserData::~QTextBlockUserData() | - | ||||||||||||
522 | { | - | ||||||||||||
523 | } | - | ||||||||||||
524 | bool QTextBlock::isValid() const | - | ||||||||||||
525 | { | - | ||||||||||||
526 | return never executed: p != 0return p != 0 && p->blockMap().isValid(n);
never executed: return p != 0 && p->blockMap().isValid(n); | 0 | ||||||||||||
527 | } | - | ||||||||||||
528 | int QTextBlock::position() const | - | ||||||||||||
529 | { | - | ||||||||||||
530 | if (!p
| 0 | ||||||||||||
531 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
532 | - | |||||||||||||
533 | return never executed: p->blockMap().position(n);return p->blockMap().position(n); never executed: return p->blockMap().position(n); | 0 | ||||||||||||
534 | } | - | ||||||||||||
535 | int QTextBlock::length() const | - | ||||||||||||
536 | { | - | ||||||||||||
537 | if (!p
| 0 | ||||||||||||
538 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
539 | - | |||||||||||||
540 | return never executed: p->blockMap().size(n);return p->blockMap().size(n); never executed: return p->blockMap().size(n); | 0 | ||||||||||||
541 | } | - | ||||||||||||
542 | - | |||||||||||||
543 | - | |||||||||||||
544 | - | |||||||||||||
545 | - | |||||||||||||
546 | - | |||||||||||||
547 | bool QTextBlock::contains(int position) const | - | ||||||||||||
548 | { | - | ||||||||||||
549 | if (!p
| 0 | ||||||||||||
550 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||
551 | - | |||||||||||||
552 | int pos = p->blockMap().position(n); | - | ||||||||||||
553 | int len = p->blockMap().size(n); | - | ||||||||||||
554 | return never executed: position >= posreturn position >= pos && position < pos + len;
never executed: return position >= pos && position < pos + len; | 0 | ||||||||||||
555 | } | - | ||||||||||||
556 | QTextLayout *QTextBlock::layout() const | - | ||||||||||||
557 | { | - | ||||||||||||
558 | if (!p
| 0 | ||||||||||||
559 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
560 | - | |||||||||||||
561 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
562 | if (!b->layout
| 0 | ||||||||||||
563 | b->layout = new QTextLayout(*this); never executed: b->layout = new QTextLayout(*this); | 0 | ||||||||||||
564 | return never executed: b->layout;return b->layout; never executed: return b->layout; | 0 | ||||||||||||
565 | } | - | ||||||||||||
566 | void QTextBlock::clearLayout() | - | ||||||||||||
567 | { | - | ||||||||||||
568 | if (!p
| 0 | ||||||||||||
569 | return; never executed: return; | 0 | ||||||||||||
570 | - | |||||||||||||
571 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
572 | if (b->layout
| 0 | ||||||||||||
573 | b->layout->clearLayout(); never executed: b->layout->clearLayout(); | 0 | ||||||||||||
574 | } never executed: end of block | 0 | ||||||||||||
575 | - | |||||||||||||
576 | - | |||||||||||||
577 | - | |||||||||||||
578 | - | |||||||||||||
579 | - | |||||||||||||
580 | - | |||||||||||||
581 | QTextBlockFormat QTextBlock::blockFormat() const | - | ||||||||||||
582 | { | - | ||||||||||||
583 | if (!p
| 0 | ||||||||||||
584 | return never executed: QTextFormat().toBlockFormat();return QTextFormat().toBlockFormat(); never executed: return QTextFormat().toBlockFormat(); | 0 | ||||||||||||
585 | - | |||||||||||||
586 | return never executed: p->formatCollection()->blockFormat(p->blockMap().fragment(n)->format);return p->formatCollection()->blockFormat(p->blockMap().fragment(n)->format); never executed: return p->formatCollection()->blockFormat(p->blockMap().fragment(n)->format); | 0 | ||||||||||||
587 | } | - | ||||||||||||
588 | - | |||||||||||||
589 | - | |||||||||||||
590 | - | |||||||||||||
591 | - | |||||||||||||
592 | - | |||||||||||||
593 | - | |||||||||||||
594 | - | |||||||||||||
595 | int QTextBlock::blockFormatIndex() const | - | ||||||||||||
596 | { | - | ||||||||||||
597 | if (!p
| 0 | ||||||||||||
598 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
599 | - | |||||||||||||
600 | return never executed: p->blockMap().fragment(n)->format;return p->blockMap().fragment(n)->format; never executed: return p->blockMap().fragment(n)->format; | 0 | ||||||||||||
601 | } | - | ||||||||||||
602 | QTextCharFormat QTextBlock::charFormat() const | - | ||||||||||||
603 | { | - | ||||||||||||
604 | if (!p
| 0 | ||||||||||||
605 | return never executed: QTextFormat().toCharFormat();return QTextFormat().toCharFormat(); never executed: return QTextFormat().toCharFormat(); | 0 | ||||||||||||
606 | - | |||||||||||||
607 | return never executed: p->formatCollection()->charFormat(charFormatIndex());return p->formatCollection()->charFormat(charFormatIndex()); never executed: return p->formatCollection()->charFormat(charFormatIndex()); | 0 | ||||||||||||
608 | } | - | ||||||||||||
609 | - | |||||||||||||
610 | - | |||||||||||||
611 | - | |||||||||||||
612 | - | |||||||||||||
613 | - | |||||||||||||
614 | - | |||||||||||||
615 | - | |||||||||||||
616 | int QTextBlock::charFormatIndex() const | - | ||||||||||||
617 | { | - | ||||||||||||
618 | if (!p
| 0 | ||||||||||||
619 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
620 | - | |||||||||||||
621 | return never executed: p->blockCharFormatIndex(n);return p->blockCharFormatIndex(n); never executed: return p->blockCharFormatIndex(n); | 0 | ||||||||||||
622 | } | - | ||||||||||||
623 | Qt::LayoutDirection QTextBlock::textDirection() const | - | ||||||||||||
624 | { | - | ||||||||||||
625 | Qt::LayoutDirection dir = blockFormat().layoutDirection(); | - | ||||||||||||
626 | if (dir != Qt::LayoutDirectionAuto
| 0 | ||||||||||||
627 | return never executed: dir;return dir; never executed: return dir; | 0 | ||||||||||||
628 | - | |||||||||||||
629 | dir = p->defaultTextOption.textDirection(); | - | ||||||||||||
630 | if (dir != Qt::LayoutDirectionAuto
| 0 | ||||||||||||
631 | return never executed: dir;return dir; never executed: return dir; | 0 | ||||||||||||
632 | - | |||||||||||||
633 | const QString buffer = p->buffer(); | - | ||||||||||||
634 | - | |||||||||||||
635 | const int pos = position(); | - | ||||||||||||
636 | QTextDocumentPrivate::FragmentIterator it = p->find(pos); | - | ||||||||||||
637 | QTextDocumentPrivate::FragmentIterator end = p->find(pos + length() - 1); | - | ||||||||||||
638 | for (; it != end
| 0 | ||||||||||||
639 | const QTextFragmentData * const frag = it.value(); | - | ||||||||||||
640 | const QChar *p = buffer.constData() + frag->stringPosition; | - | ||||||||||||
641 | const QChar * const end = p + frag->size_array[0]; | - | ||||||||||||
642 | while (p < end
| 0 | ||||||||||||
643 | uint ucs4 = p->unicode(); | - | ||||||||||||
644 | if (QChar::isHighSurrogate(ucs4)
| 0 | ||||||||||||
645 | ushort low = p[1].unicode(); | - | ||||||||||||
646 | if (QChar::isLowSurrogate(low)
| 0 | ||||||||||||
647 | ucs4 = QChar::surrogateToUcs4(ucs4, low); | - | ||||||||||||
648 | ++p; | - | ||||||||||||
649 | } never executed: end of block | 0 | ||||||||||||
650 | } never executed: end of block | 0 | ||||||||||||
651 | switch (QChar::direction(ucs4)) { | - | ||||||||||||
652 | case never executed: QChar::DirL:case QChar::DirL: never executed: case QChar::DirL: | 0 | ||||||||||||
653 | return never executed: Qt::LeftToRight;return Qt::LeftToRight; never executed: return Qt::LeftToRight; | 0 | ||||||||||||
654 | case never executed: QChar::DirR:case QChar::DirR: never executed: case QChar::DirR: | 0 | ||||||||||||
655 | case never executed: QChar::DirAL:case QChar::DirAL: never executed: case QChar::DirAL: | 0 | ||||||||||||
656 | return never executed: Qt::RightToLeft;return Qt::RightToLeft; never executed: return Qt::RightToLeft; | 0 | ||||||||||||
657 | default never executed: :default: never executed: default: | 0 | ||||||||||||
658 | break; never executed: break; | 0 | ||||||||||||
659 | } | - | ||||||||||||
660 | ++p; | - | ||||||||||||
661 | } never executed: end of block | 0 | ||||||||||||
662 | } never executed: end of block | 0 | ||||||||||||
663 | return never executed: Qt::LeftToRight;return Qt::LeftToRight; never executed: return Qt::LeftToRight; | 0 | ||||||||||||
664 | } | - | ||||||||||||
665 | - | |||||||||||||
666 | - | |||||||||||||
667 | - | |||||||||||||
668 | - | |||||||||||||
669 | - | |||||||||||||
670 | - | |||||||||||||
671 | QString QTextBlock::text() const | - | ||||||||||||
672 | { | - | ||||||||||||
673 | if (!p
| 0 | ||||||||||||
674 | return never executed: QString();return QString(); never executed: return QString(); | 0 | ||||||||||||
675 | - | |||||||||||||
676 | const QString buffer = p->buffer(); | - | ||||||||||||
677 | QString text; | - | ||||||||||||
678 | text.reserve(length()); | - | ||||||||||||
679 | - | |||||||||||||
680 | const int pos = position(); | - | ||||||||||||
681 | QTextDocumentPrivate::FragmentIterator it = p->find(pos); | - | ||||||||||||
682 | QTextDocumentPrivate::FragmentIterator end = p->find(pos + length() - 1); | - | ||||||||||||
683 | for (; it != end
| 0 | ||||||||||||
684 | const QTextFragmentData * const frag = it.value(); | - | ||||||||||||
685 | text += QString::fromRawData(buffer.constData() + frag->stringPosition, frag->size_array[0]); | - | ||||||||||||
686 | } never executed: end of block | 0 | ||||||||||||
687 | - | |||||||||||||
688 | return never executed: text;return text; never executed: return text; | 0 | ||||||||||||
689 | } | - | ||||||||||||
690 | QVector<QTextLayout::FormatRange> QTextBlock::textFormats() const | - | ||||||||||||
691 | { | - | ||||||||||||
692 | QVector<QTextLayout::FormatRange> formats; | - | ||||||||||||
693 | if (!p
| 0 | ||||||||||||
694 | return never executed: formats;return formats; never executed: return formats; | 0 | ||||||||||||
695 | - | |||||||||||||
696 | const QTextFormatCollection *formatCollection = p->formatCollection(); | - | ||||||||||||
697 | - | |||||||||||||
698 | int start = 0; | - | ||||||||||||
699 | int cur = start; | - | ||||||||||||
700 | int format = -1; | - | ||||||||||||
701 | - | |||||||||||||
702 | const int pos = position(); | - | ||||||||||||
703 | QTextDocumentPrivate::FragmentIterator it = p->find(pos); | - | ||||||||||||
704 | QTextDocumentPrivate::FragmentIterator end = p->find(pos + length() - 1); | - | ||||||||||||
705 | for (; it != end
| 0 | ||||||||||||
706 | const QTextFragmentData * const frag = it.value(); | - | ||||||||||||
707 | if (format != it.value()->format
| 0 | ||||||||||||
708 | if (cur - start > 0
| 0 | ||||||||||||
709 | QTextLayout::FormatRange range; | - | ||||||||||||
710 | range.start = start; | - | ||||||||||||
711 | range.length = cur - start; | - | ||||||||||||
712 | range.format = formatCollection->charFormat(format); | - | ||||||||||||
713 | formats.append(range); | - | ||||||||||||
714 | } never executed: end of block | 0 | ||||||||||||
715 | - | |||||||||||||
716 | format = frag->format; | - | ||||||||||||
717 | start = cur; | - | ||||||||||||
718 | } never executed: end of block | 0 | ||||||||||||
719 | cur += frag->size_array[0]; | - | ||||||||||||
720 | } never executed: end of block | 0 | ||||||||||||
721 | if (cur - start > 0
| 0 | ||||||||||||
722 | QTextLayout::FormatRange range; | - | ||||||||||||
723 | range.start = start; | - | ||||||||||||
724 | range.length = cur - start; | - | ||||||||||||
725 | range.format = formatCollection->charFormat(format); | - | ||||||||||||
726 | formats.append(range); | - | ||||||||||||
727 | } never executed: end of block | 0 | ||||||||||||
728 | - | |||||||||||||
729 | return never executed: formats;return formats; never executed: return formats; | 0 | ||||||||||||
730 | } | - | ||||||||||||
731 | - | |||||||||||||
732 | - | |||||||||||||
733 | - | |||||||||||||
734 | - | |||||||||||||
735 | - | |||||||||||||
736 | const QTextDocument *QTextBlock::document() const | - | ||||||||||||
737 | { | - | ||||||||||||
738 | return never executed: preturn p ? p->document() : 0;
never executed: return p ? p->document() : 0; | 0 | ||||||||||||
739 | } | - | ||||||||||||
740 | - | |||||||||||||
741 | - | |||||||||||||
742 | - | |||||||||||||
743 | - | |||||||||||||
744 | - | |||||||||||||
745 | QTextList *QTextBlock::textList() const | - | ||||||||||||
746 | { | - | ||||||||||||
747 | if (!isValid()
| 0 | ||||||||||||
748 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
749 | - | |||||||||||||
750 | const QTextBlockFormat fmt = blockFormat(); | - | ||||||||||||
751 | QTextObject *obj = p->document()->objectForFormat(fmt); | - | ||||||||||||
752 | return never executed: qobject_cast<QTextList *>(obj);return qobject_cast<QTextList *>(obj); never executed: return qobject_cast<QTextList *>(obj); | 0 | ||||||||||||
753 | } | - | ||||||||||||
754 | - | |||||||||||||
755 | - | |||||||||||||
756 | - | |||||||||||||
757 | - | |||||||||||||
758 | - | |||||||||||||
759 | - | |||||||||||||
760 | - | |||||||||||||
761 | QTextBlockUserData *QTextBlock::userData() const | - | ||||||||||||
762 | { | - | ||||||||||||
763 | if (!p
| 0 | ||||||||||||
764 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
765 | - | |||||||||||||
766 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
767 | return never executed: b->userData;return b->userData; never executed: return b->userData; | 0 | ||||||||||||
768 | } | - | ||||||||||||
769 | void QTextBlock::setUserData(QTextBlockUserData *data) | - | ||||||||||||
770 | { | - | ||||||||||||
771 | if (!p
| 0 | ||||||||||||
772 | return; never executed: return; | 0 | ||||||||||||
773 | - | |||||||||||||
774 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
775 | if (data != b->userData
| 0 | ||||||||||||
776 | delete b->userData; never executed: delete b->userData; | 0 | ||||||||||||
777 | b->userData = data; | - | ||||||||||||
778 | } never executed: end of block | 0 | ||||||||||||
779 | - | |||||||||||||
780 | - | |||||||||||||
781 | - | |||||||||||||
782 | - | |||||||||||||
783 | - | |||||||||||||
784 | - | |||||||||||||
785 | int QTextBlock::userState() const | - | ||||||||||||
786 | { | - | ||||||||||||
787 | if (!p
| 0 | ||||||||||||
788 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
789 | - | |||||||||||||
790 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
791 | return never executed: b->userState;return b->userState; never executed: return b->userState; | 0 | ||||||||||||
792 | } | - | ||||||||||||
793 | - | |||||||||||||
794 | - | |||||||||||||
795 | - | |||||||||||||
796 | - | |||||||||||||
797 | - | |||||||||||||
798 | - | |||||||||||||
799 | - | |||||||||||||
800 | void QTextBlock::setUserState(int state) | - | ||||||||||||
801 | { | - | ||||||||||||
802 | if (!p
| 0 | ||||||||||||
803 | return; never executed: return; | 0 | ||||||||||||
804 | - | |||||||||||||
805 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
806 | b->userState = state; | - | ||||||||||||
807 | } never executed: end of block | 0 | ||||||||||||
808 | int QTextBlock::revision() const | - | ||||||||||||
809 | { | - | ||||||||||||
810 | if (!p
| 0 | ||||||||||||
811 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
812 | - | |||||||||||||
813 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
814 | return never executed: b->revision;return b->revision; never executed: return b->revision; | 0 | ||||||||||||
815 | } | - | ||||||||||||
816 | void QTextBlock::setRevision(int rev) | - | ||||||||||||
817 | { | - | ||||||||||||
818 | if (!p
| 0 | ||||||||||||
819 | return; never executed: return; | 0 | ||||||||||||
820 | - | |||||||||||||
821 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
822 | b->revision = rev; | - | ||||||||||||
823 | } never executed: end of block | 0 | ||||||||||||
824 | bool QTextBlock::isVisible() const | - | ||||||||||||
825 | { | - | ||||||||||||
826 | if (!p
| 0 | ||||||||||||
827 | return never executed: true;return true; never executed: return true; | 0 | ||||||||||||
828 | - | |||||||||||||
829 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
830 | return never executed: !b->hidden;return !b->hidden; never executed: return !b->hidden; | 0 | ||||||||||||
831 | } | - | ||||||||||||
832 | void QTextBlock::setVisible(bool visible) | - | ||||||||||||
833 | { | - | ||||||||||||
834 | if (!p
| 0 | ||||||||||||
835 | return; never executed: return; | 0 | ||||||||||||
836 | - | |||||||||||||
837 | const QTextBlockData *b = p->blockMap().fragment(n); | - | ||||||||||||
838 | b->hidden = !visible; | - | ||||||||||||
839 | } never executed: end of block | 0 | ||||||||||||
840 | int QTextBlock::blockNumber() const | - | ||||||||||||
841 | { | - | ||||||||||||
842 | if (!p
| 0 | ||||||||||||
843 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
844 | return never executed: p->blockMap().position(n, 1);return p->blockMap().position(n, 1); never executed: return p->blockMap().position(n, 1); | 0 | ||||||||||||
845 | } | - | ||||||||||||
846 | int QTextBlock::firstLineNumber() const | - | ||||||||||||
847 | { | - | ||||||||||||
848 | if (!p
| 0 | ||||||||||||
849 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
850 | return never executed: p->blockMap().position(n, 2);return p->blockMap().position(n, 2); never executed: return p->blockMap().position(n, 2); | 0 | ||||||||||||
851 | } | - | ||||||||||||
852 | void QTextBlock::setLineCount(int count) | - | ||||||||||||
853 | { | - | ||||||||||||
854 | if (!p
| 0 | ||||||||||||
855 | return; never executed: return; | 0 | ||||||||||||
856 | p->blockMap().setSize(n, count, 2); | - | ||||||||||||
857 | } never executed: end of block | 0 | ||||||||||||
858 | - | |||||||||||||
859 | - | |||||||||||||
860 | - | |||||||||||||
861 | - | |||||||||||||
862 | - | |||||||||||||
863 | - | |||||||||||||
864 | - | |||||||||||||
865 | int QTextBlock::lineCount() const | - | ||||||||||||
866 | { | - | ||||||||||||
867 | if (!p
| 0 | ||||||||||||
868 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
869 | return never executed: p->blockMap().size(n, 2);return p->blockMap().size(n, 2); never executed: return p->blockMap().size(n, 2); | 0 | ||||||||||||
870 | } | - | ||||||||||||
871 | QTextBlock::iterator QTextBlock::begin() const | - | ||||||||||||
872 | { | - | ||||||||||||
873 | if (!p
| 0 | ||||||||||||
874 | return never executed: iterator();return iterator(); never executed: return iterator(); | 0 | ||||||||||||
875 | - | |||||||||||||
876 | int pos = position(); | - | ||||||||||||
877 | int len = length() - 1; | - | ||||||||||||
878 | int b = p->fragmentMap().findNode(pos); | - | ||||||||||||
879 | int e = p->fragmentMap().findNode(pos+len); | - | ||||||||||||
880 | return never executed: iterator(p, b, e, b);return iterator(p, b, e, b); never executed: return iterator(p, b, e, b); | 0 | ||||||||||||
881 | } | - | ||||||||||||
882 | - | |||||||||||||
883 | - | |||||||||||||
884 | - | |||||||||||||
885 | - | |||||||||||||
886 | - | |||||||||||||
887 | - | |||||||||||||
888 | - | |||||||||||||
889 | QTextBlock::iterator QTextBlock::end() const | - | ||||||||||||
890 | { | - | ||||||||||||
891 | if (!p
| 0 | ||||||||||||
892 | return never executed: iterator();return iterator(); never executed: return iterator(); | 0 | ||||||||||||
893 | - | |||||||||||||
894 | int pos = position(); | - | ||||||||||||
895 | int len = length() - 1; | - | ||||||||||||
896 | int b = p->fragmentMap().findNode(pos); | - | ||||||||||||
897 | int e = p->fragmentMap().findNode(pos+len); | - | ||||||||||||
898 | return never executed: iterator(p, b, e, e);return iterator(p, b, e, e); never executed: return iterator(p, b, e, e); | 0 | ||||||||||||
899 | } | - | ||||||||||||
900 | QTextBlock QTextBlock::next() const | - | ||||||||||||
901 | { | - | ||||||||||||
902 | if (!isValid()
| 0 | ||||||||||||
903 | return never executed: QTextBlock();return QTextBlock(); never executed: return QTextBlock(); | 0 | ||||||||||||
904 | - | |||||||||||||
905 | return never executed: QTextBlock(p, p->blockMap().next(n));return QTextBlock(p, p->blockMap().next(n)); never executed: return QTextBlock(p, p->blockMap().next(n)); | 0 | ||||||||||||
906 | } | - | ||||||||||||
907 | QTextBlock QTextBlock::previous() const | - | ||||||||||||
908 | { | - | ||||||||||||
909 | if (!p
| 0 | ||||||||||||
910 | return never executed: QTextBlock();return QTextBlock(); never executed: return QTextBlock(); | 0 | ||||||||||||
911 | - | |||||||||||||
912 | return never executed: QTextBlock(p, p->blockMap().previous(n));return QTextBlock(p, p->blockMap().previous(n)); never executed: return QTextBlock(p, p->blockMap().previous(n)); | 0 | ||||||||||||
913 | } | - | ||||||||||||
914 | - | |||||||||||||
915 | - | |||||||||||||
916 | - | |||||||||||||
917 | - | |||||||||||||
918 | - | |||||||||||||
919 | QTextFragment QTextBlock::iterator::fragment() const | - | ||||||||||||
920 | { | - | ||||||||||||
921 | int ne = n; | - | ||||||||||||
922 | int formatIndex = p->fragmentMap().fragment(n)->format; | - | ||||||||||||
923 | do { | - | ||||||||||||
924 | ne = p->fragmentMap().next(ne); | - | ||||||||||||
925 | } never executed: while (ne != eend of block
| 0 | ||||||||||||
926 | return never executed: QTextFragment(p, n, ne);return QTextFragment(p, n, ne); never executed: return QTextFragment(p, n, ne); | 0 | ||||||||||||
927 | } | - | ||||||||||||
928 | - | |||||||||||||
929 | - | |||||||||||||
930 | - | |||||||||||||
931 | - | |||||||||||||
932 | - | |||||||||||||
933 | - | |||||||||||||
934 | - | |||||||||||||
935 | QTextBlock::iterator &QTextBlock::iterator::operator++() | - | ||||||||||||
936 | { | - | ||||||||||||
937 | int ne = n; | - | ||||||||||||
938 | int formatIndex = p->fragmentMap().fragment(n)->format; | - | ||||||||||||
939 | do { | - | ||||||||||||
940 | ne = p->fragmentMap().next(ne); | - | ||||||||||||
941 | } never executed: while (ne != eend of block
| 0 | ||||||||||||
942 | n = ne; | - | ||||||||||||
943 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||
944 | } | - | ||||||||||||
945 | - | |||||||||||||
946 | - | |||||||||||||
947 | - | |||||||||||||
948 | - | |||||||||||||
949 | - | |||||||||||||
950 | - | |||||||||||||
951 | QTextBlock::iterator &QTextBlock::iterator::operator--() | - | ||||||||||||
952 | { | - | ||||||||||||
953 | n = p->fragmentMap().previous(n); | - | ||||||||||||
954 | - | |||||||||||||
955 | if (n == b
| 0 | ||||||||||||
956 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||
957 | - | |||||||||||||
958 | int formatIndex = p->fragmentMap().fragment(n)->format; | - | ||||||||||||
959 | int last = n; | - | ||||||||||||
960 | - | |||||||||||||
961 | while (n != b
| 0 | ||||||||||||
962 | last = n; | - | ||||||||||||
963 | n = p->fragmentMap().previous(n); | - | ||||||||||||
964 | } never executed: end of block | 0 | ||||||||||||
965 | - | |||||||||||||
966 | n = last; | - | ||||||||||||
967 | return never executed: *this;return *this; never executed: return *this; | 0 | ||||||||||||
968 | } | - | ||||||||||||
969 | QList<QGlyphRun> QTextFragment::glyphRuns(int pos, int len) const | - | ||||||||||||
970 | { | - | ||||||||||||
971 | if (!p
| 0 | ||||||||||||
972 | return never executed: QList<QGlyphRun>();return QList<QGlyphRun>(); never executed: return QList<QGlyphRun>(); | 0 | ||||||||||||
973 | - | |||||||||||||
974 | int blockNode = p->blockMap().findNode(position()); | - | ||||||||||||
975 | - | |||||||||||||
976 | const QTextBlockData *blockData = p->blockMap().fragment(blockNode); | - | ||||||||||||
977 | QTextLayout *layout = blockData->layout; | - | ||||||||||||
978 | - | |||||||||||||
979 | int blockPosition = p->blockMap().position(blockNode); | - | ||||||||||||
980 | if (pos < 0
| 0 | ||||||||||||
981 | pos = position() - blockPosition; never executed: pos = position() - blockPosition; | 0 | ||||||||||||
982 | if (len < 0
| 0 | ||||||||||||
983 | len = length(); never executed: len = length(); | 0 | ||||||||||||
984 | if (len == 0
| 0 | ||||||||||||
985 | return never executed: QList<QGlyphRun>();return QList<QGlyphRun>(); never executed: return QList<QGlyphRun>(); | 0 | ||||||||||||
986 | - | |||||||||||||
987 | QList<QGlyphRun> ret; | - | ||||||||||||
988 | for (int i=0; i<layout->lineCount()
| 0 | ||||||||||||
989 | QTextLine textLine = layout->lineAt(i); | - | ||||||||||||
990 | ret += textLine.glyphRuns(pos, len); | - | ||||||||||||
991 | } never executed: end of block | 0 | ||||||||||||
992 | - | |||||||||||||
993 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||||||||
994 | } | - | ||||||||||||
995 | - | |||||||||||||
996 | - | |||||||||||||
997 | - | |||||||||||||
998 | - | |||||||||||||
999 | - | |||||||||||||
1000 | int QTextFragment::position() const | - | ||||||||||||
1001 | { | - | ||||||||||||
1002 | if (!p
| 0 | ||||||||||||
1003 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
1004 | - | |||||||||||||
1005 | return never executed: p->fragmentMap().position(n);return p->fragmentMap().position(n); never executed: return p->fragmentMap().position(n); | 0 | ||||||||||||
1006 | } | - | ||||||||||||
1007 | - | |||||||||||||
1008 | - | |||||||||||||
1009 | - | |||||||||||||
1010 | - | |||||||||||||
1011 | - | |||||||||||||
1012 | - | |||||||||||||
1013 | int QTextFragment::length() const | - | ||||||||||||
1014 | { | - | ||||||||||||
1015 | if (!p
| 0 | ||||||||||||
1016 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
1017 | - | |||||||||||||
1018 | int len = 0; | - | ||||||||||||
1019 | int f = n; | - | ||||||||||||
1020 | while (f != ne
| 0 | ||||||||||||
1021 | len += p->fragmentMap().size(f); | - | ||||||||||||
1022 | f = p->fragmentMap().next(f); | - | ||||||||||||
1023 | } never executed: end of block | 0 | ||||||||||||
1024 | return never executed: len;return len; never executed: return len; | 0 | ||||||||||||
1025 | } | - | ||||||||||||
1026 | - | |||||||||||||
1027 | - | |||||||||||||
1028 | - | |||||||||||||
1029 | - | |||||||||||||
1030 | - | |||||||||||||
1031 | bool QTextFragment::contains(int position) const | - | ||||||||||||
1032 | { | - | ||||||||||||
1033 | if (!p
| 0 | ||||||||||||
1034 | return never executed: false;return false; never executed: return false; | 0 | ||||||||||||
1035 | int pos = this->position(); | - | ||||||||||||
1036 | return never executed: position >= posreturn position >= pos && position < pos + length();
never executed: return position >= pos && position < pos + length(); | 0 | ||||||||||||
1037 | } | - | ||||||||||||
1038 | - | |||||||||||||
1039 | - | |||||||||||||
1040 | - | |||||||||||||
1041 | - | |||||||||||||
1042 | - | |||||||||||||
1043 | - | |||||||||||||
1044 | QTextCharFormat QTextFragment::charFormat() const | - | ||||||||||||
1045 | { | - | ||||||||||||
1046 | if (!p
| 0 | ||||||||||||
1047 | return never executed: QTextCharFormat();return QTextCharFormat(); never executed: return QTextCharFormat(); | 0 | ||||||||||||
1048 | const QTextFragmentData *data = p->fragmentMap().fragment(n); | - | ||||||||||||
1049 | return never executed: p->formatCollection()->charFormat(data->format);return p->formatCollection()->charFormat(data->format); never executed: return p->formatCollection()->charFormat(data->format); | 0 | ||||||||||||
1050 | } | - | ||||||||||||
1051 | - | |||||||||||||
1052 | - | |||||||||||||
1053 | - | |||||||||||||
1054 | - | |||||||||||||
1055 | - | |||||||||||||
1056 | - | |||||||||||||
1057 | - | |||||||||||||
1058 | int QTextFragment::charFormatIndex() const | - | ||||||||||||
1059 | { | - | ||||||||||||
1060 | if (!p
| 0 | ||||||||||||
1061 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
1062 | const QTextFragmentData *data = p->fragmentMap().fragment(n); | - | ||||||||||||
1063 | return never executed: data->format;return data->format; never executed: return data->format; | 0 | ||||||||||||
1064 | } | - | ||||||||||||
1065 | - | |||||||||||||
1066 | - | |||||||||||||
1067 | - | |||||||||||||
1068 | - | |||||||||||||
1069 | - | |||||||||||||
1070 | - | |||||||||||||
1071 | QString QTextFragment::text() const | - | ||||||||||||
1072 | { | - | ||||||||||||
1073 | if (!p
| 0 | ||||||||||||
1074 | return never executed: QString();return QString(); never executed: return QString(); | 0 | ||||||||||||
1075 | - | |||||||||||||
1076 | QString result; | - | ||||||||||||
1077 | QString buffer = p->buffer(); | - | ||||||||||||
1078 | int f = n; | - | ||||||||||||
1079 | while (f != ne
| 0 | ||||||||||||
1080 | const QTextFragmentData * const frag = p->fragmentMap().fragment(f); | - | ||||||||||||
1081 | result += QString(buffer.constData() + frag->stringPosition, frag->size_array[0]); | - | ||||||||||||
1082 | f = p->fragmentMap().next(f); | - | ||||||||||||
1083 | } never executed: end of block | 0 | ||||||||||||
1084 | return never executed: result;return result; never executed: return result; | 0 | ||||||||||||
1085 | } | - | ||||||||||||
1086 | - | |||||||||||||
1087 | - | |||||||||||||
Switch to Source code | Preprocessed file |