diff --git a/src/appkit.rs b/src/appkit.rs index 3f13bd1..7ce0b6f 100644 --- a/src/appkit.rs +++ b/src/appkit.rs @@ -216,6 +216,7 @@ pub trait NSApplication { unsafe fn setActivationPolicy_(self, policy: NSApplicationActivationPolicy) -> BOOL; unsafe fn setMainMenu_(self, menu: id); + unsafe fn setServicesMenu_(self, menu: id); unsafe fn activateIgnoringOtherApps_(self, ignore: BOOL); unsafe fn run(self); unsafe fn finishLaunching(self); @@ -238,6 +239,10 @@ impl NSApplication for id { msg_send![self, setMainMenu:menu] } + unsafe fn setServicesMenu_(self, menu: id) { + msg_send![self, setServicesMenu:menu] + } + unsafe fn activateIgnoringOtherApps_(self, ignore: BOOL) { msg_send![self, activateIgnoringOtherApps:ignore] } @@ -279,13 +284,24 @@ pub trait NSMenu { msg_send![class("NSMenu"), new] } + unsafe fn setAutoenablesItems(self, state: BOOL); + unsafe fn addItem_(self, menu_item: id); + unsafe fn addItemWithTitle_action_keyEquivalent(self, title: id, action: SEL, key: id) -> id; } impl NSMenu for id { + unsafe fn setAutoenablesItems(self, state: BOOL) { + msg_send![self, setAutoenablesItems: state] + } + unsafe fn addItem_(self, menu_item: id) { msg_send![self, addItem:menu_item] } + + unsafe fn addItemWithTitle_action_keyEquivalent(self, title: id, action: SEL, key: id) -> id { + msg_send![self, addItemWithTitle:title action:action keyEquivalent:key] + } } pub trait NSMenuItem { @@ -297,7 +313,12 @@ pub trait NSMenuItem { msg_send![class("NSMenuItem"), new] } + unsafe fn separatorItem(_: Self) -> id { + msg_send![class("NSMenuItem"), separatorItem] + } + unsafe fn initWithTitle_action_keyEquivalent_(self, title: id, action: SEL, key: id) -> id; + unsafe fn setKeyEquivalentModifierMask_(self, mask: NSEventModifierFlags); unsafe fn setSubmenu_(self, submenu: id); } @@ -306,6 +327,10 @@ impl NSMenuItem for id { msg_send![self, initWithTitle:title action:action keyEquivalent:key] } + unsafe fn setKeyEquivalentModifierMask_(self, mask: NSEventModifierFlags) { + msg_send![self, setKeyEquivalentModifierMask:mask] + } + unsafe fn setSubmenu_(self, submenu: id) { msg_send![self, setSubmenu:submenu] }