Menu
MacGap.Menu
Properties | description |
---|---|
menuItems | list of current menu’s items |
type | type of menu |
MacGap.Menu.getItem(identifier)
Get a reference to an existing MenuItem in the menu.
Arguments
Argument | description |
---|---|
identifier | Label (string) or the index (int) of the MenuItem |
Example
This example grabs a MenuItem from the top bar called ‘File’.
if(MacGap.Menu.getItem('File')) {
console.log('This menu bar has a File MenuItem');
} else {
console.log('This menu bar does NOT have a File MenuItem');
}
MacGap.Menu.addSeparator()
Adds a line between MenuItems.
Example
Adds a separator between two different MenuItems.
var fileMenu = MacGap.Menu.getItem('File').submenu;
fileMenu.addItem({'Save'});
fileMenu.addSeparator();
fileMenu.addItem({'Quite'});
MacGap.Menu.addItem(properties, callback)
Add a new MenuItem to the menu. On click the callback will be invoked.
Arguments
Argument | description |
---|---|
properties | label (string) - the displayed text, index (int) - the position in the menu, keys (string) - key bindings to invoke the MenuItem |
callback | Function to be invoked when the menu item is clicked |
Example
Add and bind a MenuItem to a callback. Consider that your javascript runs on multiple page loads, we should consider the following:
- the MenuItem should only be added one time
- the original callback bound to the MenuItem may be destroyed
// Your javascript code may run on each page load, so check if the menu item is already in the bar.
if (!MacGap.Menu.getItem('Tasks')) {
// add the new menu item, the return value is the MenuItem object
MacGap.Menu.addItem({ label: 'Tasks', keys: 'cmd+g', index: 1});
// get a reference to the new item's Menu object to add new items to it
var menu = MacGap.Menu.getItem('Tasks').submenu;
// add a new item
menu.addItem({
label: "Testing"
}, function () {
// callback for when the menu item is clicked
});
} else {
// rebind the callbacks to the menu item if the page has changed
var menu = MacGap.Menu.getItem('Tasks').submenu;
menu.getItem('Testing').callback = function() {
// callback for when the menu item is clicked
};
}
MacGap.Menu.create()
TBD
Arguments
Argument | description |
---|---|
title | title (string) for the menu |
type | Optional or set to ‘statusbar’ for status bar menus |