Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5722182

Browse files
authored
Merge pull request #22025 from anntzer/wxf
Deprecate various custom FigureFrameWx attributes/methods.
2 parents 30db833 + b463a3b commit 5722182

File tree

2 files changed

+39
-14
lines changed

2 files changed

+39
-14
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
``FigureFrameWx`` attributes and methods
2+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3+
- ``sizer`` is deprecated (use ``frame.GetSizer()`` instead).
4+
- ``figmgr`` and ``get_figure_manager`` are deprecated (use
5+
``frame.canvas.manager`` instead).
6+
- ``num`` is deprecated (use ``frame.canvas.manager.num`` instead).
7+
- ``toolbar`` is deprecated (use ``frame.GetToolBar()``
8+
instead).
9+
- ``toolmanager`` is deprecated (use ``frame.canvas.manager.toolmanager``
10+
instead).
11+
12+
``RendererWx.offset_text_height``
13+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14+
... is deprecated.

lib/matplotlib/backends/backend_wx.py

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ def _timer_set_interval(self):
8787
self._timer_start() # Restart with new interval.
8888

8989

90+
@_api.deprecated(
91+
"2.0", name="wx", obj_type="backend", removal="the future",
92+
alternative="wxagg",
93+
addendum="See the Matplotlib usage FAQ for more info on backends.")
9094
class RendererWx(RendererBase):
9195
"""
9296
The renderer handles all the drawing primitives using a graphics
@@ -141,10 +145,6 @@ class RendererWx(RendererBase):
141145

142146
def __init__(self, bitmap, dpi):
143147
"""Initialise a wxWindows renderer instance."""
144-
_api.warn_deprecated(
145-
"2.0", name="wx", obj_type="backend", removal="the future",
146-
alternative="wxagg", addendum="See the Matplotlib usage FAQ for "
147-
"more info on backends.")
148148
super().__init__()
149149
_log.debug("%s - __init__()", type(self))
150150
self.width = bitmap.GetWidth()
@@ -158,6 +158,7 @@ def flipy(self):
158158
# docstring inherited
159159
return True
160160

161+
@_api.deprecated("3.6")
161162
def offset_text_height(self):
162163
return True
163164

@@ -886,7 +887,6 @@ def __init__(self, num, fig, *, canvas_class=None):
886887
super().__init__(parent=None, id=-1, pos=pos)
887888
# Frame will be sized later by the Fit method
888889
_log.debug("%s - __init__()", type(self))
889-
self.num = num
890890
_set_frame_icon(self)
891891

892892
# The parameter will become required after the deprecation elapses.
@@ -899,7 +899,8 @@ def __init__(self, num, fig, *, canvas_class=None):
899899
"%(since)s elapses.")
900900
self.canvas = self.get_canvas(fig)
901901

902-
self.figmgr = FigureManagerWx(self.canvas, num, self)
902+
# Auto-attaches itself to self.canvas.manager
903+
manager = FigureManagerWx(self.canvas, num, self)
903904

904905
toolbar = self.canvas.manager.toolbar
905906
if toolbar is not None:
@@ -916,27 +917,37 @@ def __init__(self, num, fig, *, canvas_class=None):
916917

917918
self.Bind(wx.EVT_CLOSE, self._on_close)
918919

919-
toolmanager = property(lambda self: self.figmgr.toolmanager)
920-
toolbar = property(lambda self: self.GetToolBar()) # backcompat
920+
sizer = _api.deprecated("3.6", alternative="frame.GetSizer()")(
921+
property(lambda self: self.GetSizer()))
922+
figmgr = _api.deprecated("3.6", alternative="frame.canvas.manager")(
923+
property(lambda self: self.canvas.manager))
924+
num = _api.deprecated("3.6", alternative="frame.canvas.manager.num")(
925+
property(lambda self: self.canvas.manager.num))
926+
toolbar = _api.deprecated("3.6", alternative="frame.GetToolBar()")(
927+
property(lambda self: self.GetToolBar()))
928+
toolmanager = _api.deprecated(
929+
"3.6", alternative="frame.canvas.manager.toolmanager")(
930+
property(lambda self: self.canvas.manager.toolmanager))
921931

922932
@_api.deprecated(
923933
"3.6", alternative="the canvas_class constructor parameter")
924934
def get_canvas(self, fig):
925935
return FigureCanvasWx(self, -1, fig)
926936

937+
@_api.deprecated("3.6", alternative="frame.canvas.manager")
927938
def get_figure_manager(self):
928939
_log.debug("%s - get_figure_manager()", type(self))
929-
return self.figmgr
940+
return self.canvas.manager
930941

931942
def _on_close(self, event):
932943
_log.debug("%s - on_close()", type(self))
933944
self.canvas.close_event()
934945
self.canvas.stop_event_loop()
935946
# set FigureManagerWx.frame to None to prevent repeated attempts to
936947
# close this frame from FigureManagerWx.destroy()
937-
self.figmgr.frame = None
948+
self.canvas.manager.frame = None
938949
# remove figure manager from Gcf.figs
939-
Gcf.destroy(self.figmgr)
950+
Gcf.destroy(self.canvas.manager)
940951
try: # See issue 2941338.
941952
self.canvas.mpl_disconnect(self.canvas.toolbar._id_drag)
942953
except AttributeError: # If there's no toolbar.
@@ -1355,12 +1366,12 @@ def new_figure_manager_given_figure(cls, num, figure):
13551366
# Retain a reference to the app object so that it does not get
13561367
# garbage collected.
13571368
_BackendWx._theWxApp = wxapp
1369+
# Attaches figure.canvas, figure.canvas.manager.
13581370
frame = FigureFrameWx(num, figure, canvas_class=cls.FigureCanvas)
1359-
figmgr = frame.get_figure_manager()
13601371
if mpl.is_interactive():
1361-
figmgr.frame.Show()
1372+
frame.Show()
13621373
figure.canvas.draw_idle()
1363-
return figmgr
1374+
return figure.canvas.manager
13641375

13651376
@staticmethod
13661377
def mainloop():

0 commit comments

Comments
 (0)