@@ -432,9 +432,9 @@ def __init__(self, canvas, num, window):
432432
433433 def _get_toolbar (self ):
434434 if mpl .rcParams ['toolbar' ] == 'toolbar2' :
435- toolbar = NavigationToolbar2Tk (self .canvas , self . window )
435+ toolbar = NavigationToolbar2Tk (self .canvas )
436436 elif mpl .rcParams ['toolbar' ] == 'toolmanager' :
437- toolbar = ToolbarTk (self .toolmanager , self . window )
437+ toolbar = ToolbarTk (self .toolmanager )
438438 else :
439439 toolbar = None
440440 return toolbar
@@ -506,24 +506,26 @@ def full_screen_toggle(self):
506506
507507
508508class NavigationToolbar2Tk (NavigationToolbar2 , tk .Frame ):
509- """
510- Attributes
511- ----------
512- canvas : `FigureCanvas`
513- The figure canvas on which to operate.
514- win : tk.Window
515- The tk.Window which owns this toolbar.
516- pack_toolbar : bool, default: True
517- If True, add the toolbar to the parent's pack manager's packing list
518- during initialization with ``side='bottom'`` and ``fill='x'``.
519- If you want to use the toolbar with a different layout manager, use
520- `` pack_toolbar=False``.
521- """
522- def __init__ ( self , canvas , window , * , pack_toolbar = True ):
523- # Avoid using self.window (prefer self.canvas.get_tk_widget().master),
524- # so that Tool implementations can reuse the methods .
525- self . window = window
509+ window = _api . deprecated ( "3.6" , alternative = "self.master" )(
510+ property ( lambda self : self . master ))
511+
512+ def __init__ ( self , canvas , window = None , * , pack_toolbar = True ):
513+ """
514+ Parameters
515+ ----------
516+ canvas : `FigureCanvas`
517+ The figure canvas on which to operate.
518+ window : tk.Window
519+ The tk.Window which owns this toolbar.
520+ pack_toolbar : bool, default: True
521+ If True, add the toolbar to the parent's pack manager's packing
522+ list during initialization with ``side="bottom"`` and ``fill="x"``.
523+ If you want to use the toolbar with a different layout manager, use
524+ ``pack_toolbar=False`` .
525+ """
526526
527+ if window is None :
528+ window = canvas .get_tk_widget ().master
527529 tk .Frame .__init__ (self , master = window , borderwidth = 2 ,
528530 width = int (canvas .figure .bbox .width ), height = 50 )
529531
@@ -809,8 +811,10 @@ def set_cursor(self, cursor):
809811
810812
811813class ToolbarTk (ToolContainerBase , tk .Frame ):
812- def __init__ (self , toolmanager , window ):
814+ def __init__ (self , toolmanager , window = None ):
813815 ToolContainerBase .__init__ (self , toolmanager )
816+ if window is None :
817+ window = self .toolmanager .canvas .get_tk_widget ().master
814818 xmin , xmax = self .toolmanager .canvas .figure .bbox .intervalx
815819 height , width = 50 , xmax - xmin
816820 tk .Frame .__init__ (self , master = window ,
0 commit comments