private void OpenButton_Click(object sender, RoutedEventArgs e) { if (HasChanges) { string messageBoxText = "You have unsaved changes. Do you want to save changes? Click Yes to save and open a documentation, No to open a documentation without saving, or Cancel to not open a documentation."; string caption = "CrypDocumentationEditor"; MessageBoxResult result = MessageBox.Show(messageBoxText, caption, MessageBoxButton.YesNoCancel, MessageBoxImage.Warning); switch (result) { case MessageBoxResult.Yes: Microsoft.Win32.SaveFileDialog dlg2 = new Microsoft.Win32.SaveFileDialog(); dlg2.FileName = "Documentation"; dlg2.DefaultExt = ".xml"; dlg2.Filter = "XML docu files (.xml)|*.xml"; Nullable <bool> result2 = dlg2.ShowDialog(); if (result2 == true) { string filename = dlg2.FileName; _docu.Introduction = Introduction.Document; _docu.Usage = Usage.Document; _docu.Presentation = Presentation.Document; _docu.Save(filename); HasChanges = false; } else { return; } break; case MessageBoxResult.No: // User pressed No button // ... break; case MessageBoxResult.Cancel: return; } } Microsoft.Win32.OpenFileDialog dlg3 = new Microsoft.Win32.OpenFileDialog(); dlg3.FileName = "Documentation"; dlg3.DefaultExt = ".xml"; dlg3.Filter = "XML docu files (.xml)|*.xml"; Nullable <bool> result3 = dlg3.ShowDialog(); if (result3 == true) { string filename = dlg3.FileName; _docu = new Documentation(); _docu.Load(filename); _references = _docu.GetReferences(); Introduction.Document = _docu.Introduction; Usage.Document = _docu.Usage; Presentation.Document = _docu.Presentation; Introduction2.Document = _docu.Introduction; Usage2.Document = _docu.Usage; Presentation2.Document = _docu.Presentation; References.ItemsSource = _references; } GenerateLanguageSelector(); if (_languages.Length >= 2) { DocuLanguage.SelectedItem = _languages[0]; DocuLanguage2.SelectedItem = _languages[1]; } else { DocuLanguage.SelectedItem = _languages[0]; DocuLanguage2.SelectedValue = null; } HasChanges = false; }
private void NewButton_Click(object sender, RoutedEventArgs e) { if (HasChanges) { string messageBoxText = "You have unsaved changes. Do you want to save changes? Click Yes to save and create a new documentation, No to create a new documentation without saving, or Cancel to not create a new documentation."; string caption = "CrypDocumentationEditor"; MessageBoxResult result = MessageBox.Show(messageBoxText, caption, MessageBoxButton.YesNoCancel, MessageBoxImage.Warning); switch (result) { case MessageBoxResult.Yes: Microsoft.Win32.SaveFileDialog dlg2 = new Microsoft.Win32.SaveFileDialog(); dlg2.FileName = "Documentation"; dlg2.DefaultExt = ".xml"; dlg2.Filter = "XML docu files (.xml)|*.xml"; Nullable <bool> result2 = dlg2.ShowDialog(); if (result2 == true) { string filename = dlg2.FileName; _docu.Introduction = Introduction.Document; _docu.Usage = Usage.Document; _docu.Presentation = Presentation.Document; _docu.Save(filename); HasChanges = false; } else { return; } break; case MessageBoxResult.No: // User pressed No button // ... break; case MessageBoxResult.Cancel: return; } } _docu = new Documentation(); FlowDocument document = new FlowDocument(); Paragraph para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Introduction.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Usage.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Presentation.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Introduction2.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Usage2.Document = document; document = new FlowDocument(); para = new Paragraph(); para.Inlines.Add(new Run("")); document.Blocks.Add(para); Presentation2.Document = document; GenerateLanguageSelector(); HasChanges = false; }