exemple de sheet

bofybofy Membre
08:08 modifié dans API AppKit #1
Bonjour

Qui pourrais me donner un exemple, simple, de sheet sur une fenêtre avec un bouton OK qui enclenche une action et fait disparaà®tre la sheet ?

J'ai des dizaines de portions de code où rien n'est expliqué complètement, ni concrètement,  notamment la doc d'apple "sheet programming...", et tout ce qui existe sur objC, mais rien qui permette à  partir d'un exemple simple de comprendre comment ça se passe ?

J'y arriverai, comme j'ai réussi jusqu'ici, mais au pris de tellement d'heures imbéciles perdues...

Merci

Réponses

  • schlumschlum Membre
    08:08 modifié #2
    Alors, y a la Sativa, l'Indica, la Spontanea et la Kafiristanica  :fouf):
    Oups... mal compris le titre  :o

    - (void)beginSheet:(NSWindow *)sheet modalForWindow:(NSWindow *)docWindow modalDelegate:(id)modalDelegate didEndSelector:(SEL)didEndSelector contextInfo:(void *)contextInfo
    


    Selecteur de la forme :
    - (void)sheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
    


    Doit appeler sur NSApp :
    - (void)endSheet:(NSWindow *)sheet returnCode:(NSInteger)returnCode
    


    Et sur la sheet en question :
    - (void)orderOut:(id)sender
    


    C'est tout...
  • mpergandmpergand Membre
    08:08 modifié #3
    Ci-joint un exemple avec la classe SheetController que j'utilise dans mes projets. L'astuce consiste à  utiliser les tags 1,2 et 3 pour les boutons de la sheet. Gère le mode modal ou non.
    On peut créer un SheetController static pour une classe unique, comme ici un controller, ou le mettre en variable d'instance pour un NSDocument pas ex.
  • bofybofy Membre
    08:08 modifié #4
    Merci

    C'est fou comme un exemple spécifique, simple et opérationnel permet de comprendre les choses...

    dans 1231328374:

    Ci-joint un exemple avec la classe SheetController que j'utilise dans mes projets. L'astuce consiste à  utiliser les tags 1,2 et 3 pour les boutons de la sheet. Gère le mode modal ou non.
    On peut créer un SheetController static pour une classe unique, comme ici un controller, ou le mettre en variable d'instance pour un NSDocument pas ex.

  • CéroceCéroce Membre, Modérateur
    08:08 modifié #5
    Oui, il faudrait qu'Apple le comprenne.
  • AliGatorAliGator Membre, Modérateur
    08:08 modifié #6
    N'hésitez pas à  commenter leurs docs, y'a un lien en bas de leurs pages de documentation pour leur signaler s'il manque un truc, si un truc est erroné, etc... et dans les choix, il y en a un spécialement pour ça, justement : "missing some examples" ou un truc comme ça. Ca coûte rien de leur envoyer ce feedback.
  • CéroceCéroce Membre, Modérateur
    08:08 modifié #7
    Les programmes d'exemple d'Apple sont inutiles:
    - Il sont souvent purement démonstratifs: pour mettre en valeur une particularité de l'API, mais pas une situation courante.
    - Ils sont mal ou pas commentés.
    - Ils comprennent souvent des bogues (entre autres de gestion mémoire).
    - Ils sont mal codés et le code est mal organisé.
    - Et surtout, ils sont trop complexes: l'exemple des sheets est typique.

    Ali, je ne peux pas être d'accord avec toi. ça fait huit ans que c'est ainsi. Ce n'est pas notre rôle de leur dire: "eh, ce serait bien de faire un exemple minimal de sheet, et aussi de tableView avec un datasource, et aussi...".
    Personnellement, j'ai arrêté d'étudier les programmes d'exemple d'Apple, c'est une perte de temps; je préfère les trouver sur le net. D'autant plus que ceux-ci sont accompagnés d'explications qui permettent de savoir immédiatement si c'est bien ce que je recherche.

  • Philippe49Philippe49 Membre
    08:08 modifié #8
    Pour le programme iPhone, les exemples ont fait de réels progrès, en simplicité, et en référencement dans la doc.
Connectez-vous ou Inscrivez-vous pour répondre.