Show More
@@ -84,7 +84,6 var IPython = (function (IPython) { | |||
|
84 | 84 | help_index : 'aa', |
|
85 | 85 | handler : function (event) { |
|
86 | 86 | IPython.notebook.command_mode(); |
|
87 | IPython.notebook.focus_cell(); | |
|
88 | 87 | return false; |
|
89 | 88 | } |
|
90 | 89 | }, |
@@ -93,7 +92,6 var IPython = (function (IPython) { | |||
|
93 | 92 | help_index : 'ab', |
|
94 | 93 | handler : function (event) { |
|
95 | 94 | IPython.notebook.command_mode(); |
|
96 | IPython.notebook.focus_cell(); | |
|
97 | 95 | return false; |
|
98 | 96 | } |
|
99 | 97 | }, |
@@ -120,11 +120,11 var IPython = (function (IPython) { | |||
|
120 | 120 | }); |
|
121 | 121 | |
|
122 | 122 | $([IPython.events]).on('edit_mode.Cell', function (event, data) { |
|
123 |
that.handle_edit_mode( |
|
|
123 | that.handle_edit_mode(data.cell); | |
|
124 | 124 | }); |
|
125 | 125 | |
|
126 | 126 | $([IPython.events]).on('command_mode.Cell', function (event, data) { |
|
127 | that.command_mode(); | |
|
127 | that.handle_command_mode(data.cell); | |
|
128 | 128 | }); |
|
129 | 129 | |
|
130 | 130 | $([IPython.events]).on('status_autorestarting.Kernel', function () { |
@@ -461,6 +461,11 var IPython = (function (IPython) { | |||
|
461 | 461 | if (this.is_valid_cell_index(index)) { |
|
462 | 462 | var sindex = this.get_selected_index(); |
|
463 | 463 | if (sindex !== null && index !== sindex) { |
|
464 | // If we are about to select a different cell, make sure we are | |
|
465 | // first in command mode. | |
|
466 | if (this.mode !== 'command') { | |
|
467 | this.command_mode(); | |
|
468 | } | |
|
464 | 469 | this.get_cell(sindex).unselect(); |
|
465 | 470 | } |
|
466 | 471 | var cell = this.get_cell(index); |
@@ -523,20 +528,14 var IPython = (function (IPython) { | |||
|
523 | 528 | }; |
|
524 | 529 | |
|
525 | 530 | /** |
|
526 |
* |
|
|
531 | * Handle when a a cell blurs and the notebook should enter command mode. | |
|
527 | 532 | * |
|
528 | * @method command_mode | |
|
533 | * @method handle_command_mode | |
|
534 | * @param [cell] {Cell} Cell to enter command mode on. | |
|
529 | 535 | **/ |
|
530 | Notebook.prototype.command_mode = function () { | |
|
531 | // Make sure there isn't an edit mode cell lingering around. | |
|
532 | var cell = this.get_cell(this.get_edit_index()); | |
|
533 | if (cell) { | |
|
534 | cell.command_mode(); | |
|
535 | } | |
|
536 | ||
|
537 | // Notify the keyboard manager if this is a change of mode for the | |
|
538 | // notebook as a whole. | |
|
536 | Notebook.prototype.handle_command_mode = function (cell) { | |
|
539 | 537 | if (this.mode !== 'command') { |
|
538 | cell.command_mode(); | |
|
540 | 539 | this.mode = 'command'; |
|
541 | 540 | $([IPython.events]).trigger('command_mode.Notebook'); |
|
542 | 541 | IPython.keyboard_manager.command_mode(); |
@@ -544,20 +543,28 var IPython = (function (IPython) { | |||
|
544 | 543 | }; |
|
545 | 544 | |
|
546 | 545 | /** |
|
546 | * Make the notebook enter command mode. | |
|
547 | * | |
|
548 | * @method command_mode | |
|
549 | **/ | |
|
550 | Notebook.prototype.command_mode = function () { | |
|
551 | var cell = this.get_cell(this.get_edit_index()); | |
|
552 | if (cell && this.mode !== 'command') { | |
|
553 | // We don't call cell.command_mode, but rather call cell.focus_cell() | |
|
554 | // which will blur and CM editor and trigger the call to | |
|
555 | // handle_command_mode. | |
|
556 | cell.focus_cell(); | |
|
557 | } | |
|
558 | }; | |
|
559 | ||
|
560 | /** | |
|
547 | 561 | * Handle when a cell fires it's edit_mode event. |
|
548 | 562 | * |
|
549 | 563 | * @method handle_edit_mode |
|
550 | * @param [index] {int} Cell index to select. If no index is provided, | |
|
551 | * the current selected cell is used. | |
|
564 | * @param [cell] {Cell} Cell to enter edit mode on. | |
|
552 | 565 | **/ |
|
553 |
Notebook.prototype.handle_edit_mode = function ( |
|
|
554 | // Make sure the cell exists. | |
|
555 | var cell = this.get_cell(index); | |
|
556 | if (cell === null) { return; } | |
|
557 | ||
|
558 | // Set the cell to edit mode and notify the keyboard manager if this | |
|
559 | // is a change of mode for the notebook as a whole. | |
|
560 | if (this.mode !== 'edit') { | |
|
566 | Notebook.prototype.handle_edit_mode = function (cell) { | |
|
567 | if (cell && this.mode !== 'edit') { | |
|
561 | 568 | cell.edit_mode(); |
|
562 | 569 | this.mode = 'edit'; |
|
563 | 570 | $([IPython.events]).trigger('edit_mode.Notebook'); |
@@ -569,17 +576,10 var IPython = (function (IPython) { | |||
|
569 | 576 | * Make a cell enter edit mode. |
|
570 | 577 | * |
|
571 | 578 | * @method edit_mode |
|
572 | * @param [index] {int} Cell index to select. If no index is provided, | |
|
573 | * the current selected cell is used. | |
|
574 | 579 | **/ |
|
575 |
Notebook.prototype.edit_mode = function ( |
|
|
576 | if (index===undefined) { | |
|
577 | index = this.get_selected_index(); | |
|
578 | } | |
|
579 | // Make sure the cell exists. | |
|
580 | var cell = this.get_cell(index); | |
|
581 | if (cell === null) { return; } | |
|
582 | if (cell.mode != 'edit') { | |
|
580 | Notebook.prototype.edit_mode = function () { | |
|
581 | var cell = this.get_selected_cell(); | |
|
582 | if (cell && this.mode !== 'edit') { | |
|
583 | 583 | cell.unrender(); |
|
584 | 584 | cell.focus_editor(); |
|
585 | 585 | } |
@@ -1453,7 +1453,6 var IPython = (function (IPython) { | |||
|
1453 | 1453 | var cell_index = this.find_cell_index(cell); |
|
1454 | 1454 | |
|
1455 | 1455 | cell.execute(); |
|
1456 | cell.focus_cell(); | |
|
1457 | 1456 | this.command_mode(); |
|
1458 | 1457 | this.set_dirty(true); |
|
1459 | 1458 | }; |
@@ -1471,15 +1470,19 var IPython = (function (IPython) { | |||
|
1471 | 1470 | |
|
1472 | 1471 | // If we are at the end always insert a new cell and return |
|
1473 | 1472 | if (cell_index === (this.ncells()-1)) { |
|
1473 | this.command_mode(); | |
|
1474 | 1474 | this.insert_cell_below('code'); |
|
1475 |
this. |
|
|
1475 | this.select(cell_index+1); | |
|
1476 | this.edit_mode(); | |
|
1476 | 1477 | this.scroll_to_bottom(); |
|
1477 | 1478 | this.set_dirty(true); |
|
1478 | 1479 | return; |
|
1479 | 1480 | } |
|
1480 | ||
|
1481 | ||
|
1482 | this.command_mode(); | |
|
1481 | 1483 | this.insert_cell_below('code'); |
|
1482 |
this. |
|
|
1484 | this.select(cell_index+1); | |
|
1485 | this.edit_mode(); | |
|
1483 | 1486 | this.set_dirty(true); |
|
1484 | 1487 | }; |
|
1485 | 1488 | |
@@ -1497,16 +1500,17 var IPython = (function (IPython) { | |||
|
1497 | 1500 | |
|
1498 | 1501 | // If we are at the end always insert a new cell and return |
|
1499 | 1502 | if (cell_index === (this.ncells()-1)) { |
|
1503 | this.command_mode(); | |
|
1500 | 1504 | this.insert_cell_below('code'); |
|
1501 |
this. |
|
|
1505 | this.select(cell_index+1); | |
|
1506 | this.edit_mode(); | |
|
1502 | 1507 | this.scroll_to_bottom(); |
|
1503 | 1508 | this.set_dirty(true); |
|
1504 | 1509 | return; |
|
1505 | 1510 | } |
|
1506 | 1511 | |
|
1507 | this.select(cell_index+1); | |
|
1508 | this.get_cell(cell_index+1).focus_cell(); | |
|
1509 | 1512 | this.command_mode(); |
|
1513 | this.select(cell_index+1); | |
|
1510 | 1514 | this.set_dirty(true); |
|
1511 | 1515 | }; |
|
1512 | 1516 | |
@@ -1547,6 +1551,7 var IPython = (function (IPython) { | |||
|
1547 | 1551 | * @param {Number} end Index of the last cell to execute (exclusive) |
|
1548 | 1552 | */ |
|
1549 | 1553 | Notebook.prototype.execute_cell_range = function (start, end) { |
|
1554 | this.command_mode(); | |
|
1550 | 1555 | for (var i=start; i<end; i++) { |
|
1551 | 1556 | this.select(i); |
|
1552 | 1557 | this.execute_cell(); |
@@ -2041,7 +2046,7 var IPython = (function (IPython) { | |||
|
2041 | 2046 | this.edit_mode(0); |
|
2042 | 2047 | } else { |
|
2043 | 2048 | this.select(0); |
|
2044 | this.command_mode(); | |
|
2049 | this.handle_command_mode(this.get_cell(0)); | |
|
2045 | 2050 | } |
|
2046 | 2051 | this.set_dirty(false); |
|
2047 | 2052 | this.scroll_to_top(); |
General Comments 0
You need to be logged in to leave comments.
Login now