Move cache-reset ctx mngr to parent type: `FlowGraphics.reset_cache()`

storage_cli
Tyler Goodlet 2023-02-28 18:01:13 -05:00
parent a81b51b142
commit 5c08b5658f
2 changed files with 11 additions and 7 deletions

View File

@ -163,6 +163,16 @@ class FlowGraphic(pg.GraphicsObject):
return None return None
@cm
def reset_cache(self) -> None:
self.setCacheMode(QtWidgets.QGraphicsItem.NoCache)
try:
log.debug(f'{self._name} -> CACHE DISABLE')
yield
finally:
log.debug(f'{self._name} -> CACHE ENABLE')
self.setCacheMode(self.cache_mode)
class Curve(FlowGraphic): class Curve(FlowGraphic):
''' '''
@ -251,12 +261,6 @@ class Curve(FlowGraphic):
self.fast_path.clear() self.fast_path.clear()
# self.fast_path = None # self.fast_path = None
@cm
def reset_cache(self) -> None:
self.setCacheMode(QtWidgets.QGraphicsItem.NoCache)
yield
self.setCacheMode(QGraphicsItem.DeviceCoordinateCache)
def boundingRect(self): def boundingRect(self):
''' '''
Compute and then cache our rect. Compute and then cache our rect.

View File

@ -93,7 +93,7 @@ class BarItems(FlowGraphic):
''' '''
# XXX: causes this weird jitter bug when click-drag panning # XXX: causes this weird jitter bug when click-drag panning
# where the path curve will awkwardly flicker back and forth? # where the path curve will awkwardly flicker back and forth?
cache_mode: int = QGraphicsItem.NoCache # cache_mode: int = QGraphicsItem.NoCache
def __init__( def __init__(
self, self,