using System; using System.Collections.Generic; namespace TriLibCore.SFB { /// Represents a series of methods to operate platform-specific file pickers. /// File picker return type. public interface IStandaloneFileBrowser { /// Opens the platform-specific file selection panel. /// The dialog title. /// The initial file panel directory. /// The allowed extensions. /// Pass true to enable multi-selection. /// The list of selected files. IList OpenFilePanel(string title, string directory, ExtensionFilter[] extensions, bool multiselect); /// Opens the platform-specific folder selection panel. /// The dialog title. /// The initial file panel directory. /// Pass true to enable multi-selection. /// The list of selected folders. IList OpenFolderPanel(string title, string directory, bool multiselect); /// Opens the platform-specific file save panel. /// The dialog title. /// The initial file panel directory. /// The initial filename. /// The allowed extensions. /// The saved file. T SaveFilePanel(string title, string directory, string defaultName, ExtensionFilter[] extensions); /// Opens the platform-specific file selection panel Asynchronously. /// The dialog title. /// The initial file panel directory. /// The allowed extensions. /// Pass true to enable multi-selection. /// The Method to call when the user selects or cancel the file selection dialog. void OpenFilePanelAsync(string title, string directory, ExtensionFilter[] extensions, bool multiselect, Action> cb); /// Opens the platform-specific folder selection panel Asynchronously. /// The dialog title. /// The initial file panel directory. /// Pass true to enable multi-selection. /// The Method to call when the user selects or cancel the file selection dialog. void OpenFolderPanelAsync(string title, string directory, bool multiselect, Action> cb); /// Opens the platform-specific file save panel Asynchronously. /// The dialog title. /// The initial file panel directory. /// The initial filename. /// The allowed extensions. /// The Method to call when the user selects or cancel the file selection dialog. void SaveFilePanelAsync(string title, string directory, string defaultName, ExtensionFilter[] extensions, Action cb); } }