5 |
5 |
6 """ |
6 """ |
7 Module implementing a dialog showing a SVG graphic. |
7 Module implementing a dialog showing a SVG graphic. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt4.QtCore import Qt, QSize |
10 from PyQt4.QtCore import Qt, QSize, QEvent |
11 from PyQt4.QtGui import QMainWindow, QPalette, QSizePolicy, QScrollArea, QAction, QMenu, \ |
11 from PyQt4.QtGui import QMainWindow, QPalette, QSizePolicy, QScrollArea, QAction, QMenu, \ |
12 QToolBar, QDialog, QPrinter, QPrintDialog, QPainter, QFont, QColor |
12 QToolBar, QDialog, QPrinter, QPrintDialog, QPainter, QFont, QColor |
13 from PyQt4.QtSvg import QSvgWidget |
13 from PyQt4.QtSvg import QSvgWidget |
14 |
14 |
15 from .ZoomDialog import ZoomDialog |
15 from .ZoomDialog import ZoomDialog |
169 self.__zoomIn() |
171 self.__zoomIn() |
170 evt.accept() |
172 evt.accept() |
171 return |
173 return |
172 |
174 |
173 super().wheelEvent(evt) |
175 super().wheelEvent(evt) |
|
176 |
|
177 def event(self, evt): |
|
178 """ |
|
179 Protected method handling events. |
|
180 |
|
181 @param evt reference to the event (QEvent) |
|
182 @return flag indicating, if the event was handled (boolean) |
|
183 """ |
|
184 if evt.type() == QEvent.Gesture: |
|
185 self.gestureEvent(evt) |
|
186 return True |
|
187 |
|
188 return super().event(evt) |
|
189 |
|
190 def gestureEvent(self, evt): |
|
191 """ |
|
192 Protected method handling gesture events. |
|
193 |
|
194 @param evt reference to the gesture event (QGestureEvent |
|
195 """ |
|
196 pinch = evt.gesture(Qt.PinchGesture) |
|
197 if pinch: |
|
198 if pinch.state() == Qt.GestureStarted: |
|
199 pinch.setScaleFactor(self.zoom) |
|
200 else: |
|
201 self.__doZoom(pinch.scaleFactor() / self.zoom) |
|
202 evt.accept() |
174 |
203 |
175 ############################################################################ |
204 ############################################################################ |
176 ## Private menu handling methods below. |
205 ## Private menu handling methods below. |
177 ############################################################################ |
206 ############################################################################ |
178 |
207 |