-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathview.h_
More file actions
70 lines (56 loc) · 1.38 KB
/
view.h_
File metadata and controls
70 lines (56 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#ifndef VIEW_H
#define VIEW_H
#include <QFrame>
#include <QGraphicsView>
QT_BEGIN_NAMESPACE
struct QLabel;
struct QSlider;
struct QToolButton;
QT_END_NAMESPACE
struct View;
struct GraphicsView : public QGraphicsView {
Q_OBJECT
public:
GraphicsView(View* v)
: QGraphicsView()
, view(v) { }
#if QT_CONFIG(wheelevent)
void wheelEvent(QWheelEvent*) override;
#endif
private:
View* view;
};
struct View : public QFrame {
Q_OBJECT
public:
explicit View(const QString& name, QWidget* parent = nullptr);
QGraphicsView* view() const;
public slots:
void zoomIn();
void zoomOut();
void zoomInBy(int level);
void zoomOutBy(int level);
private slots:
void resetView();
void setResetButtonEnabled();
void setupMatrix();
void togglePointerMode();
void toggleAntialiasing();
void print();
void rotateLeft();
void rotateRight();
private:
GraphicsView* graphicsView;
QLabel* label;
QLabel* label2;
QToolButton* selectModeButton;
QToolButton* dragModeButton;
QToolButton* antialiasButton;
QToolButton* printButton;
QToolButton* resetButton;
QSlider* zoomSlider;
QSlider* rotateSlider;
};
#endif // VIEW_H