##// END OF EJS Templates
Implemented menu based UI using Wijmo.
Brian Granger -
Show More
@@ -0,0 +1,111 b''
1 //----------------------------------------------------------------------------
2 // Copyright (C) 2008-2011 The IPython Development Team
3 //
4 // Distributed under the terms of the BSD License. The full license is in
5 // the file COPYING, distributed as part of this software.
6 //----------------------------------------------------------------------------
7
8 //============================================================================
9 // MenuBar
10 //============================================================================
11
12 var IPython = (function (IPython) {
13
14 var MenuBar = function (selector) {
15 this.selector = selector;
16 if (this.selector !== undefined) {
17 this.element = $(selector);
18 this.style();
19 this.bind_events();
20 }
21 };
22
23
24 MenuBar.prototype.style = function () {
25 $('ul#menus').wijmenu();
26 $('ul#menus').wijmenu("option", "showDelay", 200);
27 $('ul#menus').wijmenu("option", "hideDelay", 200);
28 $(".selector").wijmenu("option", "animation", {animated:"fade", duration: 200, easing: null})
29 };
30
31
32 MenuBar.prototype.bind_events = function () {
33 // File
34 this.element.find('#new_notebook').click(function () {
35 window.open($('body').data('baseProjectUrl')+'new');
36 });
37 this.element.find('#open_notebook').click(function () {
38 window.open($('body').data('baseProjectUrl'));
39 });
40 this.element.find('#save_notebook').click(function () {
41 IPython.save_widget.save_notebook();
42 });
43 this.element.find('#download_ipynb').click(function () {
44 var notebook_id = IPython.save_widget.get_notebook_id();
45 var url = $('body').data('baseProjectUrl') + 'notebooks/' +
46 notebook_id + '?format=json';
47 window.open(url,'_newtab');
48 });
49 this.element.find('#download_py').click(function () {
50 var notebook_id = IPython.save_widget.get_notebook_id();
51 var url = $('body').data('baseProjectUrl') + 'notebooks/' +
52 notebook_id + '?format=py';
53 window.open(url,'_newtab');
54 });
55 this.element.find('button#print_notebook').click(function () {
56 IPython.print_widget.print_notebook();
57 });
58 // Edit
59 this.element.find('#delete_cell').click(function () {
60 IPython.notebook.delete_cell();
61 });
62 this.element.find('#move_cell_up').click(function () {
63 IPython.notebook.move_cell_up();
64 });
65 this.element.find('#move_cell_down').click(function () {
66 IPython.notebook.move_cell_down();
67 });
68 // Insert
69 this.element.find('#insert_cell_above').click(function () {
70 IPython.notebook.insert_code_cell_above();
71 });
72 this.element.find('#insert_cell_below').click(function () {
73 IPython.notebook.insert_code_cell_below();
74 });
75 // Cell
76 this.element.find('#run_cell').click(function () {
77 IPython.notebook.execute_selected_cell();
78 });
79 this.element.find('#run_cell_in_place').click(function () {
80 IPython.notebook.execute_selected_cell({terminal:true});
81 });
82 this.element.find('#run_all_cells').click(function () {
83 IPython.notebook.execute_all_cells();
84 });
85 this.element.find('#to_code').click(function () {
86 IPython.notebook.to_code();
87 });
88 this.element.find('#to_markdown').click(function () {
89 IPython.notebook.to_markdown();
90 });
91 this.element.find('#toggle_output').click(function () {
92 IPython.notebook.toggle_output();
93 });
94 this.element.find('#clear_all_output').click(function () {
95 IPython.notebook.clear_all_output();
96 });
97 // Kernel
98 this.element.find('#int_kernel').click(function () {
99 IPython.notebook.kernel.interrupt();
100 });
101 this.element.find('#restart_kernel').click(function () {
102 IPython.notebook.restart_kernel();
103 });
104 };
105
106
107 IPython.MenuBar = MenuBar;
108
109 return IPython;
110
111 }(IPython));
@@ -19,7 +19,7 b' body {'
19
19
20 span#save_widget {
20 span#save_widget {
21 padding: 2px 0px;
21 padding: 2px 0px;
22 margin: 0px;
22 margin: 0px 0px 0px 300px;
23 display:inline-block;
23 display:inline-block;
24 }
24 }
25
25
@@ -56,41 +56,8 b' span#kernel_status {'
56 color: black;
56 color: black;
57 }
57 }
58
58
59 div#left_panel {
59 .wijmo-wijmenu {
60 overflow-y: auto;
61 top: 0px;
62 left: 0px;
63 margin: 0px;
64 padding: 0px;
60 padding: 0px;
65 position: absolute;
66 }
67
68 div.section_header {
69 padding: 5px;
70 }
71
72 div.section_header h3 {
73 display: inline;
74 }
75
76 div.section_content {
77 padding: 5px;
78 }
79
80 span.section_row_buttons button {
81 width: 70px;
82 }
83
84 span.section_row_buttons a {
85 width: 70px;
86 }
87
88 .section_row {
89 margin: 5px 0px;
90 }
91
92 .section_row_buttons {
93 float: right;
94 }
61 }
95
62
96 #kernel_persist {
63 #kernel_persist {
@@ -110,78 +77,7 b' span.section_row_buttons a {'
110 font-size: 85%;
77 font-size: 85%;
111 }
78 }
112
79
113 #autoindent_span {
114 float: right;
115 }
116
117 #timebeforetooltip{
118 margin-top:-3px;
119 text-align:right;
120 }
121
122 #timebeforetooltip_span {
123 float: right;
124 padding: 0px 5px;
125 font-size: 85%;
126 }
127
128 #timebeforetooltip_label {
129 float: right;
130 text-align:right;
131 font-size: 85%;
132 }
133
134 #tooltipontab_span {
135 float: right;
136 }
137
138 #smartcompleter_span {
139 float: right;
140 }
141
142 .checkbox_label {
143 font-size: 85%;
144 float: right;
145 padding: 0.3em;
146 }
147
148 .section_row_header {
149 float: left;
150 font-size: 85%;
151 padding: 0.4em 0em;
152 font-weight: bold;
153 }
154
155 span.button_label {
156 padding: 0.2em 1em;
157 font-size: 77%;
158 float: right;
159 }
160
161 /* This is needed because FF was adding a 2px margin top and bottom. */
162 .section_row .ui-button {
163 margin-top: 0px;
164 margin-bottom: 0px;
165 }
166
167 #download_format {
168 float: right;
169 font-size: 85%;
170 width: 62px;
171 margin: 1px 5px;
172 }
173
174 div#left_panel_splitter {
175 width: 8px;
176 top: 0px;
177 left: 202px;
178 margin: 0px;
179 padding: 0px;
180 position: absolute;
181 }
182
183 div#notebook_panel {
80 div#notebook_panel {
184 /* The L margin will be set in the Javascript code*/
185 margin: 0px 0px 0px 0px;
81 margin: 0px 0px 0px 0px;
186 padding: 0px;
82 padding: 0px;
187 }
83 }
@@ -378,23 +274,23 b' div.text_cell_render {'
378
274
379 /*"close" "expand" and "Open in pager button" of
275 /*"close" "expand" and "Open in pager button" of
380 /* the tooltip*/
276 /* the tooltip*/
381 .tooltip a{
277 .tooltip a {
382 float:right;
278 float:right;
383 }
279 }
384
280
385 /*properties of tooltip after "expand"*/
281 /*properties of tooltip after "expand"*/
386 .bigtooltip{
282 .bigtooltip {
387 height:30%;
283 height:30%;
388 }
284 }
389
285
390 /*properties of tooltip before "expand"*/
286 /*properties of tooltip before "expand"*/
391 .smalltooltip{
287 .smalltooltip {
392 text-overflow: ellipsis;
288 text-overflow: ellipsis;
393 overflow: hidden;
289 overflow: hidden;
394 height:15%;
290 height:15%;
395 }
291 }
396
292
397 .tooltip{
293 .tooltip {
398 /*transition when "expand"ing tooltip */
294 /*transition when "expand"ing tooltip */
399 -webkit-transition-property: height;
295 -webkit-transition-property: height;
400 -webkit-transition-duration: 1s;
296 -webkit-transition-duration: 1s;
@@ -419,11 +315,11 b' div.text_cell_render {'
419 }
315 }
420
316
421 /*fixed part of the completion*/
317 /*fixed part of the completion*/
422 .completions p b{
318 .completions p b {
423 font-weight:bold;
319 font-weight:bold;
424 }
320 }
425
321
426 .completions p{
322 .completions p {
427 background: #DDF;
323 background: #DDF;
428 /*outline: none;
324 /*outline: none;
429 padding: 0px;*/
325 padding: 0px;*/
@@ -440,7 +336,7 b' pre.dialog {'
440 padding-left: 2em;
336 padding-left: 2em;
441 }
337 }
442
338
443 p.dialog{
339 p.dialog {
444 padding : 0.2em;
340 padding : 0.2em;
445 }
341 }
446
342
@@ -26,24 +26,11 b' var IPython = (function (IPython) {'
26 var w = win.width();
26 var w = win.width();
27 var h = win.height();
27 var h = win.height();
28 var header_height = $('div#header').outerHeight(true);
28 var header_height = $('div#header').outerHeight(true);
29 var app_height = h - header_height - 2; // content height
29 var menubar_height = $('div#menubar').outerHeight(true);
30 var app_height = h-header_height-menubar_height-2; // content height
30
31
31 $('div#main_app').height(app_height + 2); // content+padding+border height
32 $('div#main_app').height(app_height + 2); // content+padding+border height
32
33
33 $('div#left_panel').height(app_height);
34
35 $('div#left_panel_splitter').height(app_height);
36
37 $('div#notebook_panel').height(app_height);
38 var left_panel_width = $('div#left_panel').outerWidth();
39 var left_panel_splitter_width = $('div#left_panel_splitter').outerWidth();
40 if (IPython.left_panel.expanded) {
41 $('div#notebook_panel').css({marginLeft : left_panel_width+left_panel_splitter_width});
42 } else {
43 $('div#notebook_panel').css({marginLeft : left_panel_splitter_width});
44 }
45
46
47 var pager_height = IPython.pager.percentage_height*app_height;
34 var pager_height = IPython.pager.percentage_height*app_height;
48 var pager_splitter_height = $('div#pager_splitter').outerHeight(true);
35 var pager_splitter_height = $('div#pager_splitter').outerHeight(true);
49 $('div#pager').height(pager_height);
36 $('div#pager').height(pager_height);
@@ -30,6 +30,7 b' var IPython = (function (IPython) {'
30 this.set_tooltipontab(true);
30 this.set_tooltipontab(true);
31 this.set_smartcompleter(true);
31 this.set_smartcompleter(true);
32 this.set_timebeforetooltip(1200);
32 this.set_timebeforetooltip(1200);
33 this.set_autoindent(true);
33 };
34 };
34
35
35
36
@@ -197,7 +198,8 b' var IPython = (function (IPython) {'
197 });
198 });
198
199
199 $(window).bind('beforeunload', function () {
200 $(window).bind('beforeunload', function () {
200 var kill_kernel = $('#kill_kernel').prop('checked');
201 // TODO: Make killing the kernel configurable.
202 var kill_kernel = false;
201 if (kill_kernel) {
203 if (kill_kernel) {
202 that.kernel.kill();
204 that.kernel.kill();
203 }
205 }
@@ -79,17 +79,15 b' $(document).ready(function () {'
79 $('div#main_app').addClass('border-box-sizing ui-widget ui-widget-content');
79 $('div#main_app').addClass('border-box-sizing ui-widget ui-widget-content');
80 $('div#notebook_panel').addClass('border-box-sizing ui-widget');
80 $('div#notebook_panel').addClass('border-box-sizing ui-widget');
81
81
82 $('ul#menus').wijmenu();
83
84 IPython.layout_manager = new IPython.LayoutManager();
82 IPython.layout_manager = new IPython.LayoutManager();
85 IPython.pager = new IPython.Pager('div#pager', 'div#pager_splitter');
83 IPython.pager = new IPython.Pager('div#pager', 'div#pager_splitter');
86 IPython.left_panel = new IPython.LeftPanel('div#left_panel', 'div#left_panel_splitter');
87 IPython.save_widget = new IPython.SaveWidget('span#save_widget');
84 IPython.save_widget = new IPython.SaveWidget('span#save_widget');
88 IPython.quick_help = new IPython.QuickHelp('span#quick_help_area');
85 IPython.quick_help = new IPython.QuickHelp('span#quick_help_area');
89 IPython.login_widget = new IPython.LoginWidget('span#login_widget');
86 IPython.login_widget = new IPython.LoginWidget('span#login_widget');
90 IPython.print_widget = new IPython.PrintWidget('span#print_widget');
87 IPython.print_widget = new IPython.PrintWidget();
91 IPython.notebook = new IPython.Notebook('div#notebook');
88 IPython.notebook = new IPython.Notebook('div#notebook');
92 IPython.kernel_status_widget = new IPython.KernelStatusWidget('#kernel_status');
89 IPython.kernel_status_widget = new IPython.KernelStatusWidget('#kernel_status');
90 IPython.menubar = new IPython.MenuBar('#menubar')
93 IPython.kernel_status_widget.status_idle();
91 IPython.kernel_status_widget.status_idle();
94
92
95 IPython.layout_manager.do_resize();
93 IPython.layout_manager.do_resize();
@@ -1,38 +1,8 b''
1 var IPython = (function (IPython) {
1 var IPython = (function (IPython) {
2
2
3 var PrintWidget = function (selector) {
3 var PrintWidget = function () {
4 this.selector = selector;
5 if (this.selector !== undefined) {
6 this.element = $(selector);
7 this.style();
8 this.bind_events();
9 }
10 };
4 };
11
5
12 PrintWidget.prototype.style = function () {
13 this.element.find('button#print_notebook').button();
14 this.element.find('button#print_notebook').attr('title',
15 "Open a new window with printer-friendly HTML of the Notebook." +
16 " Note that this is incomplete, and may not produce perfect" +
17 " printed output." +
18 " Make sure to save before printing, to ensure the output is up to date."
19 );
20 };
21
22 PrintWidget.prototype.bind_events = function () {
23 var that = this;
24 this.element.find('button#print_notebook').click(function () {
25 that.print_notebook();
26 });
27 };
28
29 PrintWidget.prototype.enable = function () {
30 this.element.find('button#print_notebook').button('enable');
31 };
32
33 PrintWidget.prototype.disable = function () {
34 this.element.find('button#print_notebook').button('disable');
35 };
36
6
37 PrintWidget.prototype.print_notebook = function () {
7 PrintWidget.prototype.print_notebook = function () {
38 var w = window.open('', '_blank', 'scrollbars=1,menubar=1');
8 var w = window.open('', '_blank', 'scrollbars=1,menubar=1');
@@ -53,8 +23,9 b' var IPython = (function (IPython) {'
53 return false;
23 return false;
54 };
24 };
55
25
26
56 IPython.PrintWidget = PrintWidget;
27 IPython.PrintWidget = PrintWidget;
57
28
58 return IPython;
29 return IPython;
59
30
60 }(IPython));
31 }(IPython));
@@ -30,10 +30,6 b' var IPython = (function (IPython) {'
30 this.element.find('input#notebook_name').attr('tabindex','1');
30 this.element.find('input#notebook_name').attr('tabindex','1');
31 this.element.find('button#save_notebook').button();
31 this.element.find('button#save_notebook').button();
32 this.element.find('button#save_notebook').attr('title', 'Save the Notebook');
32 this.element.find('button#save_notebook').attr('title', 'Save the Notebook');
33 var left_panel_width = $('div#left_panel').outerWidth();
34 var left_panel_splitter_width = $('div#left_panel_splitter').outerWidth();
35 $('span#save_widget').css({marginLeft:left_panel_width+left_panel_splitter_width});
36
37 };
33 };
38
34
39
35
@@ -124,28 +120,24 b' var IPython = (function (IPython) {'
124 SaveWidget.prototype.status_save = function () {
120 SaveWidget.prototype.status_save = function () {
125 this.element.find('button#save_notebook').button('option', 'label', '<u>S</u>ave');
121 this.element.find('button#save_notebook').button('option', 'label', '<u>S</u>ave');
126 this.element.find('button#save_notebook').button('enable');
122 this.element.find('button#save_notebook').button('enable');
127 IPython.print_widget.enable();
128 };
123 };
129
124
130
125
131 SaveWidget.prototype.status_saving = function () {
126 SaveWidget.prototype.status_saving = function () {
132 this.element.find('button#save_notebook').button('option', 'label', 'Saving');
127 this.element.find('button#save_notebook').button('option', 'label', 'Saving');
133 this.element.find('button#save_notebook').button('disable');
128 this.element.find('button#save_notebook').button('disable');
134 IPython.print_widget.disable();
135 };
129 };
136
130
137
131
138 SaveWidget.prototype.status_loading = function () {
132 SaveWidget.prototype.status_loading = function () {
139 this.element.find('button#save_notebook').button('option', 'label', 'Loading');
133 this.element.find('button#save_notebook').button('option', 'label', 'Loading');
140 this.element.find('button#save_notebook').button('disable');
134 this.element.find('button#save_notebook').button('disable');
141 IPython.print_widget.disable();
142 };
135 };
143
136
144
137
145 SaveWidget.prototype.status_rename = function () {
138 SaveWidget.prototype.status_rename = function () {
146 this.element.find('button#save_notebook').button('option', 'label', 'Rename');
139 this.element.find('button#save_notebook').button('option', 'label', 'Rename');
147 this.element.find('button#save_notebook').button('enable');
140 this.element.find('button#save_notebook').button('enable');
148 IPython.print_widget.enable();
149 };
141 };
150
142
151
143
@@ -65,71 +65,71 b''
65 <span id="kernel_status">Idle</span>
65 <span id="kernel_status">Idle</span>
66 </div>
66 </div>
67
67
68 <div id="menu_bar">
68 <div id="menubar">
69 <ul id="menus">
69 <ul id="menus">
70 <li><a href="#">File</a>
70 <li><a href="#">File</a>
71 <ul>
71 <ul>
72 <li><a href="#">New</a></li>
72 <li id="new_notebook"><a href="#">New</a></li>
73 <li><a href="#">Open...</a></li>
73 <li id="open_notebook"><a href="#">Open...</a></li>
74 <li></li>
74 <li></li>
75 <li><a href="#">Save</a></li>
75 <li id="save_notebook"><a href="#">Save</a></li>
76 <li></li>
76 <li></li>
77 <li><a href="#">Download as</a>
77 <li><a href="#">Download as</a>
78 <ul>
78 <ul>
79 <li><a href="#">IPython (.ipynb)</a></li>
79 <li id="download_ipynb"><a href="#">IPython (.ipynb)</a></li>
80 <li><a href="#">Python (.py)</a></li>
80 <li id="download_py"><a href="#">Python (.py)</a></li>
81 </ul>
81 </ul>
82 </li>
82 </li>
83 <li></li>
83 <li></li>
84 <li><a href="#">Print</a></li>
84 <li id="print_notebook"><a href="#">Print</a></li>
85
85
86 </ul>
86 </ul>
87 </li>
87 </li>
88 <li><a href="#">Edit</a>
88 <li><a href="#">Edit</a>
89 <ul>
89 <ul>
90 <li><a href="#">Delete</a></li>
90 <li id="delete_cell"><a href="#">Delete</a></li>
91 <li></li>
91 <li></li>
92 <li><a href="#">Move Up</a></li>
92 <li id="move_cell_up"><a href="#">Move Cell Up</a></li>
93 <li><a href="#">Move Down</a></li>
93 <li id="move_cell_down"><a href="#">Move Cell Down</a></li>
94 </ul>
94 </ul>
95 </li>
95 </li>
96 <li><a href="#">Insert</a>
96 <li><a href="#">Insert</a>
97 <ul>
97 <ul>
98 <li><a href="#">Insert Above</a>
98 <li id="insert_cell_above"><a href="#">Insert Cell Above</a>
99 <li><a href="#">Insert Below</a>
99 <li id="insert_cell_below"><a href="#">Insert Cell Below</a>
100 </li>
100 </li>
101 </ul>
101 </ul>
102 </li>
102 </li>
103 <li><a href="#">Cell</a>
103 <li><a href="#">Cell</a>
104 <ul>
104 <ul>
105 <li><a href="#">Run</a></li>
105 <li id="run_cell"><a href="#">Run</a></li>
106 <li><a href="#">Run in Place</a></li>
106 <li id="run_cell_in_place"><a href="#">Run in Place</a></li>
107 <li><a href="#">Run All</a></li>
107 <li id="run_all_cells"><a href="#">Run All</a></li>
108 <li></li>
108 <li></li>
109 <li><a href="#">Code Cell</a></li>
109 <li id="to_code"><a href="#">Code Cell</a></li>
110 <li><a href="#">Markdown Cell</a></li>
110 <li id="to_markdown"><a href="#">Markdown Cell</a></li>
111 <li></li>
111 <li></li>
112 <li><a href="#">Toggle Output</a></li>
112 <li id="toggle_output"><a href="#">Toggle Output</a></li>
113 <li><a href="#">Clear All Output</a></li>
113 <li id="clear_all_output"><a href="#">Clear All Output</a></li>
114 </ul>
114 </ul>
115 </li>
115 </li>
116 <li><a href="#">Kernel</a>
116 <li><a href="#">Kernel</a>
117 <ul>
117 <ul>
118 <li><a href="#">Interrupt</a></li>
118 <li id="int_kernel"><a href="#">Interrupt</a></li>
119 <li><a href="#">Restart</a></li>
119 <li id="restart_kernel"><a href="#">Restart</a></li>
120 </ul>
120 </ul>
121 </li>
121 </li>
122 <li><a href="#">Help</a>
122 <li><a href="#">Help</a>
123 <ul>
123 <ul>
124 <li><a href="#">IPython Help</a></li>
124 <li><a href="http://ipython.org/documentation.html" target="_blank">IPython Help</a></li>
125 <li><a href="#">Notebook Help</a></li>
125 <li><a href="http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html" target="_blank">Notebook Help</a></li>
126 <li><a href="#">Notebook QuickRef</a></li>
126 <li><a href="#">Notebook QuickRef</a></li>
127 <li><h2>External Docs</h2></li>
127 <li><h2>External Docs</h2></li>
128 <li><a href="#">Python</a></li>
128 <li><a href="http://docs.python.org" target="_blank">Python</a></li>
129 <li><a href="#">NumPy</a></li>
129 <li><a href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a></li>
130 <li><a href="#">SciPy</a></li>
130 <li><a href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a></li>
131 <li><a href="#">SymPy</a></li>
131 <li><a href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a></li>
132 <li><a href="#">Matplotlib</a></li>
132 <li><a href="http://matplotlib.sourceforge.net/" target="_blank">Matplotlib</a></li>
133 </ul>
133 </ul>
134 </li>
134 </li>
135 </ul>
135 </ul>
@@ -138,190 +138,6 b''
138
138
139 <div id="main_app">
139 <div id="main_app">
140
140
141 <div id="left_panel">
142
143 <div id="notebook_section">
144 <div class="section_header">
145 <h3>Notebook</h3>
146 </div>
147 <div class="section_content">
148 <div class="section_row">
149 <span id="new_open" class="section_row_buttons">
150 <button id="new_notebook">New</button>
151 <button id="open_notebook">Open</button>
152 </span>
153 <span class="section_row_header">Actions</span>
154 </div>
155 <div class="section_row">
156 <span>
157 <select id="download_format">
158 <option value="json">ipynb</option>
159 <option value="py">py</option>
160 </select>
161 </span>
162 <span class="section_row_buttons">
163 <button id="download_notebook">Download</button>
164 </span>
165 </div>
166 <div class="section_row">
167 <span class="section_row_buttons">
168 <span id="print_widget">
169 <button id="print_notebook">Print</button>
170 </span>
171 </span>
172 </div>
173 </div>
174 </div>
175
176 <div id="cell_section">
177 <div class="section_header">
178 <h3>Cell</h3>
179 </div>
180 <div class="section_content">
181 <div class="section_row">
182 <span class="section_row_buttons">
183 <button id="delete_cell"><u>D</u>elete</button>
184 </span>
185 <span class="section_row_header">Actions</span>
186 </div>
187 <div class="section_row">
188 <span id="cell_type" class="section_row_buttons">
189 <button id="to_code"><u>C</u>ode</button>
190 <!-- <button id="to_html">HTML</button>-->
191 <button id="to_markdown"><u>M</u>arkdown</button>
192 </span>
193 <span class="button_label">Format</span>
194 </div>
195 <div class="section_row">
196 <span id="cell_output" class="section_row_buttons">
197 <button id="toggle_output"><u>T</u>oggle</button>
198 <button id="clear_all_output">ClearAll</button>
199 </span>
200 <span class="button_label">Output</span>
201 </div>
202 <div class="section_row">
203 <span id="insert" class="section_row_buttons">
204 <button id="insert_cell_above"><u>A</u>bove</button>
205 <button id="insert_cell_below"><u>B</u>elow</button>
206 </span>
207 <span class="button_label">Insert</span>
208 </div>
209 <div class="section_row">
210 <span id="move" class="section_row_buttons">
211 <button id="move_cell_up">Up</button>
212 <button id="move_cell_down">Down</button>
213 </span>
214 <span class="button_label">Move</span>
215 </div>
216 <div class="section_row">
217 <span id="run_cells" class="section_row_buttons">
218 <button id="run_selected_cell">Selected</button>
219 <button id="run_all_cells">All</button>
220 </span>
221 <span class="button_label">Run</span>
222 </div>
223 <div class="section_row">
224 <span id="autoindent_span">
225 <input type="checkbox" id="autoindent" checked="true"></input>
226 </span>
227 <span class="checkbox_label" id="autoindent_label">Autoindent:</span>
228 </div>
229 </div>
230 </div>
231
232 <div id="kernel_section">
233 <div class="section_header">
234 <h3>Kernel</h3>
235 </div>
236 <div class="section_content">
237 <div class="section_row">
238 <span id="int_restart" class="section_row_buttons">
239 <button id="int_kernel"><u>I</u>nterrupt</button>
240 <button id="restart_kernel">Restart</button>
241 </span>
242 <span class="section_row_header">Actions</span>
243 </div>
244 <div class="section_row">
245 <span id="kernel_persist">
246 {% if kill_kernel %}
247 <input type="checkbox" id="kill_kernel" checked="true"></input>
248 {% else %}
249 <input type="checkbox" id="kill_kernel"></input>
250 {% end %}
251 </span>
252 <span class="checkbox_label" id="kill_kernel_label">Kill kernel upon exit:</span>
253 </div>
254 </div>
255 </div>
256
257 <div id="help_section">
258 <div class="section_header">
259 <h3>Help</h3>
260 </div>
261 <div class="section_content">
262 <div class="section_row">
263 <span id="help_buttons0" class="section_row_buttons">
264 <a id="python_help" href="http://docs.python.org" target="_blank">Python</a>
265 <a id="ipython_help" href="http://ipython.org/documentation.html" target="_blank">IPython</a>
266 </span>
267 <span class="section_row_header">Links</span>
268 </div>
269 <div class="section_row">
270 <span id="help_buttons1" class="section_row_buttons">
271 <a id="numpy_help" href="http://docs.scipy.org/doc/numpy/reference/" target="_blank">NumPy</a>
272 <a id="scipy_help" href="http://docs.scipy.org/doc/scipy/reference/" target="_blank">SciPy</a>
273 </span>
274 </div>
275 <div class="section_row">
276 <span id="help_buttons2" class="section_row_buttons">
277 <a id="matplotlib_help" href="http://matplotlib.sourceforge.net/" target="_blank">MPL</a>
278 <a id="sympy_help" href="http://docs.sympy.org/dev/index.html" target="_blank">SymPy</a>
279 </span>
280 </div>
281 <div class="section_row">
282 <span class="help_string">run selected cell</span>
283 <span class="help_string_label">Shift-Enter :</span>
284 </div>
285 <div class="section_row">
286 <span class="help_string">run selected cell in-place</span>
287 <span class="help_string_label">Ctrl-Enter :</span>
288 </div>
289 <div class="section_row">
290 <span class="help_string">show keyboard shortcuts</span>
291 <span class="help_string_label">Ctrl-m h :</span>
292 </div>
293 </div>
294 </div>
295
296 <div id="config_section">
297 <div class="section_header">
298 <h3>Configuration</h3>
299 </div>
300 <div class="section_content">
301 <div class="section_row">
302 <span id="tooltipontab_span">
303 <input type="checkbox" id="tooltipontab" checked="true"></input>
304 </span>
305 <span class="checkbox_label" id="tooltipontab_label">Tooltip on tab:</span>
306 </div>
307 <div class="section_row">
308 <span id="smartcompleter_span">
309 <input type="checkbox" id="smartcompleter" checked="true"></input>
310 </span>
311 <span class="checkbox_label" id="smartcompleter_label">Smart completer:</span>
312 </div>
313 <div class="section_row">
314 <span id="timebeforetooltip_span">
315 <input type="text" id="timebeforetooltip" value="1200" size='6'></input>
316 <span class="numeric_input_label" id="timebeforetooltip_unit">milliseconds</span>
317 </span>
318 <span class="numeric_input_label" id="timebeforetooltip_label">Time before tooltip : </span>
319 </div>
320 </div>
321 </div>
322
323 </div>
324 <div id="left_panel_splitter"></div>
325 <div id="notebook_panel">
141 <div id="notebook_panel">
326 <div id="notebook"></div>
142 <div id="notebook"></div>
327 <div id="pager_splitter"></div>
143 <div id="pager_splitter"></div>
@@ -361,9 +177,8 b''
361 <script src="/static/js/quickhelp.js" type="text/javascript" charset="utf-8"></script>
177 <script src="/static/js/quickhelp.js" type="text/javascript" charset="utf-8"></script>
362 <script src="/static/js/loginwidget.js" type="text/javascript" charset="utf-8"></script>
178 <script src="/static/js/loginwidget.js" type="text/javascript" charset="utf-8"></script>
363 <script src="/static/js/pager.js" type="text/javascript" charset="utf-8"></script>
179 <script src="/static/js/pager.js" type="text/javascript" charset="utf-8"></script>
364 <script src="/static/js/panelsection.js" type="text/javascript" charset="utf-8"></script>
365 <script src="/static/js/printwidget.js" type="text/javascript" charset="utf-8"></script>
180 <script src="/static/js/printwidget.js" type="text/javascript" charset="utf-8"></script>
366 <script src="/static/js/leftpanel.js" type="text/javascript" charset="utf-8"></script>
181 <script src="/static/js/menubar.js" type="text/javascript" charset="utf-8"></script>
367 <script src="/static/js/notebook.js" type="text/javascript" charset="utf-8"></script>
182 <script src="/static/js/notebook.js" type="text/javascript" charset="utf-8"></script>
368 <script src="/static/js/notebookmain.js" type="text/javascript" charset="utf-8"></script>
183 <script src="/static/js/notebookmain.js" type="text/javascript" charset="utf-8"></script>
369
184
1 NO CONTENT: file was removed
NO CONTENT: file was removed
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now