|
2 | 2 |
|
3 | 3 | from matplotlib import path, transforms
|
4 | 4 | from matplotlib.backend_bases import (
|
5 |
| - FigureCanvasBase, LocationEvent, MouseButton, MouseEvent, |
| 5 | + FigureCanvasBase, KeyEvent, LocationEvent, MouseButton, MouseEvent, |
6 | 6 | NavigationToolbar2, RendererBase)
|
7 | 7 | from matplotlib.backend_tools import RubberbandBase
|
8 | 8 | from matplotlib.figure import Figure
|
@@ -124,12 +124,18 @@ def test_pick():
|
124 | 124 | fig = plt.figure()
|
125 | 125 | fig.text(.5, .5, "hello", ha="center", va="center", picker=True)
|
126 | 126 | fig.canvas.draw()
|
| 127 | + |
127 | 128 | picks = []
|
128 |
| - fig.canvas.mpl_connect("pick_event", lambda event: picks.append(event)) |
129 |
| - start_event = MouseEvent( |
130 |
| - "button_press_event", fig.canvas, *fig.transFigure.transform((.5, .5)), |
131 |
| - MouseButton.LEFT) |
132 |
| - fig.canvas.callbacks.process(start_event.name, start_event) |
| 129 | + def handle_pick(event): |
| 130 | + assert event.mouseevent.key == "a" |
| 131 | + picks.append(event) |
| 132 | + fig.canvas.mpl_connect("pick_event", handle_pick) |
| 133 | + |
| 134 | + KeyEvent("key_press_event", fig.canvas, "a")._process() |
| 135 | + MouseEvent("button_press_event", fig.canvas, |
| 136 | + *fig.transFigure.transform((.5, .5)), |
| 137 | + MouseButton.LEFT)._process() |
| 138 | + KeyEvent("key_release_event", fig.canvas, "a")._process() |
133 | 139 | assert len(picks) == 1
|
134 | 140 |
|
135 | 141 |
|
|
0 commit comments