summaryrefslogtreecommitdiff
path: root/examples/demos/documentviewer/plugins/txtviewer/txtviewer.h
diff options
context:
space:
mode:
Diffstat (limited to 'examples/demos/documentviewer/plugins/txtviewer/txtviewer.h')
-rw-r--r--examples/demos/documentviewer/plugins/txtviewer/txtviewer.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/examples/demos/documentviewer/plugins/txtviewer/txtviewer.h b/examples/demos/documentviewer/plugins/txtviewer/txtviewer.h
new file mode 100644
index 00000000..7206d451
--- /dev/null
+++ b/examples/demos/documentviewer/plugins/txtviewer/txtviewer.h
@@ -0,0 +1,48 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef TXTVIEWER_H
+#define TXTVIEWER_H
+
+#include "viewerinterfaces.h"
+#include "abstractviewer.h"
+#include <QPointer>
+
+class QMainWindow;
+class QPlainTextEdit;
+class QLabel;
+class TxtViewer : public ViewerInterface
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.Examples.DocumentViewer.ViewerInterface" FILE "txtviewer.json")
+ Q_INTERFACES(ViewerInterface)
+public:
+ ~TxtViewer() override;
+ void init(QFile *file, QWidget *parent, QMainWindow *mainWindow) override;
+ QString viewerName() const override { return staticMetaObject.className(); };
+ QStringList supportedMimeTypes() const override;
+ bool saveDocument() override { return saveFile(m_file.get()); };
+ bool saveDocumentAs() override;
+ bool hasContent() const override;
+ QByteArray saveState() const override { return QByteArray(); }
+ bool restoreState(QByteArray &) override { return true; }
+ bool supportsOverview() const override { return false; }
+
+#ifdef QT_DOCUMENTVIEWER_PRINTSUPPORT
+protected:
+ void printDocument(QPrinter *printer) const override;
+#endif // QT_DOCUMENTVIEWER_PRINTSUPPORT
+
+private slots:
+ void setupTxtUi();
+ void documentWasModified();
+
+private:
+ void openFile();
+ bool saveFile (QFile *file);
+
+ int m_classId;
+ QPlainTextEdit *m_textEdit;
+};
+
+#endif //TXTVIEWER_H