Up

# NSOpenPanel

### Authors

Scott Christley (`scottc@net-community.com`)
Daniel Bðhringer (`boehring@biomed.ruhr-uni-bochum.de`)
Nicola Pero (`n.pero@mi.flashnet.it`)
Mirko Viviani (`mirko.viviani@rccr.cremona.it`)

> Standard panel for opening files

Copyright: (C) 1996, 1998, 1999, 2000 Free Software Foundation, Inc.

# Software documentation for the NSOpenPanel class

## NSOpenPanel : NSSavePanel

> Declared in:
>   AppKit/NSOpenPanel.h

> Conforms to:
>   NSCoding

> Standards:
> - MacOS-X
> - OpenStep
> - GNUstep

Implements a panel that allows the user to select a file or files. NSOpenPanel is based on the NSSavePanel implementation and shares a lot of similarities with it.

There is only one open panel per application and this panel is obtained by calling the +openPanel class method. From here, you should set the characteristics of the file selection mechanism using the -setCanChooseFiles: , -setCanChooseDirectories: and -setAllowsMultipleSelection: methods. The default is `YES` except for allowing multiple selection. When ready to show the panel, use the -runModalForTypes: , or a similar method to show the panel in a modal session. Other methods allow you to set the initial directory and initially selected file. The method will return one of NSOKButton or NSCancelButton depending on which button the user pressed.

Use the -filename or -filenames method to retrieve the name of the file the user selected.

Method summary

- +openPanel
- -URLs
- -allowsMultipleSelection
- -beginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:
- -canChooseDirectories
- -canChooseFiles
- -filenames
- -resolvesAliases
- -runModalForDirectory:file:types:
- -runModalForDirectory:file:types:relativeToWindow:
- -runModalForTypes:
- -setAllowsMultipleSelection:
- -setCanChooseDirectories:
- -setCanChooseFiles:
- -setResolvesAliases:

### openPanel

+ (NSOpenPanel*) openPanel;

Returns the shared NSOpenPanel instance

### URLs

- (NSArray*) URLs;

Returns an array of the selected files as URLs

### allowsMultipleSelection

- (BOOL) allowsMultipleSelection;

Returns `YES` if the user is allowed to select multiple files. The default behavior is not to allow mutiple selections.

### beginSheetForDirectory:file:types:modalForWindow:modalDelegate:didEndSelector:contextInfo:

- (void) beginSheetForDirectory: (NSString*)path file: (NSString*)name types: (NSArray*)fileTypes modalForWindow: (NSWindow*)docWindow modalDelegate: (id)delegate didEndSelector: (SEL)didEndSelector contextInfo: (void*)contextInfo;

Description forthcoming.

### canChooseDirectories

- (BOOL) canChooseDirectories;

Returns `YES` if the user is allowed to choose directories The default behavior is to allow choosing directories.

### canChooseFiles

- (BOOL) canChooseFiles;

Returns `YES` if the user is allowed to choose files. The default behavior it to allow choosing files.

### filenames

- (NSArray*) filenames;

Returns an array containing the absolute paths (as NSString objects) of the selected files and directories. If multiple selections aren't allowed, the array contains a single name.

### resolvesAliases

- (BOOL) resolvesAliases;

Description forthcoming.

### runModalForDirectory:file:types:

- (int) runModalForDirectory: (NSString*)path file: (NSString*)name types: (NSArray*)fileTypes;

Displays the open panel in a modal session, with the directory path shown and file name (if any) selected. Files are filtered for the specified types. If the directory is `nil`, then the directory shown in the open panel is the last directory selected.

### runModalForDirectory:file:types:relativeToWindow:

- (int) runModalForDirectory: (NSString*)path file: (NSString*)name types: (NSArray*)fileTypes relativeToWindow: (NSWindow*)window;

Description forthcoming.

### runModalForTypes:

- (int) runModalForTypes: (NSArray*)fileTypes;

Displays the open panel in a modal session, filtering for files that have the specified types

### setAllowsMultipleSelection:

- (void) setAllowsMultipleSelection: (BOOL)flag;

Allows the user to select multiple files if flag is `YES`.

### setCanChooseDirectories:

- (void) setCanChooseDirectories: (BOOL)flag;

Allows the user to choose directories if flag is `YES`.

### setCanChooseFiles:

- (void) setCanChooseFiles: (BOOL)flag;

Allows the user to choose files if flag is `YES`

### setResolvesAliases:

- (void) setResolvesAliases: (BOOL)flag;

Description forthcoming.

Up