59 Q_PROPERTY(
bool undoRedoEnabled READ isUndoRedoEnabled WRITE setUndoRedoEnabled)
60 Q_PROPERTY(
bool modified READ isModified WRITE setModified DESIGNABLE
false)
61 Q_PROPERTY(QSizeF pageSize READ pageSize WRITE setPageSize)
62 Q_PROPERTY(QFont defaultFont READ defaultFont WRITE setDefaultFont)
63 Q_PROPERTY(
bool useDesignMetrics READ useDesignMetrics WRITE setUseDesignMetrics)
64 Q_PROPERTY(
bool layoutEnabled READ isLayoutEnabled WRITE setLayoutEnabled)
65 Q_PROPERTY(QSizeF size READ size)
66 Q_PROPERTY(qreal textWidth READ textWidth WRITE setTextWidth)
67 Q_PROPERTY(
int blockCount READ blockCount)
68 Q_PROPERTY(qreal indentWidth READ indentWidth WRITE setIndentWidth)
69#ifndef QT_NO_CSSPARSER
70 Q_PROPERTY(QString defaultStyleSheet READ defaultStyleSheet WRITE setDefaultStyleSheet)
72 Q_PROPERTY(
int maximumBlockCount READ maximumBlockCount WRITE setMaximumBlockCount)
73 Q_PROPERTY(qreal documentMargin READ documentMargin WRITE setDocumentMargin)
74 QDOC_PROPERTY(QTextOption defaultTextOption READ defaultTextOption WRITE setDefaultTextOption)
75 Q_PROPERTY(QUrl baseUrl READ baseUrl WRITE setBaseUrl NOTIFY baseUrlChanged)
78 explicit QTextDocument(QObject *parent =
nullptr);
79 explicit QTextDocument(
const QString &text, QObject *parent =
nullptr);
82 QTextDocument *clone(QObject *parent =
nullptr)
const;
87 void setUndoRedoEnabled(
bool enable);
88 bool isUndoRedoEnabled()
const;
90 bool isUndoAvailable()
const;
91 bool isRedoAvailable()
const;
93 int availableUndoSteps()
const;
94 int availableRedoSteps()
const;
98 void setDocumentLayout(QAbstractTextDocumentLayout *layout);
99 QAbstractTextDocumentLayout *documentLayout()
const;
101 enum MetaInformation {
107 void setMetaInformation(MetaInformation info,
const QString &);
108 QString metaInformation(MetaInformation info)
const;
110#ifndef QT_NO_TEXTHTMLPARSER
111 QString toHtml()
const;
112 void setHtml(
const QString &html);
115#if QT_CONFIG(textmarkdownwriter) || QT_CONFIG(textmarkdownreader)
116 enum MarkdownFeature {
117 MarkdownNoHTML = 0x0020 | 0x0040,
118 MarkdownDialectCommonMark = 0,
119 MarkdownDialectGitHub = 0x0004 | 0x0008 | 0x0400 | 0x0100 | 0x0200 | 0x0800 | 0x4000 | 0x100000
121 Q_DECLARE_FLAGS(MarkdownFeatures, MarkdownFeature)
122 Q_FLAG(MarkdownFeatures)
125#if QT_CONFIG(textmarkdownwriter)
126 QString toMarkdown(MarkdownFeatures features = MarkdownDialectGitHub)
const;
129#if QT_CONFIG(textmarkdownreader)
130 void setMarkdown(
const QString &markdown, MarkdownFeatures features = MarkdownDialectGitHub);
133 QString toRawText()
const;
134 QString toPlainText()
const;
135 void setPlainText(
const QString &text);
137 QChar characterAt(
int pos)
const;
141 FindBackward = 0x00001,
142 FindCaseSensitively = 0x00002,
143 FindWholeWords = 0x00004
145 Q_DECLARE_FLAGS(FindFlags, FindFlag)
147 QTextCursor find(
const QString &subString,
int from = 0, FindFlags options = FindFlags())
const;
148 QTextCursor find(
const QString &subString,
const QTextCursor &cursor, FindFlags options = FindFlags())
const;
150#if QT_CONFIG(regularexpression)
151 QTextCursor find(
const QRegularExpression &expr,
int from = 0, FindFlags options = FindFlags())
const;
152 QTextCursor find(
const QRegularExpression &expr,
const QTextCursor &cursor, FindFlags options = FindFlags())
const;
155 QTextFrame *frameAt(
int pos)
const;
156 QTextFrame *rootFrame()
const;
158 QTextObject *object(
int objectIndex)
const;
159 QTextObject *objectForFormat(
const QTextFormat &)
const;
161 QTextBlock findBlock(
int pos)
const;
162 QTextBlock findBlockByNumber(
int blockNumber)
const;
163 QTextBlock findBlockByLineNumber(
int blockNumber)
const;
164 QTextBlock begin()
const;
165 QTextBlock end()
const;
167 QTextBlock firstBlock()
const;
168 QTextBlock lastBlock()
const;
170 void setPageSize(
const QSizeF &size);
171 QSizeF pageSize()
const;
173 void setDefaultFont(
const QFont &font);
174 QFont defaultFont()
const;
176 void setSuperScriptBaseline(qreal baseline);
177 qreal superScriptBaseline()
const;
179 void setSubScriptBaseline(qreal baseline);
180 qreal subScriptBaseline()
const;
182 void setBaselineOffset(qreal baseline);
183 qreal baselineOffset()
const;
185 int pageCount()
const;
187 bool isModified()
const;
190 void print(QPagedPaintDevice *printer)
const;
197 StyleSheetResource = 3,
198 MarkdownResource = 4,
204 QVariant resource(
int type,
const QUrl &name)
const;
205 void addResource(
int type,
const QUrl &name,
const QVariant &resource);
207 using ResourceProvider = std::function<QVariant(
const QUrl&)>;
209 QTextDocument::ResourceProvider resourceProvider()
const;
210 void setResourceProvider(
const ResourceProvider &provider);
212 static QTextDocument::ResourceProvider defaultResourceProvider();
213 static void setDefaultResourceProvider(
const ResourceProvider &provider);
215 QList<QTextFormat> allFormats()
const;
217 void markContentsDirty(
int from,
int length);
219 void setUseDesignMetrics(
bool b);
220 bool useDesignMetrics()
const;
222 void setLayoutEnabled(
bool b);
223 bool isLayoutEnabled()
const;
225 void drawContents(QPainter *painter,
const QRectF &rect = QRectF());
227 void setTextWidth(qreal width);
228 qreal textWidth()
const;
230 qreal idealWidth()
const;
232 qreal indentWidth()
const;
233 void setIndentWidth(qreal width);
235 qreal documentMargin()
const;
236 void setDocumentMargin(qreal margin);
241 int blockCount()
const;
242 int lineCount()
const;
243 int characterCount()
const;
245#ifndef QT_NO_CSSPARSER
246 void setDefaultStyleSheet(
const QString &sheet);
247 QString defaultStyleSheet()
const;
250 void undo(QTextCursor *cursor);
251 void redo(QTextCursor *cursor);
256 UndoAndRedoStacks = UndoStack | RedoStack
258 void clearUndoRedoStacks(Stacks historyToClear = UndoAndRedoStacks);
260 int maximumBlockCount()
const;
261 void setMaximumBlockCount(
int maximum);
263 QTextOption defaultTextOption()
const;
264 void setDefaultTextOption(
const QTextOption &option);
266 QUrl baseUrl()
const;
267 void setBaseUrl(
const QUrl &url);
269 Qt::CursorMoveStyle defaultCursorMoveStyle()
const;
270 void setDefaultCursorMoveStyle(Qt::CursorMoveStyle style);
273 void contentsChange(
int from,
int charsRemoved,
int charsAdded);
274 void contentsChanged();
275 void undoAvailable(
bool);
276 void redoAvailable(
bool);
277 void undoCommandAdded();
278 void modificationChanged(
bool m);
279 void cursorPositionChanged(
const QTextCursor &cursor);
280 void blockCountChanged(
int newBlockCount);
281 void baseUrlChanged(
const QUrl &url);
282 void documentLayoutChanged();
287 void appendUndoItem(QAbstractUndoItem *);
288 void setModified(
bool m =
true);
291 virtual QTextObject *createObject(
const QTextFormat &f);
292 Q_INVOKABLE
virtual QVariant loadResource(
int type,
const QUrl &name);
294 QTextDocument(QTextDocumentPrivate &dd, QObject *parent);
296 Q_DISABLE_COPY(QTextDocument)
297 Q_DECLARE_PRIVATE(QTextDocument)
298 friend class QTextObjectPrivate;