8000 Make NavigationToolbar.configure_subplots return value consistent (#3… · matplotlib/matplotlib@d43672a · GitHub
[go: up one dir, main page]

Skip to content

Commit d43672a

Browse files
authored
Make NavigationToolbar.configure_subplots return value consistent (#30130)
When the subplot tool already exists, then it is shown, but never returned. This seems to be an accident.
1 parent 9120862 commit d43672a

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

lib/matplotlib/backend_bases.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3244,7 +3244,7 @@ def _update_view(self):
32443244
def configure_subplots(self, *args):
32453245
if hasattr(self, "subplot_tool"):
32463246
self.subplot_tool.figure.canvas.manager.show()
3247-
return
3247+
return self.subplot_tool
32483248
# This import needs to happen here due to circular imports.
32493249
from matplotlib.figure import Figure
32503250
with mpl.rc_context({"toolbar": "none"}): # No navbar for the toolfig.

lib/matplotlib/backend_bases.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ class NavigationToolbar2:
475475
def release_zoom(self, event: Event) -> None: ...
476476
def push_current(self) -> None: ...
477477
subplot_tool: widgets.SubplotTool
478-
def configure_subplots(self, *args): ...
478+
def configure_subplots(self, *args: Any) -> widgets.SubplotTool: ...
479479
def save_figure(self, *args) -> str | None | object: ...
480480
def update(self) -> None: ...
481481
def set_history_buttons(self) -> None: ...

lib/matplotlib/tests/test_backend_qt.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,9 @@ def set_device_pixel_ratio(ratio):
213213
def test_subplottool():
214214
fig, ax = plt.subplots()
215215
with mock.patch("matplotlib.backends.qt_compat._exec", lambda obj: None):
216-
fig.canvas.manager.toolbar.configure_subplots()
216+
tool = fig.canvas.manager.toolbar.configure_subplots()
217+
assert tool is not None
218+
assert tool == fig.canvas.manager.toolbar.configure_subplots()
217219

218220

219221
@pytest.mark.backend('QtAgg', skip_on_importerror=True)

lib/matplotlib/tests/test_backend_tk.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,9 @@ def test_never_update():
168168
plt.show(block=False)
169169

170170
plt.draw() # Test FigureCanvasTkAgg.
171-
fig.canvas.toolbar.configure_subplots() # Test NavigationToolbar2Tk.
171+
tool = fig.canvas.toolbar.configure_subplots() # Test NavigationToolbar2Tk.
172+
assert tool is not None
173+
assert tool == fig.canvas.toolbar.configure_subplots() # Tool is reused internally.
172174
# Test FigureCanvasTk filter_destroy callback
173175
fig.canvas.get_tk_widget().after(100, plt.close, fig)
174176

0 commit comments

Comments
 (0)
0