diff options
Diffstat (limited to 'tests/manual/examples/widgets/mainwindows/mdi/mainwindow.h')
-rw-r--r-- | tests/manual/examples/widgets/mainwindows/mdi/mainwindow.h | 87 |
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 |