//----------------------------------------------------------------------------
// 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.
//----------------------------------------------------------------------------
//============================================================================
// QuickHelp button
//============================================================================
var IPython = (function (IPython) {
"use strict";
var QuickHelp = function (selector) {
};
QuickHelp.prototype.show_keyboard_shortcuts = function () {
// toggles display of keyboard shortcut dialog
var that = this;
if ( this.shortcut_dialog ){
// if dialog is already shown, close it
$(this.shortcut_dialog).modal("toggle");
return;
}
var command_shortcuts = IPython.keyboard_manager.command_shortcuts.help();
var edit_shortcuts = IPython.keyboard_manager.edit_shortcuts.help();
var help, shortcut;
var i, half, n;
var element = $('
');
// The documentation
var doc = $('').addClass('alert');
doc.append(
$('').addClass('close').attr('data-dismiss','alert').html('×')
).append(
'The IPython Notebook has two different keyboard input modes. Edit mode '+
'allow you the type code/text into a cell and is indicated by a green cell '+
'border. Command mode binds the keyboard to notebook level actions '+
'and is indicated by a grey cell border.'
)
element.append(doc);
// Command mode
var cmd_div = $('').append($('
Command Mode (press ESC to enable)
'));
var cmd_sub_div = $('').addClass('hbox');
var cmd_col1 = $('').addClass('box-flex0');
var cmd_col2 = $('').addClass('box-flex0');
n = command_shortcuts.length;
half = ~~(n/2); // Truncate :)
for (i=0; i').addClass('quickhelp').
append($('').addClass('shortcut_key').html(shortcut)).
append($('').addClass('shortcut_descr').html(' : ' + help))
);
};
for (i=half; i').addClass('quickhelp').
append($('').addClass('shortcut_key').html(shortcut)).
append($('').addClass('shortcut_descr').html(' : ' + help))
);
};
cmd_sub_div.append(cmd_col1).append(cmd_col2);
cmd_div.append(cmd_sub_div);
element.append(cmd_div);
// Edit mode
var edit_div = $('').append($('
Edit Mode (press ENTER to enable)
'));
var edit_sub_div = $('').addClass('hbox');
var edit_col1 = $('').addClass('box-flex0');
var edit_col2 = $('').addClass('box-flex0');
n = edit_shortcuts.length;
half = ~~(n/2); // Truncate :)
for (i=0; i').addClass('quickhelp').
append($('').addClass('shortcut_key').html(shortcut)).
append($('').addClass('shortcut_descr').html(' : ' + help))
);
};
for (i=half; i').addClass('quickhelp').
append($('').addClass('shortcut_key').html(shortcut)).
append($('').addClass('shortcut_descr').html(' : ' + help))
);
};
edit_sub_div.append(edit_col1).append(edit_col2);
edit_div.append(edit_sub_div);
element.append(edit_div);
this.shortcut_dialog = IPython.dialog.modal({
title : "Keyboard shortcuts",
body : element,
destroy : false,
buttons : {
Close : {}
}
});
};
// Set module variables
IPython.QuickHelp = QuickHelp;
return IPython;
}(IPython));