29 explicit QTextObject(QTextDocument *doc);
32 void setFormat(
const QTextFormat &format);
35 QTextFormat format()
const;
36 int formatIndex()
const;
38 QTextDocument *document()
const;
40 int objectIndex()
const;
43 QTextObject(QTextObjectPrivate &p, QTextDocument *doc);
46 Q_DECLARE_PRIVATE(QTextObject)
47 Q_DISABLE_COPY(QTextObject)
48 friend class QTextDocumentPrivate;
57 explicit QTextBlockGroup(QTextDocument *doc);
60 virtual void blockInserted(
const QTextBlock &block);
61 virtual void blockRemoved(
const QTextBlock &block);
62 virtual void blockFormatChanged(
const QTextBlock &block);
64 QList<QTextBlock> blockList()
const;
67 QTextBlockGroup(QTextBlockGroupPrivate &p, QTextDocument *doc);
69 Q_DECLARE_PRIVATE(QTextBlockGroup)
70 Q_DISABLE_COPY(QTextBlockGroup)
71 friend class QTextDocumentPrivate;
85 explicit QTextFrame(QTextDocument *doc);
88 inline void setFrameFormat(
const QTextFrameFormat &format);
89 QTextFrameFormat frameFormat()
const {
return QTextObject::format().toFrameFormat(); }
91 QTextCursor firstCursorPosition()
const;
92 QTextCursor lastCursorPosition()
const;
93 int firstPosition()
const;
94 int lastPosition()
const;
96 QTextFrameLayoutData *layoutData()
const;
97 void setLayoutData(QTextFrameLayoutData *data);
99 QList<QTextFrame *> childFrames()
const;
100 QTextFrame *parentFrame()
const;
103 QTextFrame *f =
nullptr;
106 QTextFrame *cf =
nullptr;
109 friend class QTextFrame;
110 friend class QTextTableCell;
111 friend class QTextDocumentLayoutPrivate;
112 inline iterator(QTextFrame *frame,
int block,
int begin,
int end)
113 : f(frame), b(begin), e(end), cb(block)
116 constexpr iterator()
noexcept =
default;
117 QTextFrame *parentFrame()
const {
return f; }
119 QTextFrame *currentFrame()
const {
return cf; }
120 Q_GUI_EXPORT QTextBlock currentBlock()
const;
122 bool atEnd()
const {
return !cf && cb == e; }
124 inline bool operator==(
const iterator &o)
const {
return f == o.f && cf == o.cf && cb == o.cb; }
125 inline bool operator!=(
const iterator &o)
const {
return f != o.f || cf != o.cf || cb != o.cb; }
126 Q_GUI_EXPORT iterator &operator++();
127 inline iterator operator++(
int) { iterator tmp = *
this; operator++();
return tmp; }
128 Q_GUI_EXPORT iterator &operator--();
129 inline iterator operator--(
int) { iterator tmp = *
this; operator--();
return tmp; }
132 friend class iterator;
134 typedef iterator Iterator;
136 iterator begin()
const;
137 iterator end()
const;
140 QTextFrame(QTextFramePrivate &p, QTextDocument *doc);
142 friend class QTextDocumentPrivate;
143 Q_DECLARE_PRIVATE(QTextFrame)
144 Q_DISABLE_COPY(QTextFrame)
158 friend class QSyntaxHighlighter;
160 inline QTextBlock(QTextDocumentPrivate *priv,
int b) : p(priv), n(b) {}
161 inline QTextBlock() : p(
nullptr), n(0) {}
162 inline QTextBlock(
const QTextBlock &o) : p(o.p), n(o.n) {}
163 inline QTextBlock &operator=(
const QTextBlock &o) { p = o.p; n = o.n;
return *
this; }
165 bool isValid()
const;
167 inline bool operator==(
const QTextBlock &o)
const {
return p == o.p && n == o.n; }
168 inline bool operator!=(
const QTextBlock &o)
const {
return p != o.p || n != o.n; }
169 inline bool operator<(
const QTextBlock &o)
const {
return position() < o.position(); }
171 int position()
const;
173 bool contains(
int position)
const;
175 QTextLayout *layout()
const;
177 QTextBlockFormat blockFormat()
const;
178 int blockFormatIndex()
const;
179 QTextCharFormat charFormat()
const;
180 int charFormatIndex()
const;
182 Qt::LayoutDirection textDirection()
const;
184 QString text()
const;
186 QList<QTextLayout::FormatRange> textFormats()
const;
188 const QTextDocument *document()
const;
190 QTextList *textList()
const;
192 QTextBlockUserData *userData()
const;
193 void setUserData(QTextBlockUserData *data);
195 int userState()
const;
196 void setUserState(
int state);
198 int revision()
const;
199 void setRevision(
int rev);
201 bool isVisible()
const;
202 void setVisible(
bool visible);
204 int blockNumber()
const;
205 int firstLineNumber()
const;
207 void setLineCount(
int count);
208 int lineCount()
const;
211 const QTextDocumentPrivate *p =
nullptr;
215 friend class QTextBlock;
216 iterator(
const QTextDocumentPrivate *priv,
int begin,
int end,
int f)
217 : p(priv), b(begin), e(end), n(f) {}
219 constexpr iterator() =
default;
221 Q_GUI_EXPORT QTextFragment fragment()
const;
223 bool atEnd()
const {
return n == e; }
225 inline bool operator==(
const iterator &o)
const {
return p == o.p && n == o.n; }
226 inline bool operator!=(
const iterator &o)
const {
return p != o.p || n != o.n; }
227 Q_GUI_EXPORT iterator &operator++();
228 inline iterator operator++(
int) { iterator tmp = *
this; operator++();
return tmp; }
229 Q_GUI_EXPORT iterator &operator--();
230 inline iterator operator--(
int) { iterator tmp = *
this; operator--();
return tmp; }
234 typedef iterator Iterator;
236 iterator begin()
const;
237 iterator end()
const;
239 QTextBlock next()
const;
240 QTextBlock previous()
const;
242 inline int fragmentIndex()
const {
return n; }
245 QTextDocumentPrivate *p;
247 friend class QTextDocumentPrivate;
248 friend class QTextLayout;
258 inline QTextFragment(
const QTextDocumentPrivate *priv,
int f,
int fe) : p(priv), n(f), ne(fe) {}
259 inline QTextFragment() : p(
nullptr), n(0), ne(0) {}
260 inline QTextFragment(
const QTextFragment &o) : p(o.p), n(o.n), ne(o.ne) {}
261 inline QTextFragment &operator=(
const QTextFragment &o) { p = o.p; n = o.n; ne = o.ne;
return *
this; }
263 inline bool isValid()
const {
return p && n; }
265 inline bool operator==(
const QTextFragment &o)
const {
return p == o.p && n == o.n; }
266 inline bool operator!=(
const QTextFragment &o)
const {
return p != o.p || n != o.n; }
267 inline bool operator<(
const QTextFragment &o)
const {
return position() < o.position(); }
269 int position()
const;
271 bool contains(
int position)
const;
273 QTextCharFormat charFormat()
const;
274 int charFormatIndex()
const;
275 QString text()
const;
277#if !defined(QT_NO_RAWFONT)
278 QList<QGlyphRun> glyphRuns(
int from = -1,
int length = -1)
const;
282 const QTextDocumentPrivate *p;
\reentrant \inmodule QtGui
Q_DECLARE_TYPEINFO(QTextFragment, Q_RELOCATABLE_TYPE)
Q_DECLARE_TYPEINFO(QTextBlock, Q_RELOCATABLE_TYPE)