using System.Windows;
namespace WandEnhancer.View.MainWindow
{
///
/// What the view model needs from the shell window. Exists so the view model does not
/// hold the concrete window or reach through a static Instance, which made every command
/// untestable and crashed whenever the singleton was not set yet.
///
public interface IShellView
{
void OpenPopup(FrameworkElement content, string title);
void ClosePopup();
void ScrollLogIntoView(LogEntry entry);
}
/// Modal file/folder pickers, kept behind a seam so commands stay headless-testable.
public interface IFileDialogs
{
/// Chosen folder, or null when cancelled.
string PickFolder(string description, string initialPath);
/// Chosen file path, or null when cancelled.
string PickSaveFile(string filter, string suggestedFileName);
}
}