226 @param event reference to the mouse event (QMouseEvent) |
226 @param event reference to the mouse event (QMouseEvent) |
227 """ |
227 """ |
228 if event.button() == Qt.MouseButton.LeftButton and self._master: |
228 if event.button() == Qt.MouseButton.LeftButton and self._master: |
229 vsb = self._master.verticalScrollBar() |
229 vsb = self._master.verticalScrollBar() |
230 value = self.position2Value(event.pos().y() - 1) |
230 value = self.position2Value(event.pos().y() - 1) |
231 vsb.setValue(value - 0.5 * vsb.pageStep()) # center on page |
231 vsb.setValue(int(value - 0.5 * vsb.pageStep())) # center on page |
232 self.__mousePressPos = None |
232 self.__mousePressPos = None |
233 |
233 |
234 def mouseMoveEvent(self, event): |
234 def mouseMoveEvent(self, event): |
235 """ |
235 """ |
236 Protected method to handle a mouse moves. |
236 Protected method to handle a mouse moves. |
238 @param event reference to the mouse event (QMouseEvent) |
238 @param event reference to the mouse event (QMouseEvent) |
239 """ |
239 """ |
240 if event.buttons() & Qt.MouseButton.LeftButton and self._master: |
240 if event.buttons() & Qt.MouseButton.LeftButton and self._master: |
241 vsb = self._master.verticalScrollBar() |
241 vsb = self._master.verticalScrollBar() |
242 value = self.position2Value(event.pos().y() - 1) |
242 value = self.position2Value(event.pos().y() - 1) |
243 vsb.setValue(value - 0.5 * vsb.pageStep()) # center on page |
243 vsb.setValue(int(value - 0.5 * vsb.pageStep())) # center on page |
244 |
244 |
245 def wheelEvent(self, event): |
245 def wheelEvent(self, event): |
246 """ |
246 """ |
247 Protected slot handling mouse wheel events. |
247 Protected slot handling mouse wheel events. |
248 |
248 |
306 @return position (integer) |
306 @return position (integer) |
307 """ |
307 """ |
308 if self._master: |
308 if self._master: |
309 offset = 0 if slider else 1 |
309 offset = 0 if slider else 1 |
310 vsb = self._master.verticalScrollBar() |
310 vsb = self._master.verticalScrollBar() |
311 return (value - vsb.minimum()) * self.scaleFactor(slider) + offset |
311 return int((value - vsb.minimum()) * self.scaleFactor(slider) + |
|
312 offset) |
312 else: |
313 else: |
313 return value |
314 return value |
314 |
315 |
315 def position2Value(self, position, slider=False): |
316 def position2Value(self, position, slider=False): |
316 """ |
317 """ |