Mercurial > hg > easyhg
comparison panned.cpp @ 53:3c46b2ac45d3
* Put proper labels &c in changeset items; colour branches and users; etc
author | Chris Cannam |
---|---|
date | Fri, 12 Nov 2010 16:48:18 +0000 |
parents | bd3accba9b3f |
children | 1394c8cbf991 |
comparison
equal
deleted
inserted
replaced
52:384420567575 | 53:3c46b2ac45d3 |
---|---|
17 | 17 |
18 #include "panned.h" | 18 #include "panned.h" |
19 | 19 |
20 #include <QScrollBar> | 20 #include <QScrollBar> |
21 #include <QGLWidget> | 21 #include <QGLWidget> |
22 #include <QWheelEvent> | |
22 | 23 |
23 #include <iostream> | 24 #include <iostream> |
24 | 25 |
25 Panned::Panned() | 26 Panned::Panned() |
26 { | 27 { |
64 emit pannedRectChanged(pr); | 65 emit pannedRectChanged(pr); |
65 } | 66 } |
66 } | 67 } |
67 | 68 |
68 void | 69 void |
70 Panned::zoomIn() | |
71 { | |
72 QMatrix m = matrix(); | |
73 m.scale(1.0 / 1.1, 1.0 / 1.1); | |
74 setMatrix(m); | |
75 } | |
76 | |
77 void | |
78 Panned::zoomOut() | |
79 { | |
80 QMatrix m = matrix(); | |
81 m.scale(1.1, 1.1); | |
82 setMatrix(m); | |
83 } | |
84 | |
85 void | |
69 Panned::slotSetPannedRect(QRectF pr) | 86 Panned::slotSetPannedRect(QRectF pr) |
70 { | 87 { |
71 centerOn(pr.center()); | 88 centerOn(pr.center()); |
72 // setSceneRect(pr); | 89 // setSceneRect(pr); |
73 // m_pannedRect = pr; | 90 // m_pannedRect = pr; |
74 } | 91 } |
75 | 92 |
76 void | 93 void |
77 Panned::wheelEvent(QWheelEvent *ev) | 94 Panned::wheelEvent(QWheelEvent *ev) |
78 { | 95 { |
79 emit wheelEventReceived(ev); | 96 if (ev->modifiers() & Qt::ControlModifier) { |
80 QGraphicsView::wheelEvent(ev); | 97 int d = ev->delta(); |
98 if (d > 0) { | |
99 while (d > 0) { | |
100 zoomOut(); | |
101 d -= 120; | |
102 } | |
103 } else { | |
104 while (d < 0) { | |
105 zoomIn(); | |
106 d += 120; | |
107 } | |
108 } | |
109 } else { | |
110 emit wheelEventReceived(ev); | |
111 QGraphicsView::wheelEvent(ev); | |
112 } | |
81 } | 113 } |
82 | 114 |
83 void | 115 void |
84 Panned::slotEmulateWheelEvent(QWheelEvent *ev) | 116 Panned::slotEmulateWheelEvent(QWheelEvent *ev) |
85 { | 117 { |