petit problème avec un sheet

clampinclampin Membre
01:59 modifié dans API AppKit #1
bonjour,

J'ai un petit problème avec un NSOpenPanel en sheet.

je voudrait afficher une image cherchée dans mon dd et l'afficher dans un custom view avec transparence. Mon problème ce situe à  l'ouverture du sheet NSOpenPanel.

(exemple pris du bouquin cocoa par la pratique de Aaron Hillegass des editions Eyrolles).

<br />- (void)openPanelDidEnd:(NSOpenPanel *)openPanel<br />			returnCode:(int)returnCode<br />		&nbsp;  contextInfo:(void *)x<br />{<br />	NSString *path;<br />	NSImage *image;<br />	<br />	//l&#39;utilisateur a t-il choisis &quot;Open&quot;<br />	if (returnCode == NSOKButton) {<br />		path = [openPanel filename];<br />		image = [[NSImage alloc] initWithContentsOfFile:path];<br />		[strechView setImage:image];<br />		[image release];<br />	}<br />}<br /><br /><br />- (IBAction)open:(id)sender<br />{<br />	NSOpenPanel *panel = [NSOpenPanel openPanel];<br />	<br />	//Exécuter le panneau ouvert<br />	[panel beginSheetForDirectory:nil<br />							 file:nil<br />							 type:[NSImage imageFileTypes]<br />				&nbsp;  modalForWindow:[strechView window]<br />					modalDelegate:self<br />				&nbsp;  didEndSelector:@selector(openPanelDidEnd:returnCode:contextInfo:)<br />					&nbsp; contextInfo:nil];<br />}<br />


Lors de la compilation j'ai un petit attention à  la ligne didEndSelector, et l'image ne saffiche
pas dans ma vue....

<br />-[NSOpenPanel beginSheetForDirectory:file:type:modalForWindow:modalDelegate:didEndSelector:contextInfo:]: selector not recognized [self = 0x5a6b00]


Pourtant je suis sur d'avoir fait les bonnes connexions dans IB....

Réponses

  • Eddy58Eddy58 Membre
    01:59 modifié #2
    Il me semble qu'il manque un "s" au bout de type. :o
    [tt]
    types:[NSImage imageFileTypes]
    [/tt]
  • clampinclampin Membre
    01:59 modifié #3
    olalallala quel c** ;D
  • AliGatorAliGator Membre, Modérateur
    01:59 modifié #4
    Sur le coup j'avais lu le post, fait un tour sur la doc Apple vite fait de NSOpenPanel, et j'avais pas vu l'erreur non plus :P
    C'est là  qu'on voit que l'autocompletion c'est quand même pratique, à  ce que je vois tu ne penses pas à  l'utiliser à  tous les coups :P (taper le début d'une méthode puis 'esc').

    Pour info grace aux Text Macros tu peux aussi te préparer tes méthodes très utilisées ou même des bouts de code (boucle while avec un NSEnumerator, ou ce genre de choses par ex) et les insérer de la même manière (soit en les choisissant dans le menu, soit en tapant le "texte raccourci" associé et appuyant sur la touche 'esc'.

    Entre l'autocompletion et les Text Macros, y'a de quoi coder plus vite et éviter les erreurs parfois très bêtes  ;)
    /Library/Application Support/Apple/Developer Tools/Specifications/C.xctxtmacro
  • ChachaChacha Membre
    01:59 modifié #5
    Mais dis-moi, clampin, les warnings du compilateur ne disaient-ils pas que l'objet "panel" ne répondait pas à  la méthode beginSheetForDirectory:file:type:modalForWindow:modalDelegate:didEndSelector:contextInfo:nil
    ?

    +
    Chacha
  • clampinclampin Membre
    01:59 modifié #6
    dans 1157141087:

    Mais dis-moi, clampin, les warnings du compilateur ne disaient-ils pas que l'objet "panel" ne répondait pas à  la méthode beginSheetForDirectory:file:type:modalForWindow:modalDelegate:didEndSelector:contextInfo:nil
    ?

    +
    Chacha


    si si.. mais je voyais pas ou.... je comprenais pas...
  • ChachaChacha Membre
    01:59 modifié #7
    dans 1157141707:

    si si.. mais je voyais pas ou.... je comprenais pas...


    xp++ :-)
    En fait pour ce genre de problème, précise les messages d'erreur du compilo dans ton post !
    (en fait, je suis super vexé de pas avoir trouvé la réponse... arf)

    +
    Chacha
Connectez-vous ou Inscrivez-vous pour répondre.