eric6/E5Gui/E5MapWidget.py

changeset 8143
2c730d5fd177
parent 7923
91e843545d9a
child 8218
7c09585bd960
equal deleted inserted replaced
8141:27f636beebad 8143:2c730d5fd177
21 Constructor 21 Constructor
22 22
23 @param parent reference to the parent widget (QWidget) 23 @param parent reference to the parent widget (QWidget)
24 """ 24 """
25 super(E5MapWidget, self).__init__(parent) 25 super(E5MapWidget, self).__init__(parent)
26 self.setAttribute(Qt.WA_OpaquePaintEvent) 26 self.setAttribute(Qt.WidgetAttribute.WA_OpaquePaintEvent)
27 27
28 self.__width = 14 28 self.__width = 14
29 self.__lineBorder = 1 29 self.__lineBorder = 1
30 self.__lineHeight = 2 30 self.__lineHeight = 2
31 self.__backgroundColor = QColor("#e7e7e7") 31 self.__backgroundColor = QColor("#e7e7e7")
43 Private method to set the slider color depending upon the background 43 Private method to set the slider color depending upon the background
44 color. 44 color.
45 """ 45 """
46 if self.__backgroundColor.toHsv().value() < 128: 46 if self.__backgroundColor.toHsv().value() < 128:
47 # dark background, use white slider 47 # dark background, use white slider
48 self.__sliderColor = Qt.white 48 self.__sliderColor = Qt.GlobalColor.white
49 else: 49 else:
50 # light background, use black slider 50 # light background, use black slider
51 self.__sliderColor = Qt.black 51 self.__sliderColor = Qt.GlobalColor.black
52 52
53 def __updateMasterViewportWidth(self): 53 def __updateMasterViewportWidth(self):
54 """ 54 """
55 Private method to update the master's viewport width. 55 Private method to update the master's viewport width.
56 """ 56 """
69 Public method to set the map master widget. 69 Public method to set the map master widget.
70 70
71 @param master map master widget (QAbstractScrollArea) 71 @param master map master widget (QAbstractScrollArea)
72 """ 72 """
73 self._master = master 73 self._master = master
74 self._master.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) 74 self._master.setVerticalScrollBarPolicy(
75 Qt.ScrollBarPolicy.ScrollBarAlwaysOn)
75 self._master.verticalScrollBar().valueChanged.connect(self.update) 76 self._master.verticalScrollBar().valueChanged.connect(self.update)
76 self._master.verticalScrollBar().rangeChanged.connect(self.update) 77 self._master.verticalScrollBar().rangeChanged.connect(self.update)
77 self.__updateMasterViewportWidth() 78 self.__updateMasterViewportWidth()
78 79
79 def setWidth(self, width): 80 def setWidth(self, width):
201 202
202 # step 3: paint the slider 203 # step 3: paint the slider
203 if self._master: 204 if self._master:
204 penColor = self.__sliderColor 205 penColor = self.__sliderColor
205 painter.setPen(penColor) 206 painter.setPen(penColor)
206 brushColor = Qt.transparent 207 brushColor = Qt.GlobalColor.transparent
207 painter.setBrush(QBrush(brushColor)) 208 painter.setBrush(QBrush(brushColor))
208 painter.drawRect(self.__generateSliderRange( 209 painter.drawRect(self.__generateSliderRange(
209 self._master.verticalScrollBar())) 210 self._master.verticalScrollBar()))
210 211
211 def _paintIt(self, painter): 212 def _paintIt(self, painter):
222 """ 223 """
223 Protected method to handle a mouse button press. 224 Protected method to handle a mouse button press.
224 225
225 @param event reference to the mouse event (QMouseEvent) 226 @param event reference to the mouse event (QMouseEvent)
226 """ 227 """
227 if event.button() == Qt.LeftButton and self._master: 228 if event.button() == Qt.MouseButton.LeftButton and self._master:
228 vsb = self._master.verticalScrollBar() 229 vsb = self._master.verticalScrollBar()
229 value = self.position2Value(event.pos().y() - 1) 230 value = self.position2Value(event.pos().y() - 1)
230 vsb.setValue(value - 0.5 * vsb.pageStep()) # center on page 231 vsb.setValue(value - 0.5 * vsb.pageStep()) # center on page
231 self.__mousePressPos = None 232 self.__mousePressPos = None
232 233
234 """ 235 """
235 Protected method to handle a mouse moves. 236 Protected method to handle a mouse moves.
236 237
237 @param event reference to the mouse event (QMouseEvent) 238 @param event reference to the mouse event (QMouseEvent)
238 """ 239 """
239 if event.buttons() & Qt.LeftButton and self._master: 240 if event.buttons() & Qt.MouseButton.LeftButton and self._master:
240 vsb = self._master.verticalScrollBar() 241 vsb = self._master.verticalScrollBar()
241 value = self.position2Value(event.pos().y() - 1) 242 value = self.position2Value(event.pos().y() - 1)
242 vsb.setValue(value - 0.5 * vsb.pageStep()) # center on page 243 vsb.setValue(value - 0.5 * vsb.pageStep()) # center on page
243 244
244 def wheelEvent(self, event): 245 def wheelEvent(self, event):
248 @param event reference to the wheel event (QWheelEvent) 249 @param event reference to the wheel event (QWheelEvent)
249 """ 250 """
250 isVertical = event.angleDelta().x() == 0 251 isVertical = event.angleDelta().x() == 0
251 if ( 252 if (
252 self._master and 253 self._master and
253 event.modifiers() == Qt.NoModifier and 254 event.modifiers() == Qt.KeyboardModifier.NoModifier and
254 isVertical 255 isVertical
255 ): 256 ):
256 QCoreApplication.sendEvent(self._master.verticalScrollBar(), event) 257 QCoreApplication.sendEvent(self._master.verticalScrollBar(), event)
257 258
258 def calculateGeometry(self): 259 def calculateGeometry(self):

eric ide

mercurial