KTextWidgets 5.109.0
krichtextwidget.h
1/*
2 This file is part of the KDE libraries
3 SPDX-FileCopyrightText: 2008 Stephen Kelly <steveire@gmail.com>
4 SPDX-FileCopyrightText: 2008 Thomas McGuire <thomas.mcguire@gmx.net>
5
6 SPDX-License-Identifier: LGPL-2.0-only
7*/
8
9#ifndef KRICHTEXTWIDGET_H
10#define KRICHTEXTWIDGET_H
11
12#include "krichtextedit.h"
13
14#include "ktextwidgets_export.h"
15
16class QAction;
17class KRichTextWidgetPrivate;
18
39class KTEXTWIDGETS_EXPORT KRichTextWidget : public KRichTextEdit
40{
41 Q_OBJECT
42 Q_PROPERTY(RichTextSupport richTextSupport READ richTextSupport WRITE setRichTextSupport)
43public:
54 DisableRichText = 0x00,
55
62 SupportBold = 0x01,
63
70 SupportItalic = 0x02,
71
78 SupportUnderline = 0x04,
79
86 SupportStrikeOut = 0x08,
87
96 SupportFontFamily = 0x10,
97
105 SupportFontSize = 0x20,
106
113 SupportTextForegroundColor = 0x40,
114
121 SupportTextBackgroundColor = 0x80,
122
127 FullTextFormattingSupport = 0xff,
128
136 SupportChangeListStyle = 0x100,
137
142 SupportIndentLists = 0x200,
143
147 SupportDedentLists = 0x400,
148
153 FullListSupport = 0xf00,
154
155 // Not implemented yet.
156 // SupportCreateTables = 0x1000,
157 // SupportChangeCellMargin = 0x2000,
158 // SupportChangeCellPadding = 0x4000,
159 // SupportChangeTableBorderWidth = 0x8000,
160 // SupportChangeTableBorderColor = 0x10000,
161 // SupportChangeTableBorderStyle = 0x20000,
162 // SupportChangeCellBackground = 0x40000,
163 // SupportCellFillPatterns = 0x80000,
164 //
165 // FullTableSupport = 0xff000,
166
172 SupportAlignment = 0x100000,
173
174 // Not yet implemented SupportImages = 0x200000,
175
179 SupportRuleLine = 0x400000,
180
186 SupportHyperlinks = 0x800000,
187
193 SupportFormatPainting = 0x1000000,
194
199 SupportToPlainText = 0x2000000,
200
207 SupportSuperScriptAndSubScript = 0x4000000,
208
209 // SupportChangeParagraphSpacing = 0x200000,
210
214 SupportDirection = 0x8000000,
215
225 SupportHeading = 0x10000000,
226
230 FullSupport = 0xffffffff,
231 };
236 Q_FLAG(RichTextSupport)
237
238
242 explicit KRichTextWidget(QWidget *parent);
243
251 explicit KRichTextWidget(const QString &text, QWidget *parent = nullptr);
252
256 ~KRichTextWidget() override;
257
303 virtual QList<QAction *> createActions();
304
315 void setRichTextSupport(const KRichTextWidget::RichTextSupport &support);
316
321 RichTextSupport richTextSupport() const;
322
331 void updateActionStates();
332
333public Q_SLOTS:
334
342 void setActionsEnabled(bool enabled);
343
344protected:
349 void mouseReleaseEvent(QMouseEvent *event) override;
350
351private:
352 //@cond PRIVATE
353 Q_DECLARE_PRIVATE_D(KTextEdit::d, KRichTextWidget)
354#if KTEXTWIDGETS_BUILD_DEPRECATED_SINCE(5, 79)
355 QT_WARNING_PUSH
356 QT_WARNING_DISABLE_CLANG("-Wunused-private-field")
357 // Unused, kept for ABI compatibility
358 const void *__ktextwidgets_d_do_not_use;
359 QT_WARNING_POP
360#endif
361 //@endcond
362};
363
364Q_DECLARE_OPERATORS_FOR_FLAGS(KRichTextWidget::RichTextSupport)
365
366#endif
The KRichTextEdit class provides a widget to edit and display rich text.
Definition krichtextedit.h:51
A KRichTextEdit with common actions.
Definition krichtextwidget.h:40
QFlags< RichTextSupportValues > RichTextSupport
Stores a combination of #RichTextSupportValues values.
Definition krichtextwidget.h:235
RichTextSupportValues
These flags describe what actions will be created by createActions() after passing a combination of t...
Definition krichtextwidget.h:49
A KDE'ified QTextEdit.
Definition ktextedit.h:46