node-webkit で menubar

リファレンス読んでもよく分からなくて、かなり躓いたので自分用メモ。英語難しい。

var gui = require('nw.gui');

var menubar = new gui.Menu({ type: 'menubar' });

var subMenu = new gui.Menu();

var subMenuItem1 = new gui.MenuItem({
	label: 'subMenuItem1 です'
});
var subMenuItem2 = new gui.MenuItem({
	label: 'subMenuItem2 です'
});

subMenu.append(subMenuItem1);
subMenu.append(subMenuItem2);

menubar.append(new gui.MenuItem({
	label: 'SubMenu',
	submenu: subMenu
}));

gui.Window.get().menu = menubar;

構造としては(括弧内はコード内での変数名)、

  • Menu (menubar)
    • MenuItem (無名)
      • Menu (subMenu)
        • MenuItem (subMenuItem{1,2})

になるのかな?