1313
1414from matplotlib import rcParams
1515from matplotlib ._pylab_helpers import Gcf
16+ from matplotlib import docstring
1617import matplotlib .cbook as cbook
1718from weakref import WeakKeyDictionary
1819import numpy as np
@@ -74,6 +75,7 @@ def __init__(self, navigation, name):
7475 self ._callbacks = cbook .CallbackRegistry ()
7576 self .set_figure (navigation .canvas .figure )
7677
78+ @docstring .dedent_interpd
7779 def trigger (self , sender , event , data = None ):
7880 """Called when this tool gets used
7981
@@ -89,7 +91,13 @@ def trigger(self, sender, event, data=None):
8991 data: object
9092 Extra data
9193 """
94+ self ._trigger (sender , event , data )
95+ self .trigger_event (sender , event , data )
9296
97+ def _trigger (self , * args , ** kwargs ):
98+ """ Tools should Override this method, not trigger.
99+ %(trigger)s
100+ """
93101 pass
94102
95103 def set_figure (self , figure ):
@@ -155,7 +163,7 @@ def __init__(self, *args, **kwargs):
155163 ToolBase .__init__ (self , * args , ** kwargs )
156164 self ._toggled = False
157165
158- def trigger (self , sender , event , data = None ):
166+ def _trigger (self , sender , event , data = None ):
159167 """Calls `enable` or `disable` based on `toggled` value"""
160168 if self ._toggled :
161169 self .disable (event )
@@ -284,7 +292,7 @@ def send_message(self, event):
284292
285293class RubberbandBase (ToolBase ):
286294 """Draw and remove rubberband"""
287- def trigger (self , sender , event , data ):
295+ def _trigger (self , sender , event , data ):
288296 """Call `draw_rubberband` or `remove_rubberband` based on data"""
289297 if not self .figure .canvas .widgetlock .available (sender ):
290298 return
@@ -314,7 +322,7 @@ class ToolQuit(ToolBase):
314322 description = 'Quit the figure'
315323 keymap = rcParams ['keymap.quit' ]
316324
317- def trigger (self , sender , event , data = None ):
325+ def _trigger (self , sender , event , data = None ):
318326 Gcf .destroy_fig (self .figure )
319327
320328
@@ -324,7 +332,7 @@ class ToolEnableAllNavigation(ToolBase):
324332 description = 'Enables all axes navigation'
325333 keymap = rcParams ['keymap.all_axes' ]
326334
327- def trigger (self , sender , event , data = None ):
335+ def _trigger (self , sender , event , data = None ):
328336 if event .inaxes is None :
329337 return
330338
@@ -340,7 +348,7 @@ class ToolEnableNavigation(ToolBase):
340348 description = 'Enables one axes navigation'
341349 keymap = (1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 )
342350
343- def trigger (self , sender , event , data = None ):
351+ def _trigger (self , sender , event , data = None ):
344352 if event .inaxes is None :
345353 return
346354
@@ -359,10 +367,10 @@ class ToolGrid(ToolToggleBase):
359367 description = 'Toogle Grid'
360368 keymap = rcParams ['keymap.grid' ]
361369
362- def trigger (self , sender , event , data = None ):
370+ def _trigger (self , sender , event , data = None ):
363371 if event .inaxes is None :
364372 return
365- ToolToggleBase .trigger (self , sender , event , data )
373+ ToolToggleBase ._trigger (self , sender , event , data )
366374
367375 def enable (self , event ):
368376 event .inaxes .grid (True )
@@ -389,10 +397,10 @@ def disable(self, event):
389397class AxisScaleBase (ToolToggleBase ):
390398 """Base Tool to toggle between linear and logarithmic"""
391399
392- def trigger (self , sender , event , data = None ):
400+ def _trigger (self , sender , event , data = None ):
393401 if event .inaxes is None :
394402 return
395- ToolToggleBase .trigger (self , sender , event , data )
403+ ToolToggleBase ._trigger (self , sender , event , data )
396404
397405 def enable (self , event ):
398406 self .set_scale (event .inaxes , 'log' )
@@ -537,7 +545,7 @@ class ViewsPositionsBase(ToolBase):
537545
538546 _on_trigger = None
539547
540- def trigger (self , sender , event , data = None ):
548+ def _trigger (self , sender , event , data = None ):
541549 self .navigation .get_tool ('viewpos' ).add_figure ()
542550 getattr (self .navigation .get_tool ('viewpos' ), self ._on_trigger )()
543551 self .navigation .get_tool ('viewpos' ).update_view ()
@@ -614,9 +622,9 @@ def disable(self, event):
614622 self .figure .canvas .mpl_disconnect (self ._idRelease )
615623 self .figure .canvas .mpl_disconnect (self ._idScroll )
616624
617- def trigger (self , sender , event , data = None ):
625+ def _trigger (self , sender , event , data = None ):
618626 self .navigation .get_tool ('viewpos' ).add_figure ()
619- ToolToggleBase .trigger (self , sender , event , data )
627+ ToolToggleBase ._trigger (self , sender , event , data )
620628
621629 def scroll_zoom (self , event ):
622630 # https://gist.github.com/tacaswell/3144287
0 commit comments