summaryrefslogtreecommitdiffstats
path: root/tests/manual/examples/widgets/widgets/imageviewer/imageviewer.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/examples/widgets/widgets/imageviewer/imageviewer.h')
-rw-r--r--tests/manual/examples/widgets/widgets/imageviewer/imageviewer.h74
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