##// END OF EJS Templates
split KernelManager into KernelManager + KernelClient
split KernelManager into KernelManager + KernelClient

File last commit:

r9699:21b39120
r10285:5e1e98c2
Show More
menubar.js
231 lines | 8.7 KiB | application/javascript | JavascriptLexer
Brian Granger
Implemented menu based UI using Wijmo.
r5857 //----------------------------------------------------------------------------
// Copyright (C) 2008-2011 The IPython Development Team
//
// Distributed under the terms of the BSD License. The full license is in
// the file COPYING, distributed as part of this software.
//----------------------------------------------------------------------------
//============================================================================
// MenuBar
//============================================================================
Bussonnier Matthias
add option in menubar to set baseproject url
r9501 /**
* @module IPython
* @namespace IPython
* @submodule MenuBar
*/
Brian Granger
Implemented menu based UI using Wijmo.
r5857 var IPython = (function (IPython) {
Bussonnier Matthias
add option in menubar to set baseproject url
r9501 /**
* A MenuBar Class to generate the menubar of IPython noteboko
* @Class MenuBar
*
* @constructor
*
*
* @param selector {string} selector for the menubar element in DOM
* @param {object} [options]
* @param [options.baseProjectUrl] {String} String to use for the
* Base Project url, default would be to inspect
* $('body').data('baseProjectUrl');
* does not support change for now is set through this option
*/
var MenuBar = function (selector, options) {
var options = options || {};
if(options.baseProjectUrl!= undefined){
this._baseProjectUrl = options.baseProjectUrl;
}
Brian Granger
Implemented menu based UI using Wijmo.
r5857 this.selector = selector;
if (this.selector !== undefined) {
this.element = $(selector);
this.style();
this.bind_events();
}
};
Bussonnier Matthias
make baseProjectUrl a method in Menubar
r9500 MenuBar.prototype.baseProjectUrl = function(){
Bussonnier Matthias
add option in menubar to set baseproject url
r9501 return this._baseProjectUrl || $('body').data('baseProjectUrl');
Bussonnier Matthias
change more baseurl
r9503 };
Bussonnier Matthias
make baseProjectUrl a method in Menubar
r9500
Brian Granger
Implemented menu based UI using Wijmo.
r5857
MenuBar.prototype.style = function () {
Brian Granger
Major refactoring of notebook....
r6193 this.element.addClass('border-box-sizing');
Brian Granger
Cell splitting and merging is done!
r5898 $('ul#menus').menubar({
select : function (event, ui) {
Brian Granger
Fixing minor typo in menubar.js.
r5908 // The selected cell loses focus when the menu is entered, so we
Brian Granger
Cell splitting and merging is done!
r5898 // re-select it upon selection.
Brian Granger
Refactoring of the notebooks cell management....
r5945 var i = IPython.notebook.get_selected_index();
Brian Granger
Cell splitting and merging is done!
r5898 IPython.notebook.select(i);
}
});
Brian Granger
Implemented menu based UI using Wijmo.
r5857 };
MenuBar.prototype.bind_events = function () {
// File
Matthias BUSSONNIER
fix baseUrl
r9699 var that = this;
Brian Granger
Implemented menu based UI using Wijmo.
r5857 this.element.find('#new_notebook').click(function () {
Matthias BUSSONNIER
fix baseUrl
r9699 window.open(that.baseProjectUrl()+'new');
Brian Granger
Implemented menu based UI using Wijmo.
r5857 });
this.element.find('#open_notebook').click(function () {
Matthias BUSSONNIER
fix baseUrl
r9699 window.open(that.baseProjectUrl());
Brian Granger
Implemented menu based UI using Wijmo.
r5857 });
Brian Granger
Improved notebook renaming....
r5859 this.element.find('#rename_notebook').click(function () {
IPython.save_widget.rename_notebook();
});
Brian Granger
Beginning work on notebook duplication.
r5860 this.element.find('#copy_notebook').click(function () {
Brian Granger
Major refactoring of saving, notification....
r6047 var notebook_id = IPython.notebook.get_notebook_id();
Matthias BUSSONNIER
fix baseUrl
r9699 var url = that.baseProjectUrl() + notebook_id + '/copy';
Matthias BUSSONNIER
open notebook copy in different tabs...
r7838 window.open(url,'_blank');
return false;
Brian Granger
Beginning work on notebook duplication.
r5860 });
Brian Granger
Implemented menu based UI using Wijmo.
r5857 this.element.find('#save_notebook').click(function () {
Brian Granger
Major refactoring of saving, notification....
r6047 IPython.notebook.save_notebook();
Brian Granger
Implemented menu based UI using Wijmo.
r5857 });
this.element.find('#download_ipynb').click(function () {
Brian Granger
Major refactoring of saving, notification....
r6047 var notebook_id = IPython.notebook.get_notebook_id();
Matthias BUSSONNIER
fix baseUrl
r9699 var url = that.baseProjectUrl() + 'notebooks/' +
Brian Granger
Implemented menu based UI using Wijmo.
r5857 notebook_id + '?format=json';
Yoav Ram
for downloads, replaced window.open with window.location.assign...
r8870 window.location.assign(url);
Brian Granger
Implemented menu based UI using Wijmo.
r5857 });
this.element.find('#download_py').click(function () {
Brian Granger
Major refactoring of saving, notification....
r6047 var notebook_id = IPython.notebook.get_notebook_id();
Matthias BUSSONNIER
fix baseUrl
r9699 var url = that.baseProjectUrl() + 'notebooks/' +
Brian Granger
Implemented menu based UI using Wijmo.
r5857 notebook_id + '?format=py';
Yoav Ram
for downloads, replaced window.open with window.location.assign...
r8870 window.location.assign(url);
Brian Granger
Implemented menu based UI using Wijmo.
r5857 });
this.element.find('button#print_notebook').click(function () {
IPython.print_widget.print_notebook();
});
Matthias BUSSONNIER
add 'Close and halt' in notebook filemenu
r6850 this.element.find('#kill_and_exit').click(function () {
IPython.notebook.kernel.kill();
setTimeout(function(){window.close();}, 200);
});
Brian Granger
Implemented menu based UI using Wijmo.
r5857 // Edit
Brian Granger
Added cell level cut/copy/paste.
r5879 this.element.find('#cut_cell').click(function () {
IPython.notebook.cut_cell();
});
this.element.find('#copy_cell').click(function () {
IPython.notebook.copy_cell();
});
Brian Granger
Implemented menu based UI using Wijmo.
r5857 this.element.find('#delete_cell').click(function () {
IPython.notebook.delete_cell();
});
MinRK
add menu item for undo delete cell...
r9551 this.element.find('#undelete_cell').click(function () {
IPython.notebook.undelete();
});
Brian Granger
Basic code cell splitting implemented.
r5896 this.element.find('#split_cell').click(function () {
IPython.notebook.split_cell();
});
this.element.find('#merge_cell_above').click(function () {
IPython.notebook.merge_cell_above();
});
this.element.find('#merge_cell_below').click(function () {
IPython.notebook.merge_cell_below();
});
Brian Granger
Implemented menu based UI using Wijmo.
r5857 this.element.find('#move_cell_up').click(function () {
IPython.notebook.move_cell_up();
});
this.element.find('#move_cell_down').click(function () {
IPython.notebook.move_cell_down();
});
Brian Granger
Cleaning up menu code....
r5858 this.element.find('#select_previous').click(function () {
IPython.notebook.select_prev();
});
this.element.find('#select_next').click(function () {
IPython.notebook.select_next();
});
Brian Granger
Further work on the toolbar UI....
r5994 // View
this.element.find('#toggle_header').click(function () {
$('div#header').toggle();
IPython.layout_manager.do_resize();
});
this.element.find('#toggle_toolbar').click(function () {
IPython.toolbar.toggle();
});
Brian Granger
Implemented menu based UI using Wijmo.
r5857 // Insert
this.element.find('#insert_cell_above').click(function () {
Brian Granger
Refactoring of the notebooks cell management....
r5945 IPython.notebook.insert_cell_above('code');
Brian Granger
Implemented menu based UI using Wijmo.
r5857 });
this.element.find('#insert_cell_below').click(function () {
Brian Granger
Refactoring of the notebooks cell management....
r5945 IPython.notebook.insert_cell_below('code');
Brian Granger
Implemented menu based UI using Wijmo.
r5857 });
// Cell
this.element.find('#run_cell').click(function () {
IPython.notebook.execute_selected_cell();
});
this.element.find('#run_cell_in_place').click(function () {
IPython.notebook.execute_selected_cell({terminal:true});
});
this.element.find('#run_all_cells').click(function () {
IPython.notebook.execute_all_cells();
Paul Ivanov
added on-hover descriptions of the new menu items
r8607 }).attr('title', 'Run all cells in the notebook');
Paul Ivanov
fine-grained notebook 'run' controls, closes #2521...
r8606 this.element.find('#run_all_cells_above').click(function () {
IPython.notebook.execute_cells_above();
Paul Ivanov
added on-hover descriptions of the new menu items
r8607 }).attr('title', 'Run all cells above (but not including) this cell');
Paul Ivanov
fine-grained notebook 'run' controls, closes #2521...
r8606 this.element.find('#run_all_cells_below').click(function () {
IPython.notebook.execute_cells_below();
Paul Ivanov
added on-hover descriptions of the new menu items
r8607 }).attr('title', 'Run this cell and all cells below it');
Brian Granger
Implemented menu based UI using Wijmo.
r5857 this.element.find('#to_code').click(function () {
IPython.notebook.to_code();
});
this.element.find('#to_markdown').click(function () {
IPython.notebook.to_markdown();
});
MinRK
rename plaintext cell -> raw cell
r6248 this.element.find('#to_raw').click(function () {
IPython.notebook.to_raw();
Brian Granger
A first go at RST cell support in the notebook.
r6017 });
Brian Granger
Finishing first draft of RST and heading cells.
r6019 this.element.find('#to_heading1').click(function () {
IPython.notebook.to_heading(undefined, 1);
});
this.element.find('#to_heading2').click(function () {
IPython.notebook.to_heading(undefined, 2);
});
this.element.find('#to_heading3').click(function () {
IPython.notebook.to_heading(undefined, 3);
});
this.element.find('#to_heading4').click(function () {
IPython.notebook.to_heading(undefined, 4);
});
this.element.find('#to_heading5').click(function () {
IPython.notebook.to_heading(undefined, 5);
});
this.element.find('#to_heading6').click(function () {
IPython.notebook.to_heading(undefined, 6);
});
Brian Granger
Implemented menu based UI using Wijmo.
r5857 this.element.find('#toggle_output').click(function () {
IPython.notebook.toggle_output();
});
MinRK
third attempt at scrolled long output...
r7362 this.element.find('#collapse_all_output').click(function () {
IPython.notebook.collapse_all_output();
});
this.element.find('#scroll_all_output').click(function () {
IPython.notebook.scroll_all_output();
});
this.element.find('#expand_all_output').click(function () {
IPython.notebook.expand_all_output();
});
Brian Granger
Implemented menu based UI using Wijmo.
r5857 this.element.find('#clear_all_output').click(function () {
IPython.notebook.clear_all_output();
});
// Kernel
this.element.find('#int_kernel').click(function () {
IPython.notebook.kernel.interrupt();
});
this.element.find('#restart_kernel').click(function () {
IPython.notebook.restart_kernel();
});
Brian Granger
Cleaning up menu code....
r5858 // Help
this.element.find('#keyboard_shortcuts').click(function () {
IPython.quick_help.show_keyboard_shortcuts();
});
Brian Granger
Implemented menu based UI using Wijmo.
r5857 };
IPython.MenuBar = MenuBar;
return IPython;
}(IPython));