scide: implement selectionLength for openDocument
[supercollider.git] / HelpSource / Classes / CocoaMenuItem.schelp
blobda7cf5074943741d08e16f00264a73efa1890a87
1 class:: CocoaMenuItem
2 summary:: Abstract superclass of OSX Menu Items
3 categories:: GUI>Kits>Cocoa
4 related:: Classes/SCMenuItem, Classes/SCMenuGroup, Classes/SCMenuSeparator
6 description::
7 CocoaMenuItem represents a menu item or sub menu in the application menu. This is an abstract class. Generally you will deal with the subclasses SCMenuItem, SCMenuGroup, and SCMenuSeparator, but the convenience method *add (see below) allows one to easily add items to a default 'Library' menu.
10 classmethods::
12 method:: clearCustomItems
13 Clear all custom menu items.
15 method:: default
16 Returns the 'Library' menu, creating it if necessary.
18 method:: add
19 Add an item to the Library menu. The Library menu will be created automatically if needed.
20 argument:: names
21 An link::Classes/Array:: of link::Classes/String::s indicating the menu path to this item.
22 argument:: action
23 A link::Classes/Function:: that will be evaluated when this item is selected.
26 instancemethods::
28 method:: action
29 Get or set this item's action. This is a Function that will be evaluated when this item is selected.
32 method:: state
33 Get or set this item's state.
34 argument:: bool
35 If bool is true a check mark is displayed next to the item.
37 method:: remove
38 Remove the receiver and its children (if any).
40 method:: enabled
41 Enable or disable this menu item.
42 argument:: bool
43 A link::Classes/Boolean:: indicating whether this item should be enabled or disabled.
45 method:: setShortCut
46 Set the keyboard shortcut for this item. The Cmd key is assumed.
47 argument:: string
48 A link::Classes/String:: indicating the character for this shortcut.
49 argument:: alt
50 A link::Classes/Boolean:: indicating whether the alt key is included in this shortcut. Default value is false.
51 argument:: ctrl
52 A link::Classes/Boolean:: indicating whether the ctrl key is included in this shortcut. Default value is false.
54 method:: doAction
55 Evaluate the receiver's action function.
58 examples::
60 code::
61 // Simple example
62 g = SCMenuGroup(nil, "stuff", 10);
63 i = SCMenuItem(g, "foo");
64 j = SCMenuItem(g, "bar");
65 j.action = { "bar!!".postln };
66 k = SCMenuSeparator(g, 1); // add a separator
67 i.enabled = false;
68 j.state = true;
69 j.setShortCut("$", true, true); // Cmd-ctrl-alt-$
71 // using *add
72 CocoaMenuItem.add(["hallo", "world"], { "hallo menu".postln });
73 CocoaMenuItem.add(["hallo", "world", "here"], { "hallo here".postln }); // fails correctly
74 CocoaMenuItem.add(["mellow", "world", "here"], { "mellow here".postln }); // works.
75 CocoaMenuItem.add(["hallo", "thought"], { "hallo world".scramble.postln });
77 CocoaMenuItem.clearCustomItems;