Use case: Accept DND from Mail.app Problem: Currently, it seems that this would require a custom built VM Solution: VM should accept all drops by default and let the user decide what to do
btw is there an issue tracker for the VM where I can open a ticket?
From original discussion at
http://forum.world.st/Accepting-Email-Drops-on-Pharo-Window-tt4841915.html#a... :
Ben Coman wrote
On StackOverflow [1], it was shown how to do this in Cocoa:
[window registerForDraggedTypes:[NSArray arrayWithObjects:(NSString*)kPasteboardTypeFileURLPromise,nil]];
but do I really need to modify the VM? It seems like, since Smalltalk is so malleable, and more like an OS than an app, we should accept all types and let the user decide whether to do something with them, no?
[1] http://stackoverflow.com/questions/4115987/how-to-get-dropped-mail-message-d...
That sounds right. Bring up a dialog reporting "Unknown paste type" with a button to view raw and/or start decoding it from within the debugger.
----- Cheers, Sean -- View this message in context: http://forum.world.st/Accepting-all-DNDs-on-Mac-tp4842062.html Sent from the Squeak VM mailing list archive at Nabble.com.
The carbon and cocoa VM does support drag and drop see https://isqueak.org/ioGetNextEvent
Maybe someone ripped out the image side logic?
Sent from my iPhone
On Aug 11, 2015, at 4:41 AM, Sean P. DeNigris sean@clipperadams.com wrote:
Use case: Accept DND from Mail.app Problem: Currently, it seems that this would require a custom built VM Solution: VM should accept all drops by default and let the user decide what to do
btw is there an issue tracker for the VM where I can open a ticket?
From original discussion at
http://forum.world.st/Accepting-Email-Drops-on-Pharo-Window-tt4841915.html#a... :
Ben Coman wrote
On StackOverflow [1], it was shown how to do this in Cocoa:
[window registerForDraggedTypes:[NSArray arrayWithObjects:(NSString*)kPasteboardTypeFileURLPromise,nil]];
but do I really need to modify the VM? It seems like, since Smalltalk is so malleable, and more like an OS than an app, we should accept all types and let the user decide whether to do something with them, no?
[1] http://stackoverflow.com/questions/4115987/how-to-get-dropped-mail-message-d...
That sounds right. Bring up a dialog reporting "Unknown paste type" with a button to view raw and/or start decoding it from within the debugger.
Cheers, Sean -- View this message in context: http://forum.world.st/Accepting-all-DNDs-on-Mac-tp4842062.html Sent from the Squeak VM mailing list archive at Nabble.com.
johnmci wrote
The carbon and cocoa VM does support drag and drop see https://isqueak.org/ioGetNextEvent Maybe someone ripped out the image side logic?
The reason I thought it was a VM issue is that, for Mail.app message drops (unlike with file drops), the icon flies back to Mail.app, and no event is generated (i.e. `Sensor nextEvent` never returns a non-nil value). Also, with files, the Pharo window shows an inside border, apparently indicating that the drop will be accepted. Is all that determined on the image-side? If so, can you point me in the direction of that code?
----- Cheers, Sean -- View this message in context: http://forum.world.st/Accepting-all-DNDs-on-Mac-tp4842062p4842116.html Sent from the Squeak VM mailing list archive at Nabble.com.
There is a pool variable EventTypeDragDropFiles Look at method generateDropFilesEvent:
There is sqMacDragDrop.c for Carbon For Cocoa there is sqSqueakOSXDropAPI.m
So it should support drag/drop of files As it only supports NSFilenamesPboardType
[self registerForDraggedTypes: [NSArray arrayWithObjects: NSFilenamesPboardType, nil]];
On Tue, Aug 11, 2015 at 7:18 AM, Sean P. DeNigris sean@clipperadams.com wrote:
johnmci wrote
The carbon and cocoa VM does support drag and drop see https://isqueak.org/ioGetNextEvent Maybe someone ripped out the image side logic?
The reason I thought it was a VM issue is that, for Mail.app message drops (unlike with file drops), the icon flies back to Mail.app, and no event is generated (i.e. `Sensor nextEvent` never returns a non-nil value). Also, with files, the Pharo window shows an inside border, apparently indicating that the drop will be accepted. Is all that determined on the image-side? If so, can you point me in the direction of that code?
Cheers, Sean -- View this message in context: http://forum.world.st/Accepting-all-DNDs-on-Mac-tp4842062p4842116.html Sent from the Squeak VM mailing list archive at Nabble.com.
johnmci wrote
As it only supports NSFilenamesPboardType [self registerForDraggedTypes: [NSArray arrayWithObjects: NSFilenamesPboardType, nil]];
And Bob's your uncle!
So, what I'm suggesting is that we add support for other-than-file drags (in my two cases URLs and file promises).
Reference: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Draga...
----- Cheers, Sean -- View this message in context: http://forum.world.st/Accepting-all-DNDs-on-Mac-tp4842062p4842140.html Sent from the Squeak VM mailing list archive at Nabble.com.
vm-dev@lists.squeakfoundation.org