Einhugur macOS Bridge plugin. |

# EinhugurMacOSBridge.NSSavePanel Class (desktop)

A panel that prompts the user for information about where to save a file.
The Save panel provides an interface for specifying the location to save a file and the name of that file. You present this panel when the user attempts to save a new document, or when the user saves a copy of an existing document to a new location. The panel includes UI for browsing the file system, selecting a directory, and specifying the new name for the file. You can also add custom UI for your app using an accessory view.

EinhugurCoreBridge.NSObject
NSSavePanel

class EinhugurMacOSBridge.NSSavePanel

#### Constructors

NSSavePanel | Constructor with no parameters which initializes it with a default configuration.

#### Properties

AccessoryView | The custom accessory view for the current app.
AllowsOtherFileTypes | A Boolean value that indicates whether the panel allows the user to save files with a filename extension that’s not in the list of allowed types.
CanCreateDirectories | A Boolean value that indicates whether the panel displays UI for creating directories.
CanSelectHiddenExtension | A Boolean value that indicates whether the panel displays UI for hiding or showing filename extensions.
ClassName (Inherited) (desktop - console) | Returns the name of the Cocoa class under the hood as String.
DirectoryURL | The current directory shown in the panel.
Expanded | A Boolean value that indicates whether whether the panel is expanded.
ExtensionHidden | A Boolean value that indicates whether the extension-hiding checkbox is visible and checked.
Handle (Inherited) | Returns Integer handle to the native NSObject structure.
Message | The message text displayed in the panel.
NameFieldLabel | The label text displayed in front of the filename text field.
NameFieldStringValue | The user-editable filename currently shown in the name field.
Prompt | The text to display in the default button.
ShowsHiddenFiles | A Boolean value that indicates whether the panel displays files that are normally hidden from the user.
ShowsTagField | A Boolean value that indicates whether the panel displays the Tags field.
Title | The title of the panel.
URL | A URL that contains the fully specified location of the targeted file.

#### Methods

BeginSheetModalForWindow | Presents the panel as a sheet modal to the specified window. (This variation takes new style Xojo Desktop window)
BeginSheetModalForWindow | Presents the panel as a sheet modal to the specified window. (This variation takes old style Xojo Window)
BeginWithCompletionHandler | Presents the panel as a modeless window.
shared Cast | Does deep cast on incoming NSObject to NSSavePanel.
Release (Inherited) | Releases the NSObject.
Retain (Inherited) | Retains the NSObject
RunModal | Displays the panel and begins its event loop with the current working (or last-selected) directory as the default starting point.
SetAllowedFileTypes | An array of types that specify the files types to which you can save or open.
SetChangeDirectoryHandler | Sets handler to receive callbacks when user changes to different directory in the Open or Save panel.
SetExpandHandler | Sets expand handler to receive callbacks when the Open or Save dialog expands or collapses.
TagNames | Returns array of selected Tag names.
TagNames | Pre-sets tag names that to include on a saved file.
ValidateVisibleColumns | Validates and reloads the browser columns visible in the panel.

#### Delegates

ChangeToDirectoryDelegate | Delegate to use with the SetChangeDirectoryHandler method to receive callbacks when user changes to different directory in the Open or Save panel.
ExpandDelegate | Delegate to use with the SetExpandHandler method to receive callbacks when the Open or Save dialog expands or collapses.
PanelCompletionDelegate | Delegate to get callback when showing the open and save panels non modal or modal only to one window.

#### Constants

Version = 5.0 (Inherited) |

#### Supported Platforms:

- macOS Intel 64 bit
- macOS Apple Silicon

#### Unsupported Platforms:

- Windows 32 bit
- Windows 64 bit
- Windows ARM 64 bit
- Linux 32 bit
- Linux 64 bit
- Linux ARM 32 bit
- Linux ARM 64 bit