From 211bb48a90e0028e3061c3298b1ba6a0bae4b45c Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 18 Jun 2019 14:57:17 +0200 Subject: [PATCH] More deduplication of backend_tools. --- lib/matplotlib/backends/backend_gtk3.py | 29 +++++++++++++++---------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 4fb63b17cbb5..8dbd303e41e4 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -575,7 +575,7 @@ def on_notify_filter(*args): def configure_subplots(self, button): toolfig = Figure(figsize=(6, 3)) - canvas = self._get_canvas(toolfig) + canvas = type(self.canvas)(toolfig) toolfig.subplots_adjust(top=0.9) # Need to keep a reference to the tool. _tool = SubplotTool(self.canvas.figure, toolfig) @@ -601,9 +601,6 @@ def configure_subplots(self, button): vbox.pack_start(canvas, True, True, 0) window.show() - def _get_canvas(self, fig): - return self.canvas.__class__(fig) - def set_history_buttons(self): can_backward = self._nav_stack._pos > 0 can_forward = self._nav_stack._pos < len(self._nav_stack._elements) - 1 @@ -809,10 +806,19 @@ def set_cursor(self, cursor): class ConfigureSubplotsGTK3(backend_tools.ConfigureSubplotsBase, Gtk.Window): - def __init__(self, *args, **kwargs): - backend_tools.ConfigureSubplotsBase.__init__(self, *args, **kwargs) - self.window = None - + @cbook.deprecated("3.2") + @property + def window(self): + if not hasattr(self, "_window"): + self._window = None + return self._window + + @window.setter + @cbook.deprecated("3.2") + def window(self, window): + self._window = window + + @cbook.deprecated("3.2") def init_window(self): if self.window: return @@ -846,6 +852,7 @@ def init_window(self): self.vbox.pack_start(canvas, True, True, 0) self.window.show() + @cbook.deprecated("3.2") def destroy(self, *args): self.window.destroy() self.window = None @@ -853,9 +860,9 @@ def destroy(self, *args): def _get_canvas(self, fig): return self.canvas.__class__(fig) - def trigger(self, sender, event, data=None): - self.init_window() - self.window.present() + def trigger(self, *args): + NavigationToolbar2GTK3.configure_subplots( + self._make_classic_style_pseudo_toolbar(), None) class HelpGTK3(backend_tools.ToolHelpBase):