diff --git a/IPython/frontend/html/notebook/static/js/maintoolbar.js b/IPython/frontend/html/notebook/static/js/maintoolbar.js
new file mode 100644
index 0000000..de7f4cd
--- /dev/null
+++ b/IPython/frontend/html/notebook/static/js/maintoolbar.js
@@ -0,0 +1,182 @@
+//----------------------------------------------------------------------------
+// Copyright (C) 2008 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 MainToolBar = function (selector) {
+ this.selector = selector;
+ if (this.selector !== undefined) {
+ IPython.Cell.apply(this, arguments);
+ // move the rest ouside
+ this.construct();
+ this.addDropDownList();
+ this.bind_events();
+ }
+ };
+
+ MainToolBar.prototype = new IPython.ToolBar();
+
+ MainToolBar.prototype.addDropDownList = function() {
+ var select = $(this.selector)
+ .append($('')
+ .attr('id','cell_type')
+ .addClass('ui-widget ui-widget-content')
+ .append($('').attr('value','code').text('Code'))
+ .append($('').attr('value','markdown').text('Markdown'))
+ .append($('').attr('value','raw').text('Raw Text'))
+ .append($('').attr('value','heading1').text('Heading 1'))
+ .append($('').attr('value','heading2').text('Heading 2'))
+ .append($('').attr('value','heading3').text('Heading 3'))
+ .append($('').attr('value','heading4').text('Heading 4'))
+ .append($('').attr('value','heading5').text('Heading 5'))
+ .append($('').attr('value','heading6').text('Heading 6'))
+ .append($('').attr('value','heading7').text('Heading 7'))
+ .append($('').attr('value','heading8').text('Heading 8'))
+ );
+ }
+
+ MainToolBar.prototype.construct = function() {
+ this.addButtonsGroup([
+ {
+ 'id':'save_b',
+ 'label':'Save',
+ 'icon':'ui-icon-disk',
+ 'callback':function(){
+ IPython.notebook.save_notebook();
+ },
+ },
+ ]);
+ this.addButtonsGroup([
+ {
+ 'id':'cut_b',
+ 'label':'Cut Cell',
+ 'icon':'ui-icon-scissors',
+ 'callback':function(){
+ IPython.notebook.cut_cell();
+ },
+ },
+ {
+ 'id':'copy_b',
+ 'label':'Copy Cell',
+ 'icon':'ui-icon-copy',
+ 'callback':function(){
+ IPython.notebook.copy_cell();
+ },
+ },
+ {
+ 'id':'paste_b',
+ 'label':'Paste Cell',
+ 'icon':'ui-icon-clipboard',
+ 'callback':function(){
+ IPython.notebook.paste_cell();
+ },
+ },
+ ],'cut_copy_paste');
+
+ this.addButtonsGroup([
+ {
+ 'id':'move_up_b',
+ 'label':'Move Cell Up',
+ 'icon':'ui-icon-arrowthick-1-n',
+ 'callback':function(){
+ IPython.notebook.move_cell_up();
+ },
+ },
+ {
+ 'id':'move_down_b',
+ 'label':'Move Cell Down',
+ 'icon':'ui-icon-arrowthick-1-s',
+ 'callback':function(){
+ IPython.notebook.move_cell_down();
+ },
+ },
+ ],'move_up_down');
+
+ this.addButtonsGroup([
+ {
+ 'id':'insert_above_b',
+ 'label':'Insert Cell Above',
+ 'icon':'ui-icon-arrowthickstop-1-n',
+ 'callback':function(){
+ IPython.notebook.insert_cell_above('code');
+ },
+ },
+ {
+ 'id':'insert_below_b',
+ 'label':'Insert Cell Below',
+ 'icon':'ui-icon-arrowthickstop-1-s',
+ 'callback':function(){
+ IPython.notebook.insert_cell_below('code');
+ },
+ },
+ ],'insert_above_below');
+
+ this.addButtonsGroup([
+ {
+ 'id':'run_b',
+ 'label':'Run Cell',
+ 'icon':'ui-icon-play',
+ 'callback':function(){
+ IPython.notebook.execute_selected_cell();
+ },
+ },
+ {
+ 'id':'interrupt_b',
+ 'label':'Interrupt',
+ 'icon':'ui-icon-stop',
+ 'callback':function(){
+ IPython.notebook.kernel.interrupt();
+ },
+ },
+ ],'run_int');
+
+
+ }
+
+ MainToolBar.prototype.bind_events = function () {
+ var that = this;
+
+ 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 === 'raw') {
+ IPython.notebook.to_raw();
+ } 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);
+ }
+ });
+ };
+
+ IPython.MainToolBar = MainToolBar;
+
+ return IPython;
+
+}(IPython));