Copier / coller d'une TableView à  une autre...

VeillardVeillard Membre
23:36 modifié dans API AppKit #1
Bonjour,

Je cherche à  copier un item d'une TableView en l'occurrence ici une plongée d'un carnet X vers une autre TableView (carnet Y).

Quelqu'un a-t-il une expérience à  ce sujet ?

Réponses

  • fouffouf Membre
    23:36 modifié #2
    J'ai peut-etre une idée : tu peux faire un sous-classe de NSTableView dans laquelle tu gére le drag-and-drop. Par contre, ayant jamais essayé d'implémenter le drag-drop, je ne peux pas t'aider.

    Ok, je sors.
  • VeillardVeillard Membre
    23:36 modifié #3
    J'ai pensé justement au Drag-drop...
  • 23:36 modifié #4
    Pas besoin de sous-classer pour gérer le drag'n'drop, ça se gère avec le delegate et surtout le datasource...
  • VeillardVeillard Membre
    23:36 modifié #5
    Si je sélectionne une ligne de ma tableView, j'ai le menu "Copier" qui est toujours en grisé. Faut-il implémenter une méthode spécifique pour la copie d'un item d'une TableView ?
  • 23:36 modifié #6
    Tu dois surcharger les méthodes [tt]-(void)cut:(id)sender[/tt], [tt]-(void)copy:(id)sender[/tt] et [tt]-(void)paste:(id)sender[/tt] de NSTableView (catégorie ou sous-classe). Pour bien faire, surcharge aussi [tt]-(void)clear:(id)sender[/tt].
  • VeillardVeillard Membre
    23:36 modifié #7
    OK merci renaud.
    Par contre où trouves-tu ces méthodes prédéfinies ? Sinon, faut-il les réécrire ?
  • mpergandmpergand Membre
    mars 2005 modifié #8
    Salut Favouille,

    Pas de méthodes à  surcharger à  l'inverse de NSText ...
    Je les verrais bien dans le contrôleur de ta table. [edit] non, c'est une grosse conn*** :) il faut les implémenter dans un objet NSResponder

    Et n'oublie pas d'ajouter validateMenuItem  ;)
  • 23:36 modifié #9
    Ces méthodes viennent de NSResponder, il faut donc les mettre pour la table. Pas pour NSText, car d'abord c'est déjà  implémenté et ensuite ça ne marchera que dans une cellule en cours d'édition.

    Par contre rien de tout fait, car la structure des données dans une table est généralement unique, et donc c'est à  faire au cas par cas. Par exemple, si on copie une ligne et qu'on colle dans une NSTextView, est-ce que d'abord c'est permis, puis qu'est ce qui sera mis? Même chose pour l'autre sens (coller du texte dans la vue). Comme tu vois, c'est assez complexe.
  • VeillardVeillard Membre
    23:36 modifié #10
    Bon, je sens que ça va être la galère... :'(
Connectez-vous ou Inscrivez-vous pour répondre.