Editor.Menu
Class: Editor.Menu
new Editor.Menu (template[, webContents])
templatearray|object - Menu template for initialize. The template take the options of Electron's Menu Itempathstring - add a menu item by path.messagestring - Ipc message name.commandstring - A global function in main process (e.g. Editor.log).paramsarray - The parameters passed through ipc.panelstring - The panelID, if specified, the message will send to panel.devstring - Only show when Menu.showDev is true.
webContentsobject - A WebContents object.
Instance Methods
menu.add (path, template)
pathstring - The menu pathtemplatearray|object
Build a template into menu item and add it to path
Example:
let editorMenu = new Editor.Menu();
editorMenu.add( 'foo/bar', {
label: foobar,
message: 'foobar:say',
params: ['foobar: hello!']
});
// you can also create menu without label
// it will add menu to foo/bar where bar is the menu-item
let editorMenu = new Editor.Menu();
editorMenu.add( 'foo/bar/foobar', {
message: 'foobar:say',
params: ['foobar: hello!']
});
menu.clear ()
Clear all menu item in it.
menu.dispose ()
De-reference the native menu.
menu.insert (path, pos, template)
pathstring - The menu pathposnumbertemplatearray|object
Build a template into menu item and insert it to path at specific position
menu.remove (path)
Remove menu item at path.
menu.reset (template)
templatearray|object
Reset the menu from the template.
menu.set (path, options)
path- The menu pathoptionsiconNativeImage - A NativeImageenabledbooleanvisiblebooleancheckedboolean - NOTE: You must set your menu-item type to 'checkbox' to make it work
menu.update (path, template)
pathstring - The menu pathtemplatearray|object
Update menu item at path.
Static Properties
Editor.Menu.showDev
Indicate if show dev menu
Static Methods
Editor.Menu.convert (template[, webContents])
templatearray|object - Menu template for initialize. The template take the options of Electron's Menu ItemwebContentsobject - A WebContents object.
Convert the menu template to process additional keyword we added for Electron.
If webContents provided, the template.message will send to the target webContents.
Editor.Menu.getMenu (name)
namestring - Name of the register menu
Editor.Menu.register (name, fn[, force])
namestring - Name of the register menufnfunction - A function returns the menu templateforceboolean - Force to register a menu even it was registered before
Editor.Menu.unregister (name)
namestring - Name of the register menu
Editor.Menu.walk (template, fn)
templatearray|object - Menu template for initialize. The template take the options of Electron's Menu Itemfnfunction - Function applied to each menu item
Example:
Editor.Menu.walk(menuTmpl, item => {
if ( item.params ) {
item.params.unshift('Hello');
}
if (item.message === 'foobar:say-hello') {
item.enabled = false;
}
});