Handle "mouse-not-on-plot" edge cases
parent
bfc1a1fcf5
commit
0389836fe6
|
@ -18,7 +18,7 @@ from ._axes import YAxisLabel, XAxisLabel
|
||||||
# TODO:
|
# TODO:
|
||||||
# - checkout pyqtgraph.PlotCurveItem.setCompositionMode
|
# - checkout pyqtgraph.PlotCurveItem.setCompositionMode
|
||||||
|
|
||||||
_mouse_rate_limit = 50
|
_mouse_rate_limit = 30
|
||||||
|
|
||||||
|
|
||||||
class CrossHair(pg.GraphicsObject):
|
class CrossHair(pg.GraphicsObject):
|
||||||
|
@ -104,7 +104,11 @@ class CrossHair(pg.GraphicsObject):
|
||||||
pos = evt[0]
|
pos = evt[0]
|
||||||
|
|
||||||
# find position inside active plot
|
# find position inside active plot
|
||||||
mouse_point = self.active_plot.mapToView(pos)
|
try:
|
||||||
|
mouse_point = self.active_plot.mapToView(pos)
|
||||||
|
except AttributeError:
|
||||||
|
# mouse was not on active plot
|
||||||
|
return
|
||||||
|
|
||||||
self.graphics[self.active_plot]['hl'].setY(
|
self.graphics[self.active_plot]['hl'].setY(
|
||||||
mouse_point.y()
|
mouse_point.y()
|
||||||
|
@ -120,10 +124,10 @@ class CrossHair(pg.GraphicsObject):
|
||||||
self.xaxis_label.update_label(evt_post=pos, point_view=mouse_point)
|
self.xaxis_label.update_label(evt_post=pos, point_view=mouse_point)
|
||||||
|
|
||||||
def boundingRect(self):
|
def boundingRect(self):
|
||||||
return self.active_plot.boundingRect()
|
try:
|
||||||
|
return self.active_plot.boundingRect()
|
||||||
# def paint(self, p, *args):
|
except AttributeError:
|
||||||
# pass
|
return self.plots[0].boundingRect()
|
||||||
|
|
||||||
|
|
||||||
def _mk_lines_array(data: List, size: int) -> np.ndarray:
|
def _mk_lines_array(data: List, size: int) -> np.ndarray:
|
||||||
|
|
Loading…
Reference in New Issue