@@ -484,16 +484,16 @@ def __init__(self, *args, **kwargs):
484
484
self .home_views = WeakKeyDictionary ()
485
485
ToolBase .__init__ (self , * args , ** kwargs )
486
486
487
- def set_figure (self , figure ):
488
- self . _figure = figure
489
- if figure not in self .views :
490
- self .views [figure ] = cbook .Stack ()
491
- self .positions [figure ] = cbook .Stack ()
492
- self .home_views [figure ] = WeakKeyDictionary ()
487
+ def add_figure (self ):
488
+ """Add the current figure to the stack of views and positions"""
489
+ if self . figure not in self .views :
490
+ self .views [self . figure ] = cbook .Stack ()
491
+ self .positions [self . figure ] = cbook .Stack ()
492
+ self .home_views [self . figure ] = WeakKeyDictionary ()
493
493
# Define Home
494
494
self .push_current ()
495
495
# Make sure we add a home view for new axes as they're added
496
- figure .add_axobserver (lambda fig : self .update_home_views ())
496
+ self . figure .add_axobserver (lambda fig : self .update_home_views ())
497
497
498
498
def clear (self , figure ):
499
499
"""Reset the axes stack"""
@@ -618,6 +618,7 @@ class ViewsPositionsBase(ToolBase):
618
618
_on_trigger = None
619
619
620
620
def trigger (self , sender , event , data = None ):
621
+ self .toolmanager .get_tool (_views_positions ).add_figure ()
621
622
getattr (self .toolmanager .get_tool (_views_positions ),
622
623
self ._on_trigger )()
623
624
self .toolmanager .get_tool (_views_positions ).update_view ()
@@ -697,6 +698,7 @@ def disable(self, event):
697
698
self .figure .canvas .mpl_disconnect (self ._idScroll )
698
699
699
700
def trigger (self , sender , event , data = None ):
701
+ self .toolmanager .get_tool (_views_positions ).add_figure ()
700
702
ToolToggleBase .trigger (self , sender , event , data )
701
703
702
704
def scroll_zoom (self , event ):
0 commit comments