summaryrefslogtreecommitdiffstats
path: root/tests/manual/examples/widgets/mainwindows/mdi/mainwindow.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/examples/widgets/mainwindows/mdi/mainwindow.h')
-rw-r--r--tests/manual/examples/widgets/mainwindows/mdi/mainwindow.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/tests/manual/examples/widgets/mainwindows/mdi/mainwindow.h b/tests/manual/examples/widgets/mainwindows/mdi/mainwindow.h
new file mode 100644
index 0000000000..c8b720e216
--- /dev/null
+++ b/tests/manual/examples/widgets/mainwindows/mdi/mainwindow.h
@@ -0,0 +1,87 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+
+class MdiChild;
+QT_BEGIN_NAMESPACE
+class QAction;
+class QMenu;
+class QMdiArea;
+class QMdiSubWindow;
+class QTextDocument;
+QT_END_NAMESPACE
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ MainWindow();
+
+ bool openFile(const QString &fileName);
+
+protected:
+ void closeEvent(QCloseEvent *event) override;
+
+private slots:
+ void newFile();
+ void open();
+ void save();
+ void saveAs();
+ void updateRecentFileActions();
+ void openRecentFile();
+#ifndef QT_NO_CLIPBOARD
+ void cut();
+ void copy();
+ void paste();
+#endif
+ void about();
+ void updateMenus();
+ void updateWindowMenu();
+ MdiChild *createMdiChild(MdiChild *other = nullptr);
+ void switchLayoutDirection();
+ void newSubWindow();
+
+private:
+ enum { MaxRecentFiles = 5 };
+
+ void createActions();
+ void createStatusBar();
+ void readSettings();
+ void writeSettings();
+ bool loadFile(const QString &fileName);
+ static bool hasRecentFiles();
+ void prependToRecentFiles(const QString &fileName);
+ void setRecentFilesVisible(bool visible);
+ MdiChild *activeMdiChild() const;
+ QMdiSubWindow *findMdiChild(const QString &fileName) const;
+
+ QMdiArea *mdiArea;
+
+ QMenu *windowMenu;
+ QAction *newAct;
+ QAction *saveAct;
+ QAction *saveAsAct;
+ QAction *recentFileActs[MaxRecentFiles];
+ QAction *recentFileSeparator;
+ QAction *recentFileSubMenuAct;
+#ifndef QT_NO_CLIPBOARD
+ QAction *cutAct;
+ QAction *copyAct;
+ QAction *pasteAct;
+#endif
+ QAction *newWindowAct;
+ QAction *closeAct;
+ QAction *closeAllAct;
+ QAction *tileAct;
+ QAction *cascadeAct;
+ QAction *nextAct;
+ QAction *previousAct;
+ QAction *windowMenuSeparatorAct;
+};
+
+#endif