@@ -879,12 +879,13 @@ def __init__(self, num, fig):
879
879
# By adding toolbar in sizer, we are able to put it at the bottom
880
880
# of the frame - so appearance is closer to GTK version
881
881
882
- self .figmgr = FigureManagerWx (self .canvas , num , self )
882
+ # Attach manager to self.canvas.
883
+ FigureManagerWx (self .canvas , num )
883
884
884
885
self .toolbar = self ._get_toolbar ()
885
886
886
- if self .figmgr .toolmanager :
887
- backend_tools .add_tools_to_manager (self .figmgr .toolmanager )
887
+ if self .canvas . manager .toolmanager :
888
+ backend_tools .add_tools_to_manager (self .canvas . manager .toolmanager )
888
889
if self .toolbar :
889
890
backend_tools .add_tools_to_container (self .toolbar )
890
891
@@ -907,7 +908,7 @@ def __init__(self, num, fig):
907
908
908
909
@property
909
910
def toolmanager (self ):
910
- return self .figmgr .toolmanager
911
+ return self .canvas . manager .toolmanager
911
912
912
913
def _get_toolbar (self ):
913
914
if mpl .rcParams ['toolbar' ] == 'toolbar2' :
@@ -921,6 +922,14 @@ def _get_toolbar(self):
921
922
def get_canvas (self , fig ):
922
923
return FigureCanvasWx (self , - 1 , fig )
923
924
925
+ @_api .deprecated ("3.5" , alternative = "frame.canvas.manager or "
926
+ "FigureManagerWx(frame.canvas, num)" )
927
+ @property
928
+ def figmgr (self ):
929
+ return self .canvas .manager
930
+
931
+ @_api .deprecated ("3.5" , alternative = "frame.canvas.manager or "
932
+ "FigureManagerWx(frame.canvas, num)" )
924
933
def get_figure_manager (self ):
925
934
_log .debug ("%s - get_figure_manager()" , type (self ))
926
935
return self .figmgr
@@ -931,9 +940,9 @@ def _onClose(self, event):
931
940
self .canvas .stop_event_loop ()
932
941
# set FigureManagerWx.frame to None to prevent repeated attempts to
933
942
# close this frame from FigureManagerWx.destroy()
934
- self .figmgr . frame = None
943
+ self .canvas . manager . window = None
935
944
# remove figure manager from Gcf.figs
936
- Gcf .destroy (self .figmgr )
945
+ Gcf .destroy (self .canvas . manager )
937
946
# Carry on with close event propagation, frame & children destruction
938
947
event .Skip ()
939
948
@@ -966,22 +975,21 @@ class FigureManagerWx(FigureManagerBase):
966
975
967
976
Attributes
968
977
----------
969
- canvas : `FigureCanvas`
970
- a FigureCanvasWx(wx.Panel) instance
978
+ canvas : FigureCanvasWx
971
979
window : wxFrame
972
- a wxFrame instance - wxpython.org/Phoenix/docs/html/Frame.html
973
980
"""
974
981
975
- def __init__ (self , canvas , num , frame ):
982
+ @_api .delete_parameter ("3.5" , "frame" )
983
+ def __init__ (self , canvas , num , frame = None ):
976
984
_log .debug ("%s - __init__()" , type (self ))
977
- self .frame = self .window = frame
985
+ self .frame = self .window = canvas . GetParent ()
978
986
self ._initializing = True
979
987
super ().__init__ (canvas , num )
980
988
self ._initializing = False
981
989
982
990
@property
983
991
def toolbar (self ):
984
- return self .frame .GetToolBar ()
992
+ return self .window .GetToolBar ()
985
993
986
994
@toolbar .setter
987
995
def toolbar (self , value ):
@@ -992,23 +1000,23 @@ def toolbar(self, value):
992
1000
993
1001
def show (self ):
994
1002
# docstring inherited
995
- self .frame .Show ()
1003
+ self .window .Show ()
996
1004
self .canvas .draw ()
997
1005
if mpl .rcParams ['figure.raise_window' ]:
998
- self .frame .Raise ()
1006
+ self .window .Raise ()
999
1007
1000
1008
def destroy (self , * args ):
1001
1009
# docstring inherited
1002
1010
_log .debug ("%s - destroy()" , type (self ))
1003
- frame = self .frame
1011
+ frame = self .window
1004
1012
if frame : # Else, may have been already deleted, e.g. when closing.
1005
1013
# As this can be called from non-GUI thread from plt.close use
1006
1014
# wx.CallAfter to ensure thread safety.
1007
1015
wx .CallAfter (frame .Close )
1008
1016
1009
1017
def full_screen_toggle (self ):
1010
1018
# docstring inherited
1011
- self .frame .ShowFullScreen (not self .frame .IsFullScreen ())
1019
+ self .window .ShowFullScreen (not self .window .IsFullScreen ())
1012
1020
1013
1021
def get_window_title (self ):
1014
1022
# docstring inherited
@@ -1388,11 +1396,11 @@ def new_figure_manager(cls, num, *args, **kwargs):
1388
1396
@classmethod
1389
1397
def new_figure_manager_given_figure (cls , num , figure ):
1390
1398
frame = cls ._frame_class (num , figure )
1391
- figmgr = frame . get_figure_manager ( )
1399
+ manager = FigureManagerWx ( figure . canvas , num )
1392
1400
if mpl .is_interactive ():
1393
- figmgr . frame .Show ()
1401
+ frame .Show ()
1394
1402
figure .canvas .draw_idle ()
1395
- return figmgr
1403
+ return manager
1396
1404
1397
1405
@staticmethod
1398
1406
def mainloop ():
0 commit comments