Hi Markus,

Use:

- (void)draggedImage:(NSImage *)draggedImage movedTo:(NSPoint)screenPoint

Then do something like this (after converting the screen point to window 
coords):

    NSPoint windowPoint = [[view window] mouseLocationOutsideOfEventStream];
    NSPoint localPoint = [view convertPoint:windowPoint fromView:nil];
    if (![view mouse:localPoint inRect:[view visibleRect]]) {
        [[NSCursor disappearingItemCursor] set];
    }

corbin


On Jan 13, 2011, at 4:11 PM, Markus Spoettl wrote:

> Hello,
> 
>  I have a drag-n-drop UI where I use the [NSCursor disappearingItemCursor] to 
> indicate that if you drop now, you're going to remove the item being dragged. 
> I do this by setting the cursor when my dragging destination receives a 
> -draggingExited: message (the dragging destination and source are the same, 
> an NSView subclass).
> 
> It works well inside the application but when the cursor leaves the 
> application window, things break down. When this happens the cursor is reset 
> to the default arrow cursor. What's worse is that it doesn't return to 
> -disappearingItemCursor when the cursor re-enters my window - not view - 
> without releasing the mouse. 
> 
> What I'd like to get to is a behavior like that of Finder. When you drag a 
> "Places" item out of the source list Finder somehow manages to maintain the 
> cursor, even if the app behind the cursor is something else.
> 
> My drag starts with a call to NSView's 
> -dragImage:at:offset:event:pasteboard:source:slideBack:
> 
> I'd rather not implement the whole dragging UI (transparent foreground window 
> occupying the entire screen, painting the drag image myself - at least I 
> think that's how it could work) if I can avoid it because I fear there are 
> countless little traps to hit on the way.
> 
> Is there a way not to get the cursor reset by AppKit behind my back?
> 
> Regards
> Markus
> --
> __________________________________________
> Markus Spoettl
> 
> _______________________________________________
> 
> 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/corbind%40apple.com
> 
> This email sent to corb...@apple.com

_______________________________________________

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

Reply via email to