On Oct 23, 2009, at 9:15 PM, TFS - Tobias Jordan wrote:

> Thanks for that, Thomas. The Problem I'm having is that the 
> IKImageBrowserView is just representing previews. So it's a file preview and 
> there's a path behind the preview to be copied when dragging out.
> With the standard settings of the view, I'll get the preview image copied to 
> the location instead of the file behind the image. That's why I have to 
> implement everything on my own, I know this sounds confusing. ;-)

ok that makes sense.

> I dunno know what to declare in the pasteboard when it is about NSIndexSets. 
> And what to do next after implementing writeItemsAtIndexes:toPasteboard:…?
> Thanks so much for your help, I really appreciate it.

This is not something specific to the IKImageBrowserView here so the pasteboard 
programming guide should help: 
http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/PasteboardGuide106/Introduction/Introduction.html

Typically you will have to do something like this:

- (NSUInteger) imageBrowser:(IKImageBrowserView *) aBrowser 
writeItemsAtIndexes:(NSIndexSet *) itemIndexes toPasteboard:(NSPasteboard 
*)pasteboard
{
        NSUinteger index;

        //instantiate an array to store paths
        filesArray = [NSMutableArray array];

        //for each index...
        for(index = [itemIndexes firstIndex]; index != NSNotFound; index = 
[itemIndexes indexGreaterThanIndex:index]){
        
                //...get the path you want to add to the pasteboard
                id myDatasourceItem = [_myDatasourceArray objectAtIndex:index];
                NSString *path = [myDatasourceItem myLargeImageFilePath];
        
                //add it to your array
                [filesArray addObject:path];
        }

        //declare the pasteboard will contain paths
        [pasteboard declareTypes:[NSArray 
arrayWithObjects:NSFilenamesPboardType,nil] owner:self];

        //set the paths
        [pasteboard setPropertyList:filesArray forType:NSFilenamesPboardType];

         //return the number of items added to the pasteboard
         return [filesArray count];
}

-- Thomas



> On Oct 23, 2009, at 6:49 PM, Thomas Goossens wrote:
> 
>> Hi Jordan,
>> 
>> imageBrowser:writeItemsAtIndexes:toPasteboard: is indeed the way to go.
>> 
>> Implement this method in your datasource and just fill the pasteboard with 
>> the info you want (Images, paths, urls, data...) for the indexes passed in 
>> arguments.
>> Also if you feed the imageBrowser with paths or urls 
>> (IKImageBrowserPathRepresentationType, 
>> IKImageBrowserNSURLRepresentationType...) , you don't have to do anything, 
>> the pasteboard is filled automatically (i.e you don't need to implement 
>> imageBrowser:writeItemsAtIndexes:toPasteboard:).
>> 
>> -- Thomas
>> 
>> 
>> On Oct 22, 2009, at 2:30 PM, TFS - Tobias Jordan wrote:
>> 
>>> Hi all,
>>> 
>>> I've been wondering on how to implement dragging out of the view in the 
>>> IKImageBrowserView. I am pretty sure this is where I have to start: 
>>> -imageBrowser:writeItemsAtIndexes:toPasteboard: but I don't have a clue 
>>> what to do next. It's not a real File Promise, I just need the folder (in 
>>> most cases the Desktop) dragged to and the indexes that have been dragged.
>>> The class seems to be quite different to the NSTableView in which I am 
>>> using '-tableView:writeRowsWithIndexes:toPasteboard' and 
>>> '-tableView:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWithIndexes:'.
>>> 
>>> What's the method I am missing?
>>> 
>>> Best regards & thanks.
>>> Tobias Jordan.
>>> _______________________________________________
>>> 
>>> 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/tgoossens%40mac.com
>>> 
>>> This email sent to tgooss...@mac.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/tgoossens%40mac.com
> 
> This email sent to tgooss...@mac.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