diff options
Diffstat (limited to 'tests/manual/examples/widgets/widgets/imageviewer/imageviewer.h')
-rw-r--r-- | tests/manual/examples/widgets/widgets/imageviewer/imageviewer.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/manual/examples/widgets/widgets/imageviewer/imageviewer.h b/tests/manual/examples/widgets/widgets/imageviewer/imageviewer.h new file mode 100644 index 0000000000..e9e6858c74 --- /dev/null +++ b/tests/manual/examples/widgets/widgets/imageviewer/imageviewer.h @@ -0,0 +1,74 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef IMAGEVIEWER_H +#define IMAGEVIEWER_H + +#include <QMainWindow> +#include <QImage> +#if defined(QT_PRINTSUPPORT_LIB) +# include <QtPrintSupport/qtprintsupportglobal.h> + +# if QT_CONFIG(printer) +# include <QPrinter> +# endif +#endif + +QT_BEGIN_NAMESPACE +class QAction; +class QLabel; +class QMenu; +class QScrollArea; +class QScrollBar; +QT_END_NAMESPACE + +//! [0] +class ImageViewer : public QMainWindow +{ + Q_OBJECT + +public: + ImageViewer(QWidget *parent = nullptr); + bool loadFile(const QString &); + +private slots: + void open(); + void saveAs(); + void print(); + void copy(); + void paste(); + void zoomIn(); + void zoomOut(); + void normalSize(); + void fitToWindow(); + void about(); + +private: + void createActions(); + void createMenus(); + void updateActions(); + bool saveFile(const QString &fileName); + void setImage(const QImage &newImage); + void scaleImage(double factor); + void adjustScrollBar(QScrollBar *scrollBar, double factor); + + QImage image; + QLabel *imageLabel; + QScrollArea *scrollArea; + double scaleFactor = 1; + +#if defined(QT_PRINTSUPPORT_LIB) && QT_CONFIG(printer) + QPrinter printer; +#endif + + QAction *saveAsAct; + QAction *printAct; + QAction *copyAct; + QAction *zoomInAct; + QAction *zoomOutAct; + QAction *normalSizeAct; + QAction *fitToWindowAct; +}; +//! [0] + +#endif |