##// END OF EJS Templates
default application logger shouldn't propagate...
default application logger shouldn't propagate avoids annoying duplicate messages on the root logger under some circumstances. If apps want to hook up their own logging, they should assign the log attribute.

File last commit:

r9699:21b39120
r10203:e2932e09
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));