NSApp endSheet: returnCode: je crois qui permet de donner une valeur NSOKButton ou à returnCode
Pour l'affichage/masquage de controls sous condition, on peut utiliser un binding de la propriété Hidden du control avec une propriété BOOL de l'appcontroller par exemple, qui est mise à YES ou NO dans la 2ème fenêtre (Cf. KVO)
Je pense que tu as raison car voici l'erreur qui est afficher lors de l'execution : "endsheet:returnCode: Requires a non-nil sheet".
Cela correspond tout à fait à mon attente sauf que ma mainWindow est actualisée au lancement de ma anotherWindow, et moi j'aurai voulu ma mainWindow passe par awakeFromNib à la fermeture de anotherWindow.
Est possible de faire l'inverse /smile.png' class='bbc_emoticon' alt=':)' /> ?
et comme tu utilises un sheet, il faut un bouton close dans celui-ci, donc pour le file's owner (ton WindowController) dans le nib "AjoutSupprSess", tu définis une action "endSheet:" et tu fais le lien avec le bouton close.
Tu implémentes cette action dans la classe qui appelle le sheet:
A ta décharge, il faut bien dire que la gestion des NSWindowController est bien tordu et ça appelle awakeFromNib ! (corrigé dans Lion il me semble)
Maintenant, le plus simple c'est d'utiliser NSBundle loadNibNamed: ou encore de mettre la fenêtre sheet dans le même nib (sur mac ça va pas saturer la mémoire /rolleyes.gif' class='bbc_emoticon' alt='::)' /> )
Réponses
Donc je devrait passer tout de même à l'intérieur.
Comme le nom l'explique je devrait passer à l'intérieur lorsque fermSheet est exécuter.
Hors peut importe ce qui ce passe ma fenêtre s'ouvre et se ferme correctement sans appeler sheetDidEnd:...
Je pense que tu as raison car voici l'erreur qui est afficher lors de l'execution : "endsheet:returnCode: Requires a non-nil sheet".
J'ai essayé:
Mais cela ne semble pas convenir
Tu le fais exprès ?
Cela faisait partit de mes nombreux tests, mais je reviens au point de départ je n'ai plus d'erreur mais je n'arrive pas dans SheetDidEnd:
Et voilà (c'est un fichier test)
J'ai très peu de code pour éviter de tout détérioré avec mes test lol
Sinon, mets des NSLog() dans tes routines, tu verras si elles sont bien appelées.
Vérifie aussi que tes objets ne sont pas à nil:
NSLog(@%@",[controlFen window]);
etc ...
Si la fenêtre sheet se ferme, c'est que sheetDidEnd est bien appelé.
Et merci de ta réponse..
Je vais utilisé les Nslog. Pour ce qui est du .m c'est le post d'avant..
Je n,est pas plus de code concerné
Comme mpergand l'a précisé j'ai vérifié [controFen window];
Et celui-ci est bien nil.
Comment cela ce fait-il? La fenêtre est bien relié à ma classe pourtant...
Me revoilà sur ce sujet avec quelques réponses!!
Je pense que j'ai surement chercher trop compliqué!
Pour lancer une anotherWindow en actualisant ma mainWindow j'ai trouver showWindow:
Cela correspond tout à fait à mon attente sauf que ma mainWindow est actualisée au lancement de ma anotherWindow, et moi j'aurai voulu ma mainWindow passe par awakeFromNib à la fermeture de anotherWindow.
Est possible de faire l'inverse /smile.png' class='bbc_emoticon' alt=':)' /> ?
J'ai donc utiliser beginsheet!
Mais le résultat est le même, j'ai cru comprendre dans les posts précédent que Sheet permettait d'interagir sur la fenêtre principale :
Je me trompe?
Merci de votre aide.
Même si ma fenêtre s'ouvre quand même de quoi cela pourrait venir?
Je reprend:
- J'ai une classe principale -> MainClass:Webview
Dans celle ci ce trouve une méthode qui contient:
- J'ai une autre classe -> SecondClass:NSObject
Dans laquelle mon xib correspondant est délégué à File's Owner (Lien entre ma fenêtre et File's Owner).
Que me manque t'il pour que [win window] soit différent de nil.
Je suis persuadé que j'ai fait une erreur, car File's Owner semble pour moi une terre inconnue..
Je pense connaà®tre son utilisation mais la je suis largué!! /sad.png' class='bbc_emoticon' alt=':(' />
et comme tu utilises un sheet, il faut un bouton close dans celui-ci, donc pour le file's owner (ton WindowController) dans le nib "AjoutSupprSess", tu définis une action "endSheet:" et tu fais le lien avec le bouton close.
Tu implémentes cette action dans la classe qui appelle le sheet:
A ta décharge, il faut bien dire que la gestion des NSWindowController est bien tordu et ça appelle awakeFromNib ! (corrigé dans Lion il me semble)
Maintenant, le plus simple c'est d'utiliser NSBundle loadNibNamed: ou encore de mettre la fenêtre sheet dans le même nib (sur mac ça va pas saturer la mémoire /rolleyes.gif' class='bbc_emoticon' alt='::)' /> )
On peut enfin conclure ce sujet, car il est résolut /cliccool.gif' class='bbc_emoticon' alt=' ' />
Voici donc la conclusion :
Merci à vous tous pour votre aide et vos explications /thumbsup.gif' class='bbc_emoticon' alt='' />
Le plus simple c'est de cocher "Release when closed" pour cette fenêtre dans IB et faire:
Merci pour le conseil, je l'ai mis en exécution de suite!
Tout fonctionne parfaitement! /implore.gif' class='bbc_emoticon' alt=' ' />