using System; #nullable enable namespace Flow.Launcher.Plugin { /// /// Interface for handling file dialog instances in DialogJump. /// public interface IDialogJumpDialog : IFeatures, IDisposable { /// /// Check if the foreground window is a file dialog instance. /// /// /// The handle of the foreground window to check. /// /// /// The window if the foreground window is a file dialog instance. Null if it is not. /// IDialogJumpDialogWindow? CheckDialogWindow(IntPtr hwnd); } /// /// Interface for handling a specific file dialog window in DialogJump. /// public interface IDialogJumpDialogWindow : IDisposable { /// /// The handle of the dialog window. /// IntPtr Handle { get; } /// /// Get the current tab of the dialog window. /// /// IDialogJumpDialogWindowTab GetCurrentTab(); } /// /// Interface for handling a specific tab in a file dialog window in DialogJump. /// public interface IDialogJumpDialogWindowTab : IDisposable { /// /// The handle of the dialog tab. /// IntPtr Handle { get; } /// /// Get the current folder path of the dialog tab. /// /// string GetCurrentFolder(); /// /// Get the current file of the dialog tab. /// /// string GetCurrentFile(); /// /// Jump to a folder in the dialog tab. /// /// /// The path to the folder to jump to. /// /// /// Whether folder jump is under automatical mode. /// /// /// True if the jump was successful, false otherwise. /// bool JumpFolder(string path, bool auto); /// /// Jump to a file in the dialog tab. /// /// /// The path to the file to jump to. /// /// /// True if the jump was successful, false otherwise. /// bool JumpFile(string path); /// /// Open the file in the dialog tab. /// /// /// True if the file was opened successfully, false otherwise. /// bool Open(); } }