// // // // // $Revision$ // using System; using System.IO; namespace ICSharpCode.Core.Services { /// /// IMessageService implementation that writes messages to a text writer. /// User input is not implemented by this service. /// public class TextWriterMessageService : IMessageService { readonly TextWriter writer; public TextWriterMessageService(TextWriter writer) { if (writer == null) throw new ArgumentNullException("writer"); this.writer = writer; } public void ShowError(Exception ex, string message) { if (message != null) { writer.WriteLine(message); } if (ex != null) { writer.WriteLine(ex.ToString()); } } public void ShowWarning(string message) { writer.WriteLine(message); } public bool AskQuestion(string question, string caption) { writer.WriteLine(caption + ": " + question); return false; } public int ShowCustomDialog(string caption, string dialogText, int acceptButtonIndex, int cancelButtonIndex, params string[] buttontexts) { writer.WriteLine(caption + ": " + dialogText); return cancelButtonIndex; } public string ShowInputBox(string caption, string dialogText, string defaultValue) { writer.WriteLine(caption + ": " + dialogText); return defaultValue; } public void ShowMessage(string message, string caption) { writer.WriteLine(caption + ": " + message); } public void InformSaveError(string fileName, string message, string dialogName, Exception exceptionGot) { writer.WriteLine(dialogName + ": " + message + " (" + fileName + ")"); if (exceptionGot != null) writer.WriteLine(exceptionGot.ToString()); } public ChooseSaveErrorResult ChooseSaveError(string fileName, string message, string dialogName, Exception exceptionGot, bool chooseLocationEnabled) { writer.WriteLine(dialogName + ": " + message + " (" + fileName + ")"); if (exceptionGot != null) writer.WriteLine(exceptionGot.ToString()); return ChooseSaveErrorResult.Ignore; } } }