-
Notifications
You must be signed in to change notification settings - Fork 3.9k
MenuItem
MenuItem API requires node-webkit >= 0.3.0
MenuItem
represents an item in a menu. A MenuItem
can be a separator or a normal item which has label and icon. MenuItem
is usually used with Menu
together.
// Load native UI library
var gui = require('nw.gui');
var item;
// Create a separator
item = new gui.MenuItem({ type: 'separator' });
// Create a normal item with label and icon
item = new gui.MenuItem({
type: "normal",
label: "I'm a menu item",
icon: "img/icon.png"
});
// Or you can omit the 'type' field for normal items
item = new gui.MenuItem({ label: 'Simple item' });
// Bind a callback to item
item = new gui.MenuItem({
label: "Click me",
click: function() {
console.log("I'm clicked");
}
});
// You can have submenu!
var submenu = new gui.Menu({ title: 'Sub Menu' });
submenu.append(new gui.MenuItem({ label: 'Item 1' }));
submenu.append(new gui.MenuItem({ label: 'Item 2' }));
submenu.append(new gui.MenuItem({ label: 'Item 3' }));
item.submenu = submenu;
// And everything can be changed at runtime
item.label = 'New label';
item.click = function() { console.log('New click callback'); };
Create new MenuItem
, option
is an object contains initial settings for the MenuItem
. option
can have following fields: label
, icon
, tooltip
, type
, click
, checked
, enabled
and submenu
.
Every field has its own property in the MenuItem
, see documentation of each property for details.
Get the type
of a MenuItem
, it can be separator
or normal
for now. A MenuItem
's type can be set only when you create it, it cannot be changed at runtime.
Get or Set the label
of a MenuItem
, it can only be plain text for now.
Get or Set the icon
of a MenuItem
, it must a path to your icon file. It can be a relative path which points to an icon in your app, or an absolute path pointing to a file in user's system.
It has no effect on setting icon
of a separator
item.
Get or Set the tooltip
of a MenuItem
, it can only be plain text. A tooltip
is short string that describes the menu item, it will show when you hover your mouse on the item.
Get or Set whether the MenuItem
is checked
. Usually if a MenuItem
is checked, there will be a mark on the left side of it. Is's used mostly to indicate whether an option is on.
Get or Set whether the MenuItem
is enabled
. An disabled MenuItem
will be greyed out and you will not be able to click on it.
Get or Set the submenu
of a MenuItem
, the submenu
must be a Menu
object. Developers had better set submenu
in the option
when creating the MenuItem
, changing it at runtime is slow on some platforms.