Aide Drag and Drop
GG
Membre
Bonjour à tous,
voila j'aimerai ajouter le drag and drop dans une application.
Pour cela j'ai besoin de vos conseils d'experts .
Mon projet s'organise de la manière suivante :
- classe dévirant de NSImageCell (avec ajout d'une string)
- une classe dérivant de NSMatrix contenant ces NSImagesCell
J'aimerai faire un drag and drop d'un ensemble de ces NSImageCell, mais ou dois je implementer le drag and drop, dans la classe dérivant de NSImageCell ou de NSMatrix (bien sûr la NSMatrix doit contenir un NSArray des cellules qui seront à glisser).
J'aimerai aussi que ce qui soit glissé au final soit les NSString contenues dans chaque NSImageCell.
Que me conseillez vous ?
voila j'aimerai ajouter le drag and drop dans une application.
Pour cela j'ai besoin de vos conseils d'experts .
Mon projet s'organise de la manière suivante :
- classe dévirant de NSImageCell (avec ajout d'une string)
- une classe dérivant de NSMatrix contenant ces NSImagesCell
J'aimerai faire un drag and drop d'un ensemble de ces NSImageCell, mais ou dois je implementer le drag and drop, dans la classe dérivant de NSImageCell ou de NSMatrix (bien sûr la NSMatrix doit contenir un NSArray des cellules qui seront à glisser).
J'aimerai aussi que ce qui soit glissé au final soit les NSString contenues dans chaque NSImageCell.
Que me conseillez vous ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
file:///Developer/ADC Reference Library/documentation/Cocoa/Conceptual/DragandDrop/index.html
Après, tu devras adapter les principes au cas qui te préoccupe.
Si tu utilises le mécanisme fourni par Apple, alors tu ne peux le faire qu'à partir d'un NSView (donc dans ton cas, NSMatrix).
L'implantation du drag est assez simple :
Par surcharge de mouseDown: ou mouseDrag: de NSMatrix, il faut appeler la méthode dragImage:at:offset:event:pasteboard:source:slideBack:. Le NSImage passé en paramètre une une image à construire qui permettra de représenter visuellement ce qu'on drag.
Il ne faut pas oublier d'implanter aussi la méthode draggingSourceOperationMaskForLocal: qui doit retourner une valeur différente de NSDragOperationNone afin de d'avertir le système que quelque chose est dragable dans le NSView.
L'image représentant le drag est à construire par toi-même, donc tu peux la dessiner comme tu veux.
.
Il reste un truc que je n'arrive pas à faire.
Je voudrais copier des nsstring dans le nspasteboard mais je ne vois pas trop comment.
comment je peux copier un nsarray contenant des nsstring dans le nspasteboard ?
Tu peux faire :