2010-07-15 4 views
1

Je travaille sur une application Mac qui utilise une barre d'outils dans sa fenêtre principale. Dans le menu, il y a un élément qui permet à l'utilisateur d'afficher ou de masquer la barre d'outils. Dans Interface Builder, cet élément de menu est connecté à la méthode toggleToolbarShown: First Responder de mon MainMenu.xib. FWIW, ma fenêtre principale est dans un autre xib et toggleToolbarShown: est correctement appelée quand c'est la fenêtre la plus en avant.Désactiver toggleToolbarShown: pour le panneau Préférences d'une application Mac (Cocoa)?

Mon application dispose d'un panneau de préférences doté également d'une barre d'outils. Cependant, je ne veux pas que l'utilisateur puisse basculer la barre d'outils sur ce panneau. À l'heure actuelle, l'élément de menu show/hide permet de basculer de la barre d'outils de préférence lorsque la fenêtre de préférence est la plus avancée puisqu'elle passe par le premier répondeur. Comment désactiver ce comportement uniquement pour le panneau de préférences, mais pas pour la fenêtre principale?

Répondre

3

Vous pouvez utiliser une sous-classe NSWindow pour votre fenêtre de préférences et désactiver l'élément de menu à partir de là. Voir Camino's PreferencesWindow, qui fait exactement ce que vous voulez faire. Vous devrez également appeler setShowsToolbarButton: NO sur la fenêtre, si vous ne le faites pas déjà.

Questions connexes