@@ -935,7 +935,8 @@ def __init__(self, num, fig):
935935 # By adding toolbar in sizer, we are able to put it at the bottom
936936 # of the frame - so appearance is closer to GTK version
937937
938- self .toolmanager = self ._get_toolmanager ()
938+ self .figmgr = FigureManagerWx (self .canvas , num , self )
939+
939940 statusbar = (StatusbarWx (self , self .toolmanager )
940941 if self .toolmanager else StatusBarWx (self ))
941942 self .SetStatusBar (statusbar )
@@ -961,15 +962,17 @@ def __init__(self, num, fig):
961962
962963 self .canvas .SetMinSize ((2 , 2 ))
963964
964- self .figmgr = FigureManagerWx (self .canvas , num , self )
965-
966965 self .Bind (wx .EVT_CLOSE , self ._onClose )
967966
968967 @cbook .deprecated ("3.2" , alternative = "self.GetStatusBar()" )
969968 @property
970969 def statusbar (self ):
971970 return self .GetStatusBar ()
972971
972+ @property
973+ def toolmanager (self ):
974+ return self .figmgr .toolmanager
975+
973976 def _get_toolbar (self ):
974977 if mpl .rcParams ['toolbar' ] == 'toolbar2' :
975978 toolbar = NavigationToolbar2Wx (self .canvas )
@@ -979,13 +982,6 @@ def _get_toolbar(self):
979982 toolbar = None
980983 return toolbar
981984
982- def _get_toolmanager (self ):
983- if mpl .rcParams ['toolbar' ] == 'toolmanager' :
984- toolmanager = ToolManager (self .canvas .figure )
985- else :
986- toolmanager = None
987- return toolmanager
988-
989985 def get_canvas (self , fig ):
990986 return FigureCanvasWx (self , - 1 , fig )
991987
@@ -1045,8 +1041,16 @@ def __init__(self, canvas, num, frame):
10451041 self .frame = frame
10461042 self .window = frame
10471043
1048- self .toolmanager = getattr (frame , "toolmanager" , None )
1049- self .toolbar = frame .GetToolBar ()
1044+ @property
1045+ def toolbar (self ):
1046+ return self .frame .GetToolBar ()
1047+
1048+ @toolbar .setter
1049+ def toolbar (self , value ):
1050+ # Never allow this, except that base class inits this to None before
1051+ # the frame is set up.
1052+ if value is not None or hasattr (self , "frame" ):
1053+ raise AttributeError ("can't set attribute" )
10501054
10511055 def show (self ):
10521056 # docstring inherited
@@ -1110,7 +1114,6 @@ class NavigationToolbar2Wx(NavigationToolbar2, wx.ToolBar):
11101114 def __init__ (self , canvas ):
11111115 wx .ToolBar .__init__ (self , canvas .GetParent (), - 1 )
11121116 NavigationToolbar2 .__init__ (self , canvas )
1113- self .canvas = canvas
11141117 self ._idle = True
11151118 self .prevZoomRect = None
11161119 # for now, use alternate zoom-rectangle drawing on all
0 commit comments