Drag & drop d'un fichier musical dans une vue

iShadowiShadow Membre
20:44 modifié dans API AppKit #1
Bonjour à  tous :)
Je chercheÂ à  faire en sorte qu'on puisse sélectionner un fichier musical depuis iTunes ou le Bureau et qu'on puisse le drag & droper dans une vue qui afficherait le titre du morceau. Est-ce possible ? Si c"est possible, est-ce que vous pourriez me dire comment il faut faire, sachant que je ne sais drag & droper que des images :o
Merci beaucoup :D

Réponses

  • ChachaChacha Membre
    20:44 modifié #2
    Je viens de regarder en faisant l'expérience suivante:
    je créer un projet bidon avec une vue sur laquelle je fais un registerForDraggedTypes avec tout ce qui est disponible dans la doc:
    <br />&nbsp; &nbsp; &nbsp; &nbsp; [self registerForDraggedTypes:<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [NSArray arrayWithObjects:<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NSColorPboardType,NSFileContentsPboardType,NSFilenamesPboardType,NSFontPboardType,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NSHTMLPboardType,NSPDFPboardType,NSPICTPboardType,NSPostScriptPboardType,NSRulerPboardType,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NSRTFPboardType,NSRTFDPboardType,NSStringPboardType,NSTabularTextPboardType,NSTIFFPboardType,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; NSURLPboardType,NSVCardPboardType,NSFilesPromisePboardType,NSInkTextPboardType, nil]];<br />
    


    Ensuite, je surcharge
    <br />- (NSDragOperation)draggingEntered:(id &lt;NSDraggingInfo&gt;)sender<br />
    

    et je regarde ce que le pasteboard peut m'apporter :
    <br />- (NSDragOperation)draggingEntered:(id &lt;NSDraggingInfo&gt;)sender<br />{<br />&nbsp; NSPasteboard* pboard = [sender draggingPasteboard];<br />&nbsp; NSArray* types = [pboard types];<br />&nbsp; NSEnumerator* e = [types objectEnumerator];<br />&nbsp; id object = [e nextObject];<br />&nbsp; while(object)<br />&nbsp; {<br />&nbsp; &nbsp; NSLog(@&quot;type : %@, data = %@&quot;, object, [pboard dataForType:object]);<br />&nbsp; &nbsp; object = [e nextObject];<br />&nbsp; }<br />&nbsp; return 0;//c&#39;est n&#39;importe quoi, mais on s&#39;en fiche ici<br />}<br />
    


    Avec ce système, on observe normalement que si on drop un truc en provenance du finder, c'est le NSFilenamesPboardType qu'il faut utiliser. Ce qui m'a déçu, c'est qu'un drop depuis un morceau d'iTunes ne donne... absolument rien ! J'ai du rater quelque chose, mais c'est un début.

    +
    Chacha
  • iShadowiShadow Membre
    20:44 modifié #3
    Mais c'est dejà  pas mal, on sait déjà  quel Pboard utiliser :)
    Est-ce-que tu pourrais me filer tn projet bidon (si tu l'as encore) afin que je regarde ce que tu y a mis SVP ?
    Merci ! :)
  • ChachaChacha Membre
    20:44 modifié #4
    Si tu veux, mais y'a pas grand chose de plus que ce que j'ai marqué...

    [Fichier joint supprimé par l'administrateur]
Connectez-vous ou Inscrivez-vous pour répondre.