From 9f81b0f3799ee034d2f2e3a2e8abcc4d37ccd5d1 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Wed, 8 Sep 2021 22:24:15 +0200 Subject: [PATCH] Inline ToolManager._trigger_tool to its sole call site. There's already a fair amount of indirection involved, let's reduce that a bit. --- lib/matplotlib/backend_managers.py | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/lib/matplotlib/backend_managers.py b/lib/matplotlib/backend_managers.py index 6d2d9595545d..e025fe994cad 100644 --- a/lib/matplotlib/backend_managers.py +++ b/lib/matplotlib/backend_managers.py @@ -376,23 +376,15 @@ def trigger_tool(self, name, sender=None, canvasevent=None, data=None): if sender is None: sender = self - self._trigger_tool(name, sender, canvasevent, data) + if isinstance(tool, tools.ToolToggleBase): + self._handle_toggle(tool, sender, canvasevent, data) + + tool.trigger(sender, canvasevent, data) # Actually trigger Tool. s = 'tool_trigger_%s' % name event = ToolTriggerEvent(s, sender, tool, canvasevent, data) self._callbacks.process(s, event) - def _trigger_tool(self, name, sender=None, canvasevent=None, data=None): - """Actually trigger a tool.""" - tool = self.get_tool(name) - - if isinstance(tool, tools.ToolToggleBase): - self._handle_toggle(tool, sender, canvasevent, data) - - # Important!!! - # This is where the Tool object gets triggered - tool.trigger(sender, canvasevent, data) - def _key_press(self, event): if event.key is None or self.keypresslock.locked(): return