Mac Developer Library

Developer

AppKit Framework Reference NSMenuValidation Protocol Reference

Options
Deployment Target:

On This Page
Language:

NSMenuValidation

This informal protocol allows your application to update the enabled or disabled status of an NSMenuItem object. It declares only one method, validateMenuItem:.

Inheritance


Not Applicable

Conforms To


Not Applicable

Import Statement


import AppKit @import AppKit;

Availability


Available in OS X v10.0 and later.
  • Implemented to override the default action of enabling or disabling a specific menu item.

    Declaration

    Swift

    func validateMenuItem(_ menuItem: NSMenuItem) -> Bool

    Objective-C

    - (BOOL)validateMenuItem:(NSMenuItem *)menuItem

    Parameters

    menuItem

    An NSMenuItem object that represents the menu item.

    Return Value

    YEStrue to enable menuItem, NOfalse to disable it.

    Discussion

    The object implementing this method must be the target of menuItem. You can determine which menu item menuItem is by querying it for its tag or action.

    The following example disables the menu item associated with the nextRecord action method when the selected line in a table view is the last one; conversely, it disables the menu item with priorRecord as its action method when the selected row is the first one in the table view. (The countryKeys array contains names that appear in the table view.)

    • - (BOOL)validateMenuItem:(NSMenuItem *)item {
    • int row = [tableView selectedRow];
    • if ([item action] == @selector(nextRecord) &&
    • (row == [countryKeys indexOfObject:[countryKeys lastObject]])) {
    • return NO;
    • }
    • if ([item action] == @selector(priorRecord) && row == 0) {
    • return NO;
    • }
    • return YES;
    • }

    Import Statement

    import AppKit

    Availability

    Available in OS X v10.0 and later.