本文整理汇总了TypeScript中phosphor/lib/ui/keymap.Keymap.addBinding方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Keymap.addBinding方法的具体用法?TypeScript Keymap.addBinding怎么用?TypeScript Keymap.addBinding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类phosphor/lib/ui/keymap.Keymap
的用法示例。
在下文中一共展示了Keymap.addBinding方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: startApp
function startApp(session: Session.ISession) {
// Initialize the keymap manager with the bindings.
let commands = new CommandRegistry();
let keymap = new Keymap({ commands });
// Setup the keydown listener for the document.
document.addEventListener('keydown', event => {
keymap.processKeydownEvent(event);
});
const transformers = [
new JavascriptRenderer(),
new MarkdownRenderer(),
new HTMLRenderer(),
new ImageRenderer(),
new SVGRenderer(),
new LatexRenderer(),
new TextRenderer()
];
let renderers: RenderMime.MimeMap<RenderMime.IRenderer> = {};
let order: string[] = [];
for (let t of transformers) {
for (let m of t.mimetypes) {
renderers[m] = t;
order.push(m);
}
}
let sanitizer = defaultSanitizer;
let rendermime = new RenderMime({ renderers, order, sanitizer });
let renderer = CodeMirrorConsoleRenderer.defaultRenderer;
let consolePanel = new ConsolePanel({ session, renderer, rendermime });
consolePanel.title.label = TITLE;
let palette = new CommandPalette({ commands, keymap });
let panel = new SplitPanel();
panel.id = 'main';
panel.orientation = 'horizontal';
panel.spacing = 0;
SplitPanel.setStretch(palette, 0);
SplitPanel.setStretch(consolePanel, 1);
Widget.attach(panel, document.body);
panel.addWidget(palette);
panel.addWidget(consolePanel);
window.onresize = () => { panel.update(); };
let selector = '.jp-ConsolePanel';
let category = 'Console';
let command: string;
command = 'console:clear';
commands.addCommand(command, {
label: 'Clear',
execute: () => { consolePanel.content.clear(); }
});
palette.addItem({ command, category });
command = 'console:execute';
commands.addCommand(command, {
label: 'Execute Prompt',
execute: () => { consolePanel.content.execute(); }
});
palette.addItem({ command, category });
keymap.addBinding({ command, selector, keys: ['Enter'] });
command = 'console:execute-forced';
commands.addCommand(command, {
label: 'Execute Cell (forced)',
execute: () => { consolePanel.content.execute(true); }
});
palette.addItem({ command, category });
keymap.addBinding({ command, selector, keys: ['Shift Enter'] });
command = 'console:linebreak';
commands.addCommand(command, {
label: 'Insert Line Break',
execute: () => { consolePanel.content.insertLinebreak(); }
});
palette.addItem({ command, category });
keymap.addBinding({ command, selector, keys: ['Ctrl Enter'] });
}
示例2: createApp
//.........这里部分代码省略.........
execute: () => {
let context = docManager.contextForWidget(activeWidget);
context.save();
}
});
commands.addCommand('file-cut', {
label: 'Cut',
icon: 'fa fa-cut',
execute: () => { fbWidget.cut(); }
});
commands.addCommand('file-copy', {
label: 'Copy',
icon: 'fa fa-copy',
mnemonic: 0,
execute: () => { fbWidget.copy(); }
});
commands.addCommand('file-delete', {
label: 'Delete',
icon: 'fa fa-remove',
mnemonic: 0,
execute: () => { fbWidget.delete(); }
});
commands.addCommand('file-duplicate', {
label: 'Duplicate',
icon: 'fa fa-copy',
mnemonic: 0,
execute: () => { fbWidget.duplicate(); }
});
commands.addCommand('file-paste', {
label: 'Paste',
icon: 'fa fa-paste',
mnemonic: 0,
execute: () => { fbWidget.paste(); }
});
commands.addCommand('file-download', {
label: 'Download',
icon: 'fa fa-download',
execute: () => { fbWidget.download(); }
});
commands.addCommand('file-shutdown-kernel', {
label: 'Shutdown Kernel',
icon: 'fa fa-stop-circle-o',
execute: () => { fbWidget.shutdownKernels(); }
});
commands.addCommand('file-dialog-demo', {
label: 'Dialog Demo',
execute: () => { dialogDemo(); }
});
commands.addCommand('file-info-demo', {
label: 'Info Demo',
execute: () => {
let msg = 'The quick brown fox jumped over the lazy dog';
showDialog({
title: 'Cool Title',
body: msg,
buttons: [okButton]
});
}
});
keymap.addBinding({
keys: ['Enter'],
selector: '.jp-DirListing',
command: 'file-open'
});
keymap.addBinding({
keys: ['Accel S'],
selector: '.jp-CodeMirrorWidget',
command: 'file-save'
});
window.addEventListener('keydown', (event) => {
keymap.processKeydownEvent(event);
});
let menu = new Menu({ commands, keymap });
menu.addItem({ command: 'file-open' });
menu.addItem({ command: 'file-rename' });
menu.addItem({ command: 'file-remove' });
menu.addItem({ command: 'file-duplicate' });
menu.addItem({ command: 'file-delete' });
menu.addItem({ command: 'file-cut' });
menu.addItem({ command: 'file-copy' });
menu.addItem({ command: 'file-paste' });
menu.addItem({ command: 'file-shutdown-kernel' });
menu.addItem({ command: 'file-dialog-demo' });
menu.addItem({ command: 'file-info-demo' });
// Add a context menu to the dir listing.
let node = fbWidget.node.getElementsByClassName('jp-DirListing-content')[0];
node.addEventListener('contextmenu', (event: MouseEvent) => {
event.preventDefault();
let x = event.clientX;
let y = event.clientY;
menu.open(x, y);
});
Widget.attach(panel, document.body);
window.onresize = () => panel.update();
}