Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Cocoa] Ajouter un menu dans une document application

1 réponse
Avatar
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/>

1 réponse

Avatar
Gilles
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)