Re: Drag and Drop in Same View

2010-09-19 Thread Raleigh Ledet
You need to register as a dragging destination for your dragging type:
-registerForDraggedTypes:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html%23//apple_ref/occ/instm/NSView/registerForDraggedTypes:

-raleigh

On Sep 19, 2010, at 5:08 PM, k...@highrolls.net wrote:

 I do  
 
 dragImage:at:offset:event:pasteboard:source:slideBack:
 
 in a view's mouseDragged method.
 
 The view also implements all the correct methods for dragging as outlined in 
 the example Erik Buck referred to. These dragging methods are never called.  
 So what must be done to Drop in the view that originates the Drag?
 
 It this possible?
 
 -koko
 
 
 
 ___
 
 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/ledet%40apple.com
 
 This email sent to le...@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


Re: Drag and Drop in Same View

2010-09-19 Thread koko

Sorry ... I did not say I had done that as follows:

		[self registerForDraggedTypes:[NSArray  
arrayWithObjects:NSDragPboard, nil]];	




On Sep 19, 2010, at 7:19 PM, Raleigh Ledet wrote:


You need to register as a dragging destination for your dragging type:
-registerForDraggedTypes:

http://developer.apple.com/library/mac/#documentation/Cocoa/ 
Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html 
%23//apple_ref/occ/instm/NSView/registerForDraggedTypes:


-raleigh

On Sep 19, 2010, at 5:08 PM, k...@highrolls.net wrote:


I do

dragImage:at:offset:event:pasteboard:source:slideBack:

in a view's mouseDragged method.

The view also implements all the correct methods for dragging as  
outlined in the example Erik Buck referred to. These dragging  
methods are never called.  So what must be done to Drop in the view  
that originates the Drag?


It this possible?

-koko



___

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/ledet%40apple.com

This email sent to le...@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


Re: Drag and Drop in Same View

2010-09-19 Thread Raleigh Ledet
NSDragPboard is the name of a pasteboard, not the dragged type. The drag type 
is the type of data you put on the pasteboard to drag. For example, is  you are 
dragging a URL, then register for kUTTypeURL. If it's private data then it's 
along these lines:

NSString *myType = 
UTTypeCreatePreferredIdentifierForTag(kUTTagClassNSPboardType, 
CFSTR(privateDat, kUTTypeData); // You are using UTIs right?

-(id)init {
...
[self registerForDraggedTypes:[NSArray arrayWithObjects:myType, nil]];
...
}


-(void)mouseDown:(NSEvent*)event {
...
[pboard clearContents];
NSPasteboardItem *item = [[[NSPasteboardItem alloc] init] autorelease];
[item setData:data forType:myType];
[pboard writeObjects:[NSArray arrayWithObject:item]];

// start drag
...
}




-raleigh

On Sep 19, 2010, at 7:43 PM, k...@highrolls.net wrote:

 Sorry ... I did not say I had done that as follows:
 
   [self registerForDraggedTypes:[NSArray 
 arrayWithObjects:NSDragPboard, nil]];
 
 
 
 On Sep 19, 2010, at 7:19 PM, Raleigh Ledet wrote:
 
 You need to register as a dragging destination for your dragging type:
 -registerForDraggedTypes:
 
 http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html%23//apple_ref/occ/instm/NSView/registerForDraggedTypes:
 
 -raleigh
 
 On Sep 19, 2010, at 5:08 PM, k...@highrolls.net wrote:
 
 I do
 
 dragImage:at:offset:event:pasteboard:source:slideBack:
 
 in a view's mouseDragged method.
 
 The view also implements all the correct methods for dragging as outlined 
 in the example Erik Buck referred to. These dragging methods are never 
 called.  So what must be done to Drop in the view that originates the Drag?
 
 It this possible?
 
 -koko
 
 
 
 ___
 
 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/ledet%40apple.com
 
 This email sent to le...@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


Re: Drag and Drop in Same View

2010-09-19 Thread koko

Word Up to Raleigh! Just added one of my type and voila!

Thanks.

-koko


[self registerForDraggedTypes:[NSArray arrayWithObjects:NSDragPboard,  
@Jump, nil]];	


in -mouseDragged:

[pboard declareTypes:[NSArray arrayWithObject:@Jump] owner:self];
[pboard setData:[NSData data] forType:@Jump];
[self dragImage:img at:localPt offset:sz event:theEvent  
pasteboard:pboard source:self slideBack:NO];




On Sep 19, 2010, at 9:00 PM, Raleigh Ledet wrote:

NSDragPboard is the name of a pasteboard, not the dragged type. The  
drag type is the type of data you put on the pasteboard to drag. For  
example, is  you are dragging a URL, then register for kUTTypeURL.  
If it's private data then it's along these lines:


NSString *myType =  
UTTypeCreatePreferredIdentifierForTag(kUTTagClassNSPboardType,  
CFSTR(privateDat, kUTTypeData); // You are using UTIs right?


-(id)init {
...
[self registerForDraggedTypes:[NSArray arrayWithObjects:myType, nil]];
...
}


-(void)mouseDown:(NSEvent*)event {
...
[pboard clearContents];
NSPasteboardItem *item = [[[NSPasteboardItem alloc] init]  
autorelease];

[item setData:data forType:myType];
[pboard writeObjects:[NSArray arrayWithObject:item]];

// start drag
...
}




-raleigh

On Sep 19, 2010, at 7:43 PM, k...@highrolls.net wrote:


Sorry ... I did not say I had done that as follows:

		[self registerForDraggedTypes:[NSArray  
arrayWithObjects:NSDragPboard, nil]];	




On Sep 19, 2010, at 7:19 PM, Raleigh Ledet wrote:

You need to register as a dragging destination for your dragging  
type:

-registerForDraggedTypes:

http://developer.apple.com/library/mac/#documentation/Cocoa/ 
Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html 
%23//apple_ref/occ/instm/NSView/registerForDraggedTypes:


-raleigh

On Sep 19, 2010, at 5:08 PM, k...@highrolls.net wrote:


I do

dragImage:at:offset:event:pasteboard:source:slideBack:

in a view's mouseDragged method.

The view also implements all the correct methods for dragging as  
outlined in the example Erik Buck referred to. These dragging  
methods are never called.  So what must be done to Drop in the  
view that originates the Drag?


It this possible?

-koko



___

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/ledet%40apple.com

This email sent to le...@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


Re: Drag and Drop in Same View

2010-09-19 Thread Raleigh Ledet
Koko,

Seriously, NSDragPboard is not a type. You should remove it from your array. It 
shouldn't hurt anything, but it will confuse you when you look at the code 
later.

[self registerForDraggedTypes:[NSArray arrayWithObject:@Jump]];

Cheers,
raleigh

On Sep 19, 2010, at 9:26 PM, k...@highrolls.net wrote:

 Word Up to Raleigh! Just added one of my type and voila!
 
 Thanks.
 
 -koko
 
 
 [self registerForDraggedTypes:[NSArray arrayWithObjects:NSDragPboard, 
 @Jump, nil]]; 
 
 in -mouseDragged:
 
 [pboard declareTypes:[NSArray arrayWithObject:@Jump] owner:self];
 [pboard setData:[NSData data] forType:@Jump];
 [self dragImage:img at:localPt offset:sz event:theEvent pasteboard:pboard 
 source:self slideBack:NO];
 
 
 
 On Sep 19, 2010, at 9:00 PM, Raleigh Ledet wrote:
 
 NSDragPboard is the name of a pasteboard, not the dragged type. The drag 
 type is the type of data you put on the pasteboard to drag. For example, is  
 you are dragging a URL, then register for kUTTypeURL. If it's private data 
 then it's along these lines:
 
 NSString *myType = 
 UTTypeCreatePreferredIdentifierForTag(kUTTagClassNSPboardType, 
 CFSTR(privateDat, kUTTypeData); // You are using UTIs right?
 
 -(id)init {
 ...
 [self registerForDraggedTypes:[NSArray arrayWithObjects:myType, nil]];
 ...
 }
 
 
 -(void)mouseDown:(NSEvent*)event {
 ...
 [pboard clearContents];
 NSPasteboardItem *item = [[[NSPasteboardItem alloc] init] autorelease];
 [item setData:data forType:myType];
 [pboard writeObjects:[NSArray arrayWithObject:item]];
 
 // start drag
 ...
 }
 
 
 
 
 -raleigh
 
 On Sep 19, 2010, at 7:43 PM, k...@highrolls.net wrote:
 
 Sorry ... I did not say I had done that as follows:
 
 [self registerForDraggedTypes:[NSArray 
 arrayWithObjects:NSDragPboard, nil]];
 
 
 
 On Sep 19, 2010, at 7:19 PM, Raleigh Ledet wrote:
 
 You need to register as a dragging destination for your dragging type:
 -registerForDraggedTypes:
 
 http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html%23//apple_ref/occ/instm/NSView/registerForDraggedTypes:
 
 -raleigh
 
 On Sep 19, 2010, at 5:08 PM, k...@highrolls.net wrote:
 
 I do  
 
 dragImage:at:offset:event:pasteboard:source:slideBack:
 
 in a view's mouseDragged method.
 
 The view also implements all the correct methods for dragging as outlined 
 in the example Erik Buck referred to. These dragging methods are never 
 called.  So what must be done to Drop in the view that originates the 
 Drag?
 
 It this possible?
 
 -koko
 
 
 
 ___
 
 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/ledet%40apple.com
 
 This email sent to le...@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