Uncomment ViewBox.itemChange
This handles calls for ViewBox.prepareForPaint
This commit is contained in:
parent
cdb427ff2f
commit
d5990bf32c
@ -279,20 +279,17 @@ class ViewBox(GraphicsWidget):
|
|||||||
def implements(self, interface):
|
def implements(self, interface):
|
||||||
return interface == 'ViewBox'
|
return interface == 'ViewBox'
|
||||||
|
|
||||||
# removed due to https://bugreports.qt-project.org/browse/PYSIDE-86
|
def itemChange(self, change, value):
|
||||||
#def itemChange(self, change, value):
|
ret = super().itemChange(change, value)
|
||||||
## Note: Calling QWidget.itemChange causes segv in python 3 + PyQt
|
if change == self.GraphicsItemChange.ItemSceneChange:
|
||||||
##ret = QtGui.QGraphicsItem.itemChange(self, change, value)
|
scene = self.scene()
|
||||||
#ret = GraphicsWidget.itemChange(self, change, value)
|
if scene is not None and hasattr(scene, 'sigPrepareForPaint'):
|
||||||
#if change == self.ItemSceneChange:
|
scene.sigPrepareForPaint.disconnect(self.prepareForPaint)
|
||||||
#scene = self.scene()
|
elif change == self.GraphicsItemChange.ItemSceneHasChanged:
|
||||||
#if scene is not None and hasattr(scene, 'sigPrepareForPaint'):
|
scene = self.scene()
|
||||||
#scene.sigPrepareForPaint.disconnect(self.prepareForPaint)
|
if scene is not None and hasattr(scene, 'sigPrepareForPaint'):
|
||||||
#elif change == self.ItemSceneHasChanged:
|
scene.sigPrepareForPaint.connect(self.prepareForPaint)
|
||||||
#scene = self.scene()
|
return ret
|
||||||
#if scene is not None and hasattr(scene, 'sigPrepareForPaint'):
|
|
||||||
#scene.sigPrepareForPaint.connect(self.prepareForPaint)
|
|
||||||
#return ret
|
|
||||||
|
|
||||||
def prepareForPaint(self):
|
def prepareForPaint(self):
|
||||||
#autoRangeEnabled = (self.state['autoRange'][0] is not False) or (self.state['autoRange'][1] is not False)
|
#autoRangeEnabled = (self.state['autoRange'][0] is not False) or (self.state['autoRange'][1] is not False)
|
||||||
@ -426,7 +423,6 @@ class ViewBox(GraphicsWidget):
|
|||||||
if scene is not None:
|
if scene is not None:
|
||||||
scene.removeItem(item)
|
scene.removeItem(item)
|
||||||
item.setParentItem(None)
|
item.setParentItem(None)
|
||||||
|
|
||||||
self.updateAutoRange()
|
self.updateAutoRange()
|
||||||
|
|
||||||
def clear(self):
|
def clear(self):
|
||||||
@ -453,7 +449,6 @@ class ViewBox(GraphicsWidget):
|
|||||||
self.sigStateChanged.emit(self)
|
self.sigStateChanged.emit(self)
|
||||||
self.sigResized.emit(self)
|
self.sigResized.emit(self)
|
||||||
|
|
||||||
|
|
||||||
def viewRange(self):
|
def viewRange(self):
|
||||||
"""Return a the view's visible range as a list: [[xmin, xmax], [ymin, ymax]]"""
|
"""Return a the view's visible range as a list: [[xmin, xmax], [ymin, ymax]]"""
|
||||||
return [x[:] for x in self.state['viewRange']] ## return copy
|
return [x[:] for x in self.state['viewRange']] ## return copy
|
||||||
@ -627,7 +622,6 @@ class ViewBox(GraphicsWidget):
|
|||||||
self._autoRangeNeedsUpdate = True
|
self._autoRangeNeedsUpdate = True
|
||||||
elif changed[1] and self.state['autoVisibleOnly'][0] and (self.state['autoRange'][1] is not False):
|
elif changed[1] and self.state['autoVisibleOnly'][0] and (self.state['autoRange'][1] is not False):
|
||||||
self._autoRangeNeedsUpdate = True
|
self._autoRangeNeedsUpdate = True
|
||||||
|
|
||||||
self.sigStateChanged.emit(self)
|
self.sigStateChanged.emit(self)
|
||||||
|
|
||||||
def setYRange(self, min, max, padding=None, update=True):
|
def setYRange(self, min, max, padding=None, update=True):
|
||||||
@ -1608,7 +1602,6 @@ class ViewBox(GraphicsWidget):
|
|||||||
self.sigTransformChanged.emit(self) ## segfaults here: 1
|
self.sigTransformChanged.emit(self) ## segfaults here: 1
|
||||||
|
|
||||||
def paint(self, p, opt, widget):
|
def paint(self, p, opt, widget):
|
||||||
self.prepareForPaint()
|
|
||||||
if self.border is not None:
|
if self.border is not None:
|
||||||
bounds = self.shape()
|
bounds = self.shape()
|
||||||
p.setPen(self.border)
|
p.setPen(self.border)
|
||||||
|
Loading…
Reference in New Issue
Block a user