private void SaveDocumentHandler(object sender, ExecutedRoutedEventArgs e)
 {
     UpdateDocument();
     if (DesktopDocument.Save(this, CurrentDocument))
     {
         UpdateTitle();
         DesktopApp.Instance.UndoRedo.Clear();
         MainViewModel.UiStatus.Status = $"Saved '{CurrentDocument.Title}'";
     }
 }
 public void CloseDocument()
 {
     if (CurrentDocument != null)
     {
         if (DesktopDocument.Close(MainWindow, CurrentDocument))
         {
             CurrentDocument = null;
         }
     }
 }
 private void NewDocumentHandler(object sender, ExecutedRoutedEventArgs e)
 {
     if (DesktopDocument.Close(this, CurrentDocument))
     {
         DesktopApp.Instance.NewDocument();
     }
     MainModel.Instance.Document = CurrentDocument as SampleDocument;
     UpdateTitle();
     MainViewModel.UiStatus.Status = "Created new document.";
 }
 private void OpenDocumentHandler(object sender, ExecutedRoutedEventArgs e)
 {
     DesktopApp.Instance.CurrentDocument = DesktopDocument.Open(this, DesktopApp.Instance.DefaultDocType, MainModel.Instance.Log);
     DesktopApp.Instance.UpdateDocumentFolder();
     UpdateRecentFiles();
     UpdateRecentDocumentMenu();
     UpdateTitle();
     MainModel.Instance.Document = CurrentDocument as SampleDocument;
     UpdateView();
     MainViewModel.UiStatus.Status = $"Opened '{CurrentDocument.Title}'";
 }
 private void SaveAsDocumentHandler(object sender, ExecutedRoutedEventArgs e)
 {
     UpdateDocument();
     if (DesktopDocument.SaveAs(this, CurrentDocument))
     {
         UpdateTitle();
         DesktopApp.Instance.UpdateDocumentFolder();
         DesktopApp.Instance.UndoRedo.Clear();
         UpdateRecentFiles();
         UpdateRecentDocumentMenu();
     }
 }
 protected override void OnClosing(CancelEventArgs e)
 {
     UpdateDocument();
     if (!DesktopDocument.Close(this, CurrentDocument))
     {
         e.Cancel = true;
     }
     else
     {
         DesktopApp.Instance.Settings.UpdateMainWindowBounds(this);
     }
     base.OnClosing(e);
 }
 public DocumentExtensionExtractStrategy(DesktopDocument desktopDocument)
 {
     this._desktopDocument = desktopDocument;
 }