Contents

validateToolbarItem(_:)

Determines whether to enable or disable the toolbar item.

Declaration

@MainActor func validateToolbarItem(_ item: NSToolbarItem) -> Bool

Discussion

If this method is implemented and returns false, NSToolbar will disable item. Returning true causes item to be enabled.

NSToolbar only calls this method for image items.

If the receiver is the target for the actions of multiple toolbar items, it’s necessary to determine which toolbar item item refers to by testing the itemIdentifier.

-(BOOL)validateToolbarItem:(NSToolbarItem *)toolbarItem
{
    BOOL enable = NO;
    if ([[toolbarItem itemIdentifier] isEqual:SaveDocToolbarItemIdentifier]) {
        // We will return YES (enable the save item)
        // only when the document is dirty and needs saving
        enable = [self isDocumentEdited];
    } else if ([[toolbarItem itemIdentifier] isEqual:NSToolbarPrintItemIdentifier]) {
        // always enable print for this window
        enable = YES;
    }
    return enable;
}

See Also

Related Documentation