Skip to content

Commit 827b006

Browse files
committed
Moved event firing to source, i.e. to the trigger method. Now one must override the _trigger method instead.
1 parent ea62857 commit 827b006

2 files changed

Lines changed: 20 additions & 13 deletions

File tree

lib/matplotlib/backend_bases.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3512,7 +3512,6 @@ def trigger_tool(self, name, sender=None, canvasevent=None, data=None):
35123512
# Important!!!
35133513
# This is where the Tool object gets triggered
35143514
tool.trigger(sender, canvasevent, data)
3515-
tool.trigger_event(sender, canvasevent, data)
35163515

35173516
def _key_press(self, event):
35183517
if event.key is None or self.keypresslock.locked():

lib/matplotlib/backend_tools.py

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
from matplotlib import rcParams
1515
from matplotlib._pylab_helpers import Gcf
16+
from matplotlib import docstring
1617
import matplotlib.cbook as cbook
1718
from weakref import WeakKeyDictionary
1819
import numpy as np
@@ -74,6 +75,7 @@ def __init__(self, navigation, name):
7475
self._callbacks = cbook.CallbackRegistry()
7576
self.set_figure(navigation.canvas.figure)
7677

78+
@docstring.dedent_interpd
7779
def trigger(self, sender, event, data=None):
7880
"""Called when this tool gets used
7981
@@ -89,7 +91,13 @@ def trigger(self, sender, event, data=None):
8991
data: object
9092
Extra data
9193
"""
94+
self._trigger(sender, event, data)
95+
self.trigger_event(sender, event, data)
9296

97+
def _trigger(self, *args, **kwargs):
98+
""" Tools should Override this method, not trigger.
99+
%(trigger)s
100+
"""
93101
pass
94102

95103
def set_figure(self, figure):
@@ -155,7 +163,7 @@ def __init__(self, *args, **kwargs):
155163
ToolBase.__init__(self, *args, **kwargs)
156164
self._toggled = False
157165

158-
def trigger(self, sender, event, data=None):
166+
def _trigger(self, sender, event, data=None):
159167
"""Calls `enable` or `disable` based on `toggled` value"""
160168
if self._toggled:
161169
self.disable(event)
@@ -284,7 +292,7 @@ def send_message(self, event):
284292

285293
class RubberbandBase(ToolBase):
286294
"""Draw and remove rubberband"""
287-
def trigger(self, sender, event, data):
295+
def _trigger(self, sender, event, data):
288296
"""Call `draw_rubberband` or `remove_rubberband` based on data"""
289297
if not self.figure.canvas.widgetlock.available(sender):
290298
return
@@ -314,7 +322,7 @@ class ToolQuit(ToolBase):
314322
description = 'Quit the figure'
315323
keymap = rcParams['keymap.quit']
316324

317-
def trigger(self, sender, event, data=None):
325+
def _trigger(self, sender, event, data=None):
318326
Gcf.destroy_fig(self.figure)
319327

320328

@@ -324,7 +332,7 @@ class ToolEnableAllNavigation(ToolBase):
324332
description = 'Enables all axes navigation'
325333
keymap = rcParams['keymap.all_axes']
326334

327-
def trigger(self, sender, event, data=None):
335+
def _trigger(self, sender, event, data=None):
328336
if event.inaxes is None:
329337
return
330338

@@ -340,7 +348,7 @@ class ToolEnableNavigation(ToolBase):
340348
description = 'Enables one axes navigation'
341349
keymap = (1, 2, 3, 4, 5, 6, 7, 8, 9)
342350

343-
def trigger(self, sender, event, data=None):
351+
def _trigger(self, sender, event, data=None):
344352
if event.inaxes is None:
345353
return
346354

@@ -359,10 +367,10 @@ class ToolGrid(ToolToggleBase):
359367
description = 'Toogle Grid'
360368
keymap = rcParams['keymap.grid']
361369

362-
def trigger(self, sender, event, data=None):
370+
def _trigger(self, sender, event, data=None):
363371
if event.inaxes is None:
364372
return
365-
ToolToggleBase.trigger(self, sender, event, data)
373+
ToolToggleBase._trigger(self, sender, event, data)
366374

367375
def enable(self, event):
368376
event.inaxes.grid(True)
@@ -389,10 +397,10 @@ def disable(self, event):
389397
class AxisScaleBase(ToolToggleBase):
390398
"""Base Tool to toggle between linear and logarithmic"""
391399

392-
def trigger(self, sender, event, data=None):
400+
def _trigger(self, sender, event, data=None):
393401
if event.inaxes is None:
394402
return
395-
ToolToggleBase.trigger(self, sender, event, data)
403+
ToolToggleBase._trigger(self, sender, event, data)
396404

397405
def enable(self, event):
398406
self.set_scale(event.inaxes, 'log')
@@ -537,7 +545,7 @@ class ViewsPositionsBase(ToolBase):
537545

538546
_on_trigger = None
539547

540-
def trigger(self, sender, event, data=None):
548+
def _trigger(self, sender, event, data=None):
541549
self.navigation.get_tool('viewpos').add_figure()
542550
getattr(self.navigation.get_tool('viewpos'), self._on_trigger)()
543551
self.navigation.get_tool('viewpos').update_view()
@@ -614,9 +622,9 @@ def disable(self, event):
614622
self.figure.canvas.mpl_disconnect(self._idRelease)
615623
self.figure.canvas.mpl_disconnect(self._idScroll)
616624

617-
def trigger(self, sender, event, data=None):
625+
def _trigger(self, sender, event, data=None):
618626
self.navigation.get_tool('viewpos').add_figure()
619-
ToolToggleBase.trigger(self, sender, event, data)
627+
ToolToggleBase._trigger(self, sender, event, data)
620628

621629
def scroll_zoom(self, event):
622630
# https://gist.github.com/tacaswell/3144287

0 commit comments

Comments
 (0)