Drag and Drop dans une NSTableView

Bonsoir,


 


J'aimerais savoir si quelqu'un aurait déjà  implémentée le Drag'n'Drop pour une NSTableView parce que je n'y arrive pas...


 


J'ai bien sur regardé sur Google mais je ne vois rien de clair et la doc sur les NSTableView n'aborde pas le sujet.


 


Merci.


Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur
    novembre 2014 modifié #2
    Oui, qu'est-ce que tu veux savoir ?
  • En fait je voudrais pouvoir sélectionner des fichiers dans le finder et les glisser / déposer dans la NSTableView pour avoir accès à  toutes les informations dont j'aurais besoin par la suite, c'est à  dire le nom du fichier et son chemin.


     


    Merci.


  • Joanna CarterJoanna Carter Membre, Modérateur
    novembre 2014 modifié #4

    Donc, dans la méthode -loadView, il faut écrire :



    {
    [super loadView];

    [self.tableView registerForDraggedTypes:@[;(NSString *) kUTTypeFileURL]];


    Puis, il faut implémenter les méthodes appartenantes au protocole NSTableViewDataSource qui s'occupent du drag drop. Par example :



    - (NSDragOperation)tableView:(NSTableView *)tableView validateDrop:(id<NSDraggingInfo>)info
    proposedRow:(NSInteger)row proposedDropOperation:(NSTableViewDropOperation)dropOperation
    {
    NSPasteboard* pboard = [info draggingPasteboard];

    NSData *data = [pboard dataForType:(NSString *) kUTTypeFileURL];

    NSString *filePath = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

    ...
    }

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