//---------------------------------------------------------------------------- // 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. //---------------------------------------------------------------------------- //============================================================================ // ToolBar //============================================================================ var IPython = (function (IPython) { var ToolBar = function (selector) { this.selector = selector; if (this.selector !== undefined) { this.element = $(selector); this.style(); this.bind_events(); } }; ToolBar.prototype.style = function () { this.element.addClass('border-box-sizing'). addClass('ui-widget ui-widget-content'). css('border-top-style','none'). css('border-left-style','none'). css('border-right-style','none'); this.element.find('#cell_type').addClass('ui-widget ui-widget-content'); this.element.find('#save_b').button({ icons : {primary: 'ui-icon-disk'}, text : false }); this.element.find('#cut_b').button({ icons: {primary: 'ui-icon-scissors'}, text : false }); this.element.find('#copy_b').button({ icons: {primary: 'ui-icon-copy'}, text : false }); this.element.find('#paste_b').button({ icons: {primary: 'ui-icon-clipboard'}, text : false }); this.element.find('#cut_copy_paste').buttonset(); this.element.find('#move_up_b').button({ icons: {primary: 'ui-icon-arrowthick-1-n'}, text : false }); this.element.find('#move_down_b').button({ icons: {primary: 'ui-icon-arrowthick-1-s'}, text : false }); this.element.find('#move_up_down').buttonset(); this.element.find('#insert_above_b').button({ icons: {primary: 'ui-icon-arrowthickstop-1-n'}, text : false }); this.element.find('#insert_below_b').button({ icons: {primary: 'ui-icon-arrowthickstop-1-s'}, text : false }); this.element.find('#insert_above_below').buttonset(); this.element.find('#run_b').button({ icons: {primary: 'ui-icon-play'}, text : false }); this.element.find('#interrupt_b').button({ icons: {primary: 'ui-icon-stop'}, text : false }); this.element.find('#run_int').buttonset(); }; ToolBar.prototype.bind_events = function () { var that = this; this.element.find('#save_b').click(function () { IPython.notebook.save_notebook(); }); this.element.find('#cut_b').click(function () { IPython.notebook.cut_cell(); }); this.element.find('#copy_b').click(function () { IPython.notebook.copy_cell(); }); this.element.find('#paste_b').click(function () { IPython.notebook.paste_cell(); }); this.element.find('#move_up_b').click(function () { IPython.notebook.move_cell_up(); }); this.element.find('#move_down_b').click(function () { IPython.notebook.move_cell_down(); }); this.element.find('#insert_above_b').click(function () { IPython.notebook.insert_cell_above('code'); }); this.element.find('#insert_below_b').click(function () { IPython.notebook.insert_cell_below('code'); }); this.element.find('#run_b').click(function () { IPython.notebook.execute_selected_cell(); }); this.element.find('#interrupt_b').click(function () { IPython.notebook.kernel.interrupt(); }); this.element.find('#cell_type').change(function () { var cell_type = $(this).val(); if (cell_type === 'code') { IPython.notebook.to_code(); } else if (cell_type === 'markdown') { IPython.notebook.to_markdown(); } else if (cell_type === 'plaintext') { IPython.notebook.to_plaintext(); } else if (cell_type === 'heading1') { IPython.notebook.to_heading(undefined, 1); } else if (cell_type === 'heading2') { IPython.notebook.to_heading(undefined, 2); } else if (cell_type === 'heading3') { IPython.notebook.to_heading(undefined, 3); } else if (cell_type === 'heading4') { IPython.notebook.to_heading(undefined, 4); } else if (cell_type === 'heading5') { IPython.notebook.to_heading(undefined, 5); } else if (cell_type === 'heading6') { IPython.notebook.to_heading(undefined, 6); }; }); $([IPython.events]).on('selected_cell_type_changed.Notebook', function (event, data) { if (data.cell_type === 'heading') { that.element.find('#cell_type').val(data.cell_type+data.level); } else { that.element.find('#cell_type').val(data.cell_type); } }); }; ToolBar.prototype.toggle = function () { this.element.toggle(); IPython.layout_manager.do_resize(); }; IPython.ToolBar = ToolBar; return IPython; }(IPython));