Reputation: 40313
I have a toolbar with various options and some options should not be visible in some cases. I have already figured out a way to disable them in my application, using this callback:
- (BOOL) validateToolbarItem: (NSToolbarItem *) toolbarItem
But I haven't figured out a way to really hide them when I need. Anyone has any ideas on how to do this or if it's really possible at all?
Upvotes: 7
Views: 4267
Reputation: 437
It's now finally possible with macOS 15 - the NSToolbarItem
class now has a hidden
property: https://developer.apple.com/documentation/appkit/nstoolbaritem/4357352-hidden
Upvotes: 0
Reputation: 9121
Instead of endless adding and removing toolbar items in a single NSToolbar
object to adjust the toolbar for a certain context, it is usually better to implement multiple NSToolbar instances, all with their own configuration for a certain context, and assign the applicable configuration to the toolbar
property of the NSWindow
.
Upvotes: 0
Reputation: 7303
If disabling them is not enough you could remove the items.
[myToolbar removeItemAtIndex:itemIndex];
Then when you need to put them back, just re-insert them:
[myToolbar insertItemWithItemIdentifier:itemIdentifier atIndex:itemIndex];
Look at Adding and Removing Toolbar Items in the Apple docs.
Upvotes: 13
Reputation: 61341
No built-in visibility property for buttons. Remove it from the toolbar and re-add when needed.
Upvotes: 1