[RESOLU] Enregistrer avant de fermer un document

Philippe49Philippe49 Membre
mars 2008 modifié dans API AppKit #1
Je veux intervenir lors de la fermeture d'un document dans une Document-Based Application :

Code
- (BOOL)windowShouldClose:(NSNotification *)notification<br />{<br />	NSBeginAlertSheet (@&quot;Saving&quot;,@&quot;Save&quot;,@&quot;Cancel&quot;,nil,documentWindow,self,<br />		@selector(sheetDidEnd: returnCode: contextInfo:),nil, nil,nil);<br />	return NO;<br />}<br /><br />- (void)windowWillClose:(NSNotification *)notification<br />{<br />	NSLog(@&quot;window will close&quot;);<br />}<br /><br /><br />-(void)sheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void&nbsp; *)contextInfo<br />{<br />	if(returnCode==NSAlertDefaultReturn) {<br />		[self saveDocument:self];<br />	} else {<br />	}	<br />}


Mon problème c'est que
  • le sheet apparaà®t,
  • la fenêtre  disparaà®t en laissant le sheet visible,   ;D ;D GAG  :P :-\\
  • je peux enregistrer correctement le document.


Quelqu'un a-t-il une explication ou une référence document ?

Cela ressemble un peu au problème décrit dans ce post

Réponses

  • Philippe49Philippe49 Membre
    16:43 modifié #2
    C'est d'autant plus bizarre que la fenêtre existe encore dans le menu Windows et qu'elle réapparait en la sélectionnant dans ce menu ???
  • Philippe49Philippe49 Membre
    mars 2008 modifié #3
    Bon ben à  priori, c'est l'instruction (à  l'initialisation)
    [self updateChangeCount:NSChangeDone];
    qui manquait pour les "untitled documents"
    :o

    et il n'est pas nécessaire de redéfinir windowShouldClose:
  • Philippe49Philippe49 Membre
    16:43 modifié #4
    Euh si quelqu'un a une explication , ... ou une référence de doc concernant ce problème, je suis preneur.
Connectez-vous ou Inscrivez-vous pour répondre.