I guess I don't understand. Validating the drop to me is different then the "type" of drop action. Both in the validate and the accept, the user decides the "type" of drop action(copy/move) . The validate method decides if the user is allowed with the operation which is what is determined by you app and provides the feedback to the user. If the drop is valid, the same operation code will be preset in the accept method unless the user cancels the action(i.e and mask keys are still active or you get the full op code). Factoring into one function the common stuff makes perfect sense.
-Tony On Jun 10, 2010, at 10:24 PM, Graham Cox wrote: > Thanks, but this is not the case. > > The validateDrop method returns a NSDragOperation value that I compute. That > is not the same value that the [<draggingInfo> draggingSourceOperationMask] > returns, though that is certainly one of the many inputs I use when working > out the validation. > > The two methods do much the same work so there's a good opportunity to factor > the code as Jens suggests, but locally saving the return value from > validation works OK and appears to be all I can do. > > --Graham > > > > > On 11/06/2010, at 6:27 AM, Tony Romano wrote: > >> It does. Making a call to draggingSourceOperationMask in your acceptDrop >> method will give you the operation that is active. No need to cache it. >> >> -Tony >> >> >> On Jun 10, 2010, at 11:12 AM, Jens Alfke wrote: >> >>> >>> On Jun 9, 2010, at 11:12 PM, Graham Cox wrote: >>> >>>> In –outlineView:acceptDrop:item:childIndex: I can work out much the same >>>> set of conditions as above and mostly do the right thing, but since a move >>>> or a copy is equally likely, I need a way to determine what the last drag >>>> operation returned during validation actually was. There doesn't seem to >>>> be a way to do this by requesting it from any of the parameters passed to >>>> that method. >>> >>> Well, since acceptDrop takes the same parameters as validateDrop, it seems >>> you should be able to work out the same operation that validateDrop arrived >>> at. I often end up writing a subroutine that takes the dragging info and >>> items and works out the operation and other useful stuff, and then have >>> both of those methods call it. > > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com