Esempio n. 1
0
        virtual public void SaveDocument()
        {
            var args = new SaveDocumentEventArgs
            {
                FileName = DocumentFileName,
                Modified = IsDocumentModified
            };

            OnSaveDocument?.Invoke(this, args);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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);
            }
        }