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 ([email protected])
>
> 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 [email protected]
_______________________________________________
Cocoa-dev mailing list ([email protected])
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 [email protected]