pointvec/sources/scripts/controller.js

36 lines
853 B
JavaScript
Raw Normal View History

2018-01-12 03:09:26 -05:00
function Controller()
{
this.menu = {default:{}};
this.mode = "default";
this.app = require('electron').remote.app;
this.start = function()
{
}
this.add = function(mode,cat,label,fn,accelerator)
{
if(!this.menu[mode]){ this.menu[mode] = {}; }
if(!this.menu[mode][cat]){ this.menu[mode][cat] = {}; }
this.menu[mode][cat][label] = {fn:fn,accelerator:accelerator};
2018-01-12 03:46:09 -05:00
console.log("Added control",mode,cat,label,accelerator)
2018-01-12 03:09:26 -05:00
}
this.commit = function()
{
var f = [];
var m = this.menu[this.mode];
for(cat in m){
var submenu = [];
for(name in m[cat]){
var option = m[cat][name];
submenu.push({label:name,accelerator:option.accelerator,click:option.fn})
}
f.push({label:cat,submenu:submenu});
}
this.app.inject_menu(f);
}
}
module.exports = new Controller();