[Cocoa] Ajouter un menu dans une document application

Le
grokub
Soit une Cocoa document-based application.

Je sous classe NSDocument. Je lui flanque des IBOutlet, que je connecte
dans IB à des sous-classes de NSView. Tout baigne. Ça sauve et ouvre des
fichiers et ça les affiche correctement.

Je veux rajouter un menu dont la cible sera le document.

Soit File>Dump le menu, qui doit déclencher [MonDocument dumpDocument].
Donc tout-à-fait analogue à Save.

Introduction to Application Menus and Pop-up Lists dit:

« If the menu item's target is not set and the NSMenu object is not a
contextual menu (c'est mon cas) then NSMenu uses the responder
chain to determine the target. »

« If the menu item's target is set, then NSMenu first checks to see if
that object implements the item's action method. »

[MonDocument validateMenuItem] est bien appelé pour Save, SaveAs,
Revert, Page Setup, Print mais pas pour mon menu, qui reste grisé.

Comment désigner la target de mon menu?

J'ai essayé d'ajouter une action dumpDocument au First Responder
(pour imiter les autres connexions), en espérant qu'il serait transmis
lui aussi jusqu'à MonDocument -> zob.

Ce que je voudrais, c'est que First Responder fasse descendre le menu
event sur la chaîne des répondeurs jusqu'à MonDocument, comme il le
fait pour les autres items du menu File.

Est-ce possible? Ou est-ce qu'il me manque un controler ou une
délégation?



--
Jean-Yves Bernier <http://www.pescadoo.net/>
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Gilles
Le #17768361
Jean-Yves Bernier a écrit :

Faudrait mettre ton projet qq part, je ne dis pas que j'y arriverai mais
bon parfois un œil nouveau ne voit pas tj les même chose

Sinon tu te connecte en iChat - AIM = gercofis
--
La jeunesse c'est le temps d'étudier la sagesse et la vieillesse c'est
le temps de la pratiquer. (Jean-Jacques ROUSSEAU)
Publicité
Poster une réponse
Anonyme