8000 Merge pull request #22509 from anntzer/tool_addremove · matplotlib/matplotlib@b9ae51c · GitHub
[go: up one dir, main page]

Skip to content

Commit b9ae51c

Browse files
authored
Merge pull request #22509 from anntzer/tool_addremove
Simplifications to ToolManager.{add,remove}_tool.
2 parents ec15c1f + 624d7b4 commit b9ae51c

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
``ToolBase.destroy``
2+
~~~~~~~~~~~~~~~~~~~~
3+
... is deprecated. To run code upon tool removal, connect to the
4+
``tool_removed_event`` event.

lib/matplotlib/backend_managers.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -206,17 +206,18 @@ def remove_tool(self, name):
206206
"""
207207

208208
tool = self.get_tool(name)
209-
tool.destroy()
209+
_api.deprecate_method_override(
210+
backend_tools.ToolBase.destroy, tool, since="3.6",
211+
alternative="tool_removed_event")()
210212

211213
# If it's a toggle tool and toggled, untoggle
212214
if getattr(tool, 'toggled', False):
213215
self.trigger_tool(tool, 'toolmanager')
214216

215217
self._remove_keys(name)
216218

217-
s = 'tool_removed_event'
218-
event = ToolEvent(s, self, tool)
219-
self._callbacks.process(s, event)
219+
event = ToolEvent('tool_removed_event', self, tool)
220+
self._callbacks.process(event.name, event)
220221

221222
del self._tools[name]
222223

@@ -284,13 +285,10 @@ def add_tool(self, name, tool, *args, **kwargs):
284285
self._handle_toggle(tool_obj, None, None, None)
285286
tool_obj.set_figure(self.figure)
286287

287-
self._tool_added_event(tool_obj)
288-
return tool_obj
288+
event = ToolEvent('tool_added_event', self, tool_obj)
289+
self._callbacks.process(event.name, event)
289290

290-
def _tool_added_event(self, tool):
291-
s = 'tool_added_event'
292-
event = ToolEvent(s, self, tool)
293-
self._callbacks.process(s, event)
291+
return tool_obj
294292

295293
def _handle_toggle(self, tool, sender, canvasevent, data):
296294
"""

lib/matplotlib/backend_tools.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ def trigger(self, sender, event, data=None):
155155
"""
156156
pass
157157

158+
@_api.deprecated("3.6", alternative="tool_removed_event")
158159
def destroy(self):
159160
"""
160161
Destroy the tool.

0 commit comments

Comments
 (0)
0