On Jan 30, 2013, at 15:15:32, Kevin Perry <kpe...@apple.com>
 wrote:

> On Jan 30, 2013, at 12:32 PM, Steve Mills <smi...@makemusic.com> wrote:
> 
>> I finally got this all figured out. This is a mess. It's goofy that Apple 
>> decided to send the localized type name strings here
> 
> I’m not following you here. What is sending localized type names where?

NSDocument methods:

-(BOOL) writeToURL:(NSURL*)absoluteURL ofType:(NSString*)typeName 
error:(NSError**)outError

passes the type in typeName.

-(NSArray*) writableTypesForSaveOperation:(NSSaveOperationType)saveOperation

expects an array of type name strings.

-(NSString*) fileTypeFromLastRunSavePanel

returns the type name string. Etc.

> The way NSSavePanel is designed, it is completely agnostic of the accessory 
> view inserted into it, even one owned by NSDocument. It has no idea how to 
> change the contents of the accessory view based on what you pass to 
> -setAllowedFileTypes:—there may not even be a document type popup there at 
> all.

Right, which means NSDocument should've had its various methods that deal with 
its accessory panel use something more viable like extensions and/or UTIs, 
which is exactly what NSSavePanel uses to deal with file types.

> If you want to customize what types NSDocument shows in its default accessory 
> view, then overriding -writableTypesForSaveOperation: is exactly the right 
> thing to do. Sorry for the trouble you had in discovering that—would you like 
> to file a documentation bug with a suggested improvement?

I just might do that. Although NSDocument has already gone through big changes 
in the way it handles saving documents, I wonder how likely they'd be to change 
it again.

--
Steve Mills
office: 952-818-3871
home: 952-401-6255
cell: 612-803-6157




_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to