@@ -2306,24 +2306,32 @@ def stop_event_loop(self):
2306
2306
self ._looping = False
2307
2307
2308
2308
2309
- def key_press_handler (event , canvas , toolbar = None ):
2309
+ def key_press_handler (event , canvas = None , toolbar = None ):
2310
2310
"""
2311
2311
Implement the default Matplotlib key bindings for the canvas and toolbar
2312
2312
described at :ref:`key-event-handling`.
2313
2313
2314
2314
Parameters
2315
2315
----------
2316
2316
event : `KeyEvent`
2317
- a key press/release event
2318
- canvas : `FigureCanvasBase`
2319
- the backend-specific canvas instance
2320
- toolbar : `NavigationToolbar2`
2321
- the navigation cursor toolbar
2317
+ A key press/release event.
2318
+ canvas : `FigureCanvasBase`, optional, default: ``event.canvas``
2319
+ The backend-specific canvas instance. This parameter is kept for
2320
+ back-compatibility, but, if set, should always be equal to
2321
+ ``event.canvas``.
2322
+ toolbar : `NavigationToolbar2`, optional, default: ``event.canvas.toolbar``
2323
+ The navigation cursor toolbar. This parameter is kept for
2324
+ back-compatibility, but, if set, should always be equal to
2325
+ ``event.canvas.toolbar``.
2322
2326
"""
2323
2327
# these bindings happen whether you are over an axes or not
2324
2328
2325
2329
if event .key is None :
2326
2330
return
2331
+ if canvas is None :
2332
+ canvas = event .canvas
2333
+ if toolbar is None :
2334
+ toolbar = canvas .toolbar
2327
2335
2328
2336
# Load key-mappings from rcParams.
2329
2337
fullscreen_keys = rcParams ['keymap.fullscreen' ]
@@ -2483,10 +2491,17 @@ def _get_uniform_gridstate(ticks):
2483
2491
a .set_navigate (i == n )
2484
2492
2485
2493
2486
- def button_press_handler (event , canvas , toolbar = None ):
2494
+ def button_press_handler (event , canvas = None , toolbar = None ):
2487
2495
"""
2488
2496
The default Matplotlib button actions for extra mouse buttons.
2497
+
2498
+ Parameters are as for `key_press_handler`, except that *event* is a
2499
+ `MouseEvent`.
2489
2500
"""
2501
+ if canvas is None :
2502
+ canvas = event .canvas
2503
+ if toolbar is None :
2504
+ toolbar = canvas .toolbar
2490
2505
if toolbar is not None :
2491
2506
button_name = str (MouseButton (event .button ))
2492
2507
if button_name in rcParams ['keymap.back' ]:
@@ -2610,12 +2625,12 @@ def key_press(self, event):
2610
2625
:ref:`key-event-handling`.
2611
2626
"""
2612
2627
if rcParams ['toolbar' ] != 'toolmanager' :
2613
- key_press_handler (event , self . canvas , self . canvas . toolbar )
2628
+ key_press_handler (event )
2614
2629
2615
2630
def button_press (self , event ):
2616
2631
"""The default Matplotlib button actions for extra mouse buttons."""
2617
2632
if rcParams ['toolbar' ] != 'toolmanager' :
2618
- button_press_handler (event , self . canvas , self . canvas . toolbar )
2633
+ button_press_handler (event )
2619
2634
2620
2635
def get_window_title (self ):
2621
2636
"""
0 commit comments