8000 Handle shift+enter behavior in nbagg · pelson/matplotlib@cef7830 · GitHub
[go: up one dir, main page]

Skip to content

Commit cef7830

Browse files
committed
Handle shift+enter behavior in nbagg
Partial implementation of shift+enter in nbagg Use the J key command to move to next cell Remove errant change to uat Add a comment and handle IPython 2/3 Move the shift+enter handling to nbagg_mpl Add explicit mode switch for shift+enter Clean up handling of keyboard manager variable Remove extraneous changes Remove unused import Remove newline change
1 parent 5eec284 commit cef7830

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

lib/matplotlib/backends/backend_webagg_core.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# -*- coding: utf-8 -*-
21
"""
32
Displays Agg images in the browser, with interactivity
43
"""
@@ -19,7 +18,6 @@
1918
import io
2019
import json
2120
import os
22-
import re
2321
import time
2422
import warnings
2523

lib/matplotlib/backends/web_backend/mpl.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,10 @@ mpl.figure.prototype.mouse_event = function(event, name) {
458458
return false;
459459
}
460460

461+
mpl.figure.prototype._key_event_extra = function(event, name) {
462+
463+
}
464+
461465
mpl.figure.prototype.key_event = function(event, name) {
462466

463467
// Prevent repeat events
@@ -482,6 +486,8 @@ mpl.figure.prototype.key_event = function(event, name) {
482486
value += 'k';
483487
value += event.which.toString();
484488

489+
this._key_event_extra(event, name);
490+
485491
this.send_message(name, {key: value});
486492
return false;
487493
}

lib/matplotlib/backends/web_backend/nbagg_mpl.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,22 @@ mpl.figure.prototype._canvas_extra_style = function(el){
149149

150150
}
151151

152+
mpl.figure.prototype._key_event_extra = function(event, name) {
153+
var manager = IPython.notebook.keyboard_manager;
154+
if (!manager)
155+
IPython.keyboard_manager;
156+
157+
// Check for shift+enter
158+
if (event.shiftKey && event.which == 13) {
159+
this.canvas_div.blur();
160+
event.shiftKey = false;
161+
// Send a "J" for go to next cell
162+
event.which = 74;
163+
event.keyCode = 74;
164+
manager.command_mode();
165+
manager.handle_keydown(event);
166+
}
167+
}
152168

153169
mpl.figure.prototype.handle_save = function(fig, msg) {
154170
fig.ondownload(fig, null);

0 commit comments

Comments
 (0)
0