Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b93970c

Browse files
committed
Updated widgets.py
Implemented MultiCursor disable function
1 parent adf4666 commit b93970c

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

lib/matplotlib/widgets.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,6 +1020,7 @@ def __init__(self, canvas, axes, useblit=True, horizOn=False, vertOn=True,
10201020
self.axes = axes
10211021
self.horizOn = horizOn
10221022
self.vertOn = vertOn
1023+
self.active = True
10231024

10241025
xmin, xmax = axes[-1].get_xlim()
10251026
ymin, ymax = axes[-1].get_ylim()
@@ -1061,13 +1062,17 @@ def disconnect(self):
10611062

10621063
def clear(self, event):
10631064
"""clear the cursor"""
1065+
if self.ignore(event):
1066+
return
10641067
if self.useblit:
10651068
self.background = (
10661069
self.canvas.copy_from_bbox(self.canvas.figure.bbox))
10671070
for line in self.vlines + self.hlines:
10681071
line.set_visible(False)
10691072

10701073
def onmove(self, event):
1074+
if self.ignore(event):
1075+
return
10711076
if event.inaxes is None:
10721077
return
10731078
if not self.canvas.widgetlock.available(self):
@@ -1099,7 +1104,14 @@ def _update(self):
10991104
else:
11001105

11011106
self.canvas.draw_idle()
1107+
1108+
def ignore(self, event):
1109+
"""Return True if event should be ignored.
11021110
1111+
This method (or a version of it) should be called at the beginning
1112+
of any event callback.
1113+
"""
1114+
return not self.active
11031115

11041116
class _SelectorWidget(AxesWidget):
11051117

0 commit comments

Comments
 (0)