Skip to content

Commit

Permalink
Backport PR matplotlib#28169: Clarify public-ness of some ToolContain…
Browse files Browse the repository at this point in the history
…erBase APIs.
  • Loading branch information
timhoffm authored and meeseeksmachine committed May 5, 2024
1 parent b238681 commit 8308d91
Showing 1 changed file with 27 additions and 7 deletions.
34 changes: 27 additions & 7 deletions lib/matplotlib/backend_bases.py
Original file line number Diff line number Diff line change
Expand Up @@ -3395,11 +3395,17 @@ def trigger_tool(self, name):

def add_toolitem(self, name, group, position, image, description, toggle):
"""
Add a toolitem to the container.
A hook to add a toolitem to the container.
This method must be implemented per backend.
This hook must be implemented in each backend and contains the
backend-specific code to add an element to the toolbar.
The callback associated with the button click event,
.. warning::
This is part of the backend implementation and should
not be called by end-users. They should instead call
`.ToolContainerBase.add_tool`.
The callback associated with the button click event
must be *exactly* ``self.trigger_tool(name)``.
Parameters
Expand All @@ -3425,7 +3431,16 @@ def add_toolitem(self, name, group, position, image, description, toggle):

def toggle_toolitem(self, name, toggled):
"""
Toggle the toolitem without firing event.
A hook to toggle a toolitem without firing an event.
This hook must be implemented in each backend and contains the
backend-specific code to silently toggle a toolbar element.
.. warning::
This is part of the backend implementation and should
not be called by end-users. They should instead call
`.ToolManager.trigger_tool` or `.ToolContainerBase.trigger_tool`
(which are equivalent).
Parameters
----------
Expand All @@ -3438,11 +3453,16 @@ def toggle_toolitem(self, name, toggled):

def remove_toolitem(self, name):
"""
Remove a toolitem from the `ToolContainer`.
A hook to remove a toolitem from the container.
This method must get implemented per backend.
This hook must be implemented in each backend and contains the
backend-specific code to remove an element from the toolbar; it is
called when `.ToolManager` emits a `tool_removed_event`.
Called when `.ToolManager` emits a `tool_removed_event`.
.. warning::
This is part of the backend implementation and should
not be called by end-users. They should instead call
`.ToolManager.remove_tool`.
Parameters
----------
Expand Down

0 comments on commit 8308d91

Please sign in to comment.