summaryrefslogtreecommitdiffstats
path: root/tests/manual/examples/widgets/richtext/textedit/textedit.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/examples/widgets/richtext/textedit/textedit.h')
-rw-r--r--tests/manual/examples/widgets/richtext/textedit/textedit.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/tests/manual/examples/widgets/richtext/textedit/textedit.h b/tests/manual/examples/widgets/richtext/textedit/textedit.h
new file mode 100644
index 0000000000..f0f4abb827
--- /dev/null
+++ b/tests/manual/examples/widgets/richtext/textedit/textedit.h
@@ -0,0 +1,110 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef TEXTEDIT_H
+#define TEXTEDIT_H
+
+#include <QMainWindow>
+
+QT_BEGIN_NAMESPACE
+class QAction;
+class QComboBox;
+class QFontComboBox;
+class QTextEdit;
+class QTextCharFormat;
+class QMenu;
+class QPrinter;
+QT_END_NAMESPACE
+
+class TextEdit : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ TextEdit(QWidget *parent = nullptr);
+
+ bool load(const QString &f);
+
+public slots:
+ void fileNew();
+
+protected:
+ void closeEvent(QCloseEvent *e) override;
+
+private:
+ enum class SaveContinuation { None, Close, Clear };
+
+private slots:
+ void fileOpen();
+ void filePrint();
+ void filePrintPreview();
+ void filePrintPdf();
+
+ void textBold();
+ void textUnderline();
+ void textItalic();
+ void textFamily(const QString &f);
+ void textSize(const QString &p);
+ void textStyle(int styleIndex);
+ void textColor();
+ void underlineColor();
+ void textAlign(QAction *a);
+ void setChecked(bool checked);
+ void indent();
+ void unindent();
+
+ void currentCharFormatChanged(const QTextCharFormat &format);
+ void cursorPositionChanged();
+
+ void clipboardDataChanged();
+ void about();
+
+private:
+ void setupFileActions();
+ void setupEditActions();
+ void setupTextActions();
+ void maybeSave(SaveContinuation saveContinuation);
+ void setCurrentFileName(const QString &fileName);
+ void modifyIndentation(int amount);
+
+ void mergeFormatOnWordOrSelection(const QTextCharFormat &format);
+ void fontChanged(const QFont &f);
+ void colorChanged(const QColor &c);
+ void alignmentChanged(Qt::Alignment a);
+
+ void fileSave(SaveContinuation continuation);
+ void fileSaveAs(SaveContinuation continuation);
+ void fileSaveComplete(SaveContinuation continuation);
+
+ QAction *actionSave;
+ QAction *actionTextBold;
+ QAction *actionTextUnderline;
+ QAction *actionTextItalic;
+ QAction *actionTextColor;
+ QAction *actionUnderlineColor;
+ QAction *actionAlignLeft;
+ QAction *actionAlignCenter;
+ QAction *actionAlignRight;
+ QAction *actionAlignJustify;
+ QAction *actionIndentLess;
+ QAction *actionIndentMore;
+ QAction *actionToggleCheckState;
+ QAction *actionUndo;
+ QAction *actionRedo;
+#ifndef QT_NO_CLIPBOARD
+ QAction *actionCut;
+ QAction *actionCopy;
+ QAction *actionPaste;
+#endif
+
+ QComboBox *comboStyle;
+ QFontComboBox *comboFont;
+ QComboBox *comboSize;
+
+ QString fileName;
+ QTextEdit *textEdit;
+
+ bool closeAccepted = false;
+};
+
+#endif // TEXTEDIT_H