virtual public void SaveDocument() { var args = new SaveDocumentEventArgs { FileName = DocumentFileName, Modified = IsDocumentModified }; OnSaveDocument?.Invoke(this, args); }
virtual public bool NewDocument(string fileName = "") { if (isDocumentModified && !string.IsNullOrEmpty(documentFileName)) { DocumentNewPromptEventArgs newPromptArgs = new DocumentNewPromptEventArgs(); OnNewDocumentPrompt?.Invoke(this, newPromptArgs); switch (newPromptArgs.DialogResult) { case DialogResult.Cancel: return(false); case DialogResult.No: break; case DialogResult.Yes: DocumentSaveEventArgs saveArgs = new DocumentSaveEventArgs(); saveArgs.FileName = documentFileName; OnSaveDocument?.Invoke(this, saveArgs); break; default: break; } } if (OnNewDocument != null) { DocumentNewEventArgs args = new DocumentNewEventArgs(); args.FileName = fileName; args.Handled = false; OnNewDocument(this, args); if (args.Handled) { DocumentFileName = args.FileName; IsDocumentModified = true; SaveDocument(); return(true); } else { return(false); } } else { return(false); } }
virtual public bool NewDocument(string fileName = "") { bool handled = true; if (isDocumentModified /* && documentFileName != string.Empty*/) { if (OnNewDocumentPrompt != null) { var newPromptArgs = new NewDocumentSavePromptEventArgs(); OnNewDocumentPrompt(this, newPromptArgs); switch (newPromptArgs.DialogResult) { case System.Windows.Forms.DialogResult.Cancel: return(false); case System.Windows.Forms.DialogResult.No: break; case System.Windows.Forms.DialogResult.Yes: var saveArgs = new SaveDocumentEventArgs { FileName = documentFileName }; OnSaveDocument?.Invoke(this, saveArgs); handled = saveArgs.Handled; break; default: break; } } } if (handled && OnNewDocument != null) { var args = new NewDocumentEventArgs { FileName = fileName, Handled = false }; OnNewDocument(this, args); if (args.Handled) { DocumentFileName = args.FileName; IsDocumentModified = false; return(true); } else { return(false); } } else { return(false); } }