mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 05:50:08 +08:00
73 lines
3.1 KiB
Go
73 lines
3.1 KiB
Go
// Cross-platform.
|
|
|
|
// Common File Dialogs
|
|
package cfd
|
|
|
|
type Dialog interface {
|
|
// Show the dialog to the user.
|
|
// Blocks until the user has closed the dialog.
|
|
Show() error
|
|
// Sets the dialog's parent window. Use 0 to set the dialog to have no parent window.
|
|
SetParentWindowHandle(hwnd uintptr)
|
|
// Show the dialog to the user.
|
|
// Blocks until the user has closed the dialog and returns their selection.
|
|
// Returns an error if the user cancelled the dialog.
|
|
// Do not use for the Open Multiple Files dialog. Use ShowAndGetResults instead.
|
|
ShowAndGetResult() (string, error)
|
|
// Sets the title of the dialog window.
|
|
SetTitle(title string) error
|
|
// Sets the "role" of the dialog. This is used to derive the dialog's GUID, which the
|
|
// OS will use to differentiate it from dialogs that are intended for other purposes.
|
|
// This means that, for example, a dialog with role "Import" will have a different
|
|
// previous location that it will open to than a dialog with role "Open". Can be any string.
|
|
SetRole(role string) error
|
|
// Sets the folder used as a default if there is not a recently used folder value available
|
|
SetDefaultFolder(defaultFolder string) error
|
|
// Sets the folder that the dialog always opens to.
|
|
// If this is set, it will override the "default folder" behaviour and the dialog will always open to this folder.
|
|
SetFolder(folder string) error
|
|
// Gets the selected file or folder path, as an absolute path eg. "C:\Folder\file.txt"
|
|
// Do not use for the Open Multiple Files dialog. Use GetResults instead.
|
|
GetResult() (string, error)
|
|
// Sets the file name, I.E. the contents of the file name text box.
|
|
// For Select Folder Dialog, sets folder name.
|
|
SetFileName(fileName string) error
|
|
// Release the resources allocated to this Dialog.
|
|
// Should be called when the dialog is finished with.
|
|
Release() error
|
|
}
|
|
|
|
type FileDialog interface {
|
|
Dialog
|
|
// Set the list of file filters that the user can select.
|
|
SetFileFilters(fileFilter []FileFilter) error
|
|
// Set the selected item from the list of file filters (set using SetFileFilters) by its index. Defaults to 0 (the first item in the list) if not called.
|
|
SetSelectedFileFilterIndex(index uint) error
|
|
// Sets the default extension applied when a user does not provide one as part of the file name.
|
|
// If the user selects a different file filter, the default extension will be automatically updated to match the new file filter.
|
|
// For Open / Open Multiple File Dialog, this only has an effect when the user specifies a file name with no extension and a file with the default extension exists.
|
|
// For Save File Dialog, this extension will be used whenever a user does not specify an extension.
|
|
SetDefaultExtension(defaultExtension string) error
|
|
}
|
|
|
|
type OpenFileDialog interface {
|
|
FileDialog
|
|
}
|
|
|
|
type OpenMultipleFilesDialog interface {
|
|
FileDialog
|
|
// Show the dialog to the user.
|
|
// Blocks until the user has closed the dialog and returns the selected files.
|
|
ShowAndGetResults() ([]string, error)
|
|
// Gets the selected file paths, as absolute paths eg. "C:\Folder\file.txt"
|
|
GetResults() ([]string, error)
|
|
}
|
|
|
|
type SelectFolderDialog interface {
|
|
Dialog
|
|
}
|
|
|
|
type SaveFileDialog interface { // TODO Properties
|
|
FileDialog
|
|
}
|