# NSOpenPanel

scottc@net-community.com
boehring@biomed.ruhr-uni-bochum.de
n.pero@mi.flashnet.it
mirko.viviani@rccr.cremona.it
Generated at 2026-02-17 21:02:56 +0000

Standard panel for opening files

1996, 1998, 1999, 2000 Free Software Foundation, Inc.
Software documentation for the NSOpenPanel class
AppKit/NSOpenPanel.h

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 [NSSavePanel -filename] or -filenames method to retrieve the name of the file the user selected.

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.
openPanel

Creates (if needed) and returns the shared NSOpenPanel instance.

URLs
Returns an array of the selected files as URLs
allowsMultipleSelection

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

See Also: -setAllowsMultipleSelection: [NSBrowser -allowsMultipleSelection]

beginForDirectory:
absoluteDirectoryPath
file:
filename
types:
fileTypes
modelessDelegate:
modelessDelegate
didEndSelector:
didEndSelector
contextInfo:
contextInfo
Description forthcoming.
beginSheetForDirectory:
path
file:
name
types:
fileTypes
modalForWindow:
docWindow
modalDelegate:
delegate
didEndSelector:
didEndSelector
contextInfo:
contextInfo
Description forthcoming.
canChooseDirectories

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

See Also: -setCanChooseDirectories:

canChooseFiles

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

See Also: -setCanChooseFiles:

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
Description forthcoming.
runModalForDirectory:
path
file:
name
types:
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.

See Also: -runModalForTypes:

runModalForDirectory:
path
file:
name
types:
fileTypes
relativeToWindow:
window
Description forthcoming.
runModalForTypes:
fileTypes

Displays the open panel in a modal session, showing the current directory (or last selected), and filtering for files that have the specified types.

See Also: -runModalForDirectory:file:types:

setAllowsMultipleSelection:
flag

Allows the user to select multiple files if flag is `YES`. The default behavior is not to allow multiple selections

See Also: -allowsMultipleSelection [NSBrowser -setAllowsMultipleSelection:]

setCanChooseDirectories:
flag

Allows the user to choose directories if flag is `YES`. The default behavior is to allow choosing directories.

See Also: -canChooseDirectories [NSBrowser -setAllowsBranchSelection:]

setCanChooseFiles:
flag

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

See Also: -canChooseFiles

setResolvesAliases:
flag
Description forthcoming.