Graphics/SvgDiagram.py

changeset 1518
e6e21910210d
parent 1509
c0b5e693b0eb
child 1588
dccffd13be8d
equal deleted inserted replaced
1516:7c0b621e537d 1518:e6e21910210d
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
59 self.svgWidget.resize(self.svgWidget.renderer().defaultSize()) 59 self.svgWidget.resize(self.svgWidget.renderer().defaultSize())
60 60
61 self.__initActions() 61 self.__initActions()
62 self.__initContextMenu() 62 self.__initContextMenu()
63 self.__initToolBars() 63 self.__initToolBars()
64
65 self.grabGesture(Qt.PinchGesture)
64 66
65 def __initActions(self): 67 def __initActions(self):
66 """ 68 """
67 Private method to initialize the view actions. 69 Private method to initialize the view actions.
68 """ 70 """
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

eric ide

mercurial