class IDialogInterface

#include <DialogInterface.h>

class IDialogInterface {
public:
    // construction

    virtual ~IDialogInterface();

    // methods

    virtual std::optional<std::string> GetPathFromDirectorySelectionDialog(const std::wstring& title, const std::string& default_path = "") const = 0;
    virtual std::vector<std::string> GetPathsFromFileSelectionDialog(const std::wstring& title, const std::string& wildcard, bool enable_multiselect, const std::string& default_path = "") const = 0;
    virtual std::optional<std::string> GetPathFromFileSaveDialog(const std::wstring& title, const std::string& wildcard, bool overwrite_prompt_enabled, const std::string& default_path = "") const = 0;
    virtual void ShowErrorMessage(const std::wstring& message, const std::wstring& title = L"Message") const = 0;
    virtual void ShowWarningMessage(const std::wstring& message, const std::wstring& title = L"Message") const = 0;
    virtual void ShowInfoMessage(const std::wstring& message, const std::wstring& title = L"Message") const = 0;
    virtual bool ShowConfirmationDialog(const std::wstring& message, const std::wstring& title = L"Confirmation") const = 0;
};