Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cebbfe3

Browse files
committed
Add guiEvent handling for web backends
1 parent 942b428 commit cebbfe3

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

lib/matplotlib/backends/backend_webagg_core.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ def handle_event(self, event):
290290
# Javascript button numbers and matplotlib button numbers are
291291
# off by 1
292292
button = event['button'] + 1
293+
guiEvent = event['guiEvent']
293294

294295
# The right mouse button pops up a context menu, which
295296
# doesn't work very well, so use the middle mouse button
@@ -299,23 +300,23 @@ def handle_event(self, event):
299300
button = 3
300301

301302
if e_type == 'button_press':
302-
self.button_press_event(x, y, button)
303+
self.button_press_event(x, y, button, guiEvent=guiEvent)
303304
elif e_type == 'button_release':
304-
self.button_release_event(x, y, button)
305+
self.button_release_event(x, y, button, guiEvent=guiEvent)
305306
elif e_type == 'motion_notify':
306-
self.motion_notify_event(x, y)
307+
self.motion_notify_event(x, y, guiEvent=guiEvent)
307308
elif e_type == 'figure_enter':
308-
self.enter_notify_event(xy=(x, y))
309+
self.enter_notify_event(xy=(x, y), guiEvent=guiEvent)
309310
elif e_type == 'figure_leave':
310311
self.leave_notify_event()
311312
elif e_type == 'scroll':
312-
self.scroll_event(x, y, event['step'])
313+
self.scroll_event(x, y, event['step'], guiEvent=guiEvent)
313314
elif e_type in ('key_press', 'key_release'):
314315
key = _handle_key(event['key'])
315316
if e_type == 'key_press':
316-
self.key_press_event(key)
317+
self.key_press_event(key, guiEvent=guiEvent)
317318
elif e_type == 'key_release':
318-
self.key_release_event(key)
319+
self.key_release_event(key, guiEvent=guiEvent)
319320
elif e_type == 'toolbar_button':
320321
# TODO: Be more suspicious of the input
321322
getattr(self.toolbar, event['name'])()

lib/matplotlib/backends/web_backend/mpl.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,8 @@ mpl.figure.prototype.mouse_event = function(event, name) {
467467
var y = canvas_pos.y;
468468

469469
this.send_message(name, {x: x, y: y, button: event.button,
470-
step: event.step});
470+
step: event.step,
471+
guiEvent: event});
471472

472473
/* This prevents the web browser from automatically changing to
473474
* the text insertion cursor when the button is pressed. We want
@@ -507,7 +508,8 @@ mpl.figure.prototype.key_event = function(event, name) {
507508

508509
this._key_event_extra(event, name);
509510

510-
this.send_message(name, {key: value});
511+
this.send_message(name, {key: value,
512+
guiEvent: event});
511513
return false;
512514
}
513515

0 commit comments

Comments
 (0)