/// <summary> /// Stores the content of the WordFormatter object (style settings used for pharagraph formatting) in an XML file /// </summary> /// <param name="filePath">The complete file path where the file will be located at</param> /// <param name="colorizer">The WordFormatter object to be serialized</param> public static void Serialize(string filePath, WordFormatter formatter) { FileStream file = null; XmlTextWriter writer = null; try { DataContractSerializer serializer = new DataContractSerializer(typeof(WordFormatter)); file = File.Create(filePath); writer = new XmlTextWriter(file, Encoding.UTF8); writer.Formatting = Formatting.Indented; serializer.WriteObject(writer, formatter); } catch (Exception exception) { MessageBox.Show("Couldn't save the file: \n" + filePath); } finally { if (writer != null) { writer.Close(); } if (filePath != null) { file.Close(); } } }
/// <summary> /// Loads the content of a WordFormatter object (style settings used for pharagraph formatting) from an XML file. /// If the deserializatoin is unsuccessful, then a WordFormatter object with the default languages and styles is returned. /// In either case, the returned Formatter is still not initialized, as it has no reference to a Colorizer or to a Word Application. /// </summary> /// <param name="filePath">The complete file path where the file will be located at</param> /// <returns>The WordFormatter object filled with the contents of the file, but without initialization</returns> public static WordFormatter Deserialize(string filePath) { WordFormatter formatter; FileStream fs = null; XmlDictionaryReader reader = null; try { fs = new FileStream(filePath, FileMode.Open); reader = XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas()); DataContractSerializer ser = new DataContractSerializer(typeof(WordFormatter)); formatter = (WordFormatter)ser.ReadObject(reader, true); } catch (Exception exception) { MessageBox.Show("Couldn't load the file at:\n" + filePath + "\n the language independent style will be set to default"); formatter = new WordFormatter(); formatter.SetToDefault(); } finally { if (reader != null) { reader.Close(); } if (fs != null) { fs.Close(); } } // The WordFormatter object is still not initialized here! (It has no reference to a Colorizer and Word Application) return(formatter); }
/// <summary> /// Loads the content of a WordFormatter object (style settings used for pharagraph formatting) from an XML file. /// If the deserializatoin is unsuccessful, then a WordFormatter object with the default languages and styles is returned. /// In either case, the returned Formatter is still not initialized, as it has no reference to a Colorizer or to a Word Application. /// </summary> /// <param name="filePath">The complete file path where the file will be located at</param> /// <returns>The WordFormatter object filled with the contents of the file, but without initialization</returns> public static WordFormatter Deserialize(string filePath) { WordFormatter formatter; FileStream fs = null; XmlDictionaryReader reader = null; try { fs = new FileStream(filePath, FileMode.Open); reader = XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas()); DataContractSerializer ser = new DataContractSerializer(typeof(WordFormatter)); formatter = (WordFormatter)ser.ReadObject(reader, true); } catch (Exception exception) { MessageBox.Show("Couldn't load the file at:\n" + filePath + "\n the language independent style will be set to default"); formatter = new WordFormatter(); formatter.SetToDefault(); } finally { if (reader != null) reader.Close(); if (fs != null) fs.Close(); } // The WordFormatter object is still not initialized here! (It has no reference to a Colorizer and Word Application) return formatter; }
private void ThisAddIn_Startup(object sender, System.EventArgs e) { if (Directory.Exists(directoryPath)) { colorizer = ColorizerSerializer.Deserialize(directoryPath + @"\default.xml"); formatter = WordFormatterSerializer.Deserialize(directoryPath + @"\basicformat.xml"); formatter.Initialize(colorizer, this.Application); } else // if it's the first starting of this version of the Add-In with this user { Directory.CreateDirectory(directoryPath); colorizer = new Colorizer(); colorizer.LoadPredefinedLanguages(); colorizer.Initialize(); formatter = new WordFormatter(); formatter.Initialize(colorizer, this.Application); formatter.SetToDefault(); } indentFixer = new WordIndentFixer(this.Application); codecleaner = new CodeCleaner(this.Application); Globals.Ribbons.WordCodeEditorToolsRibbon.InitializeAddIn(this); }
/// <summary> /// Creates an instance of the FrameStyleForm class. The input fields of the Form are initialized based on the formatter's existing settings. /// </summary> /// <param name="formatter_"></param> public FrameStyleForm(WordFormatter formatter_) { InitializeComponent(); // fills the combobox with the avaliable fonts foreach (FontFamily font in FontFamily.Families) { comboBox_Font.Items.Add(font.Name); } formatter = formatter_; Initialize(); }
/// <summary> /// Loads back the hardcoded default values for the style settings, so that the user can return to these whenever he or she wants. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Default_button_Click(object sender, EventArgs e) { WordFormatter temp = new WordFormatter(); temp.SetToDefault(); BgColorButton.BackColor = temp.FrameBgColor; AltColorButton.BackColor = temp.FrameAlternatingColor; BorderColorButton.BackColor = temp.FrameBorderColor; useAltLines_checkBox.Checked = temp.FrameAlternatingLines; comboBox_Font.Text = temp.FontName; numericUpDown_Font.Value = (int)temp.FontSize; }
/// <summary> /// Stores the content of the WordFormatter object (style settings used for pharagraph formatting) in an XML file /// </summary> /// <param name="filePath">The complete file path where the file will be located at</param> /// <param name="colorizer">The WordFormatter object to be serialized</param> public static void Serialize(string filePath, WordFormatter formatter) { FileStream file = null; XmlTextWriter writer = null; try { DataContractSerializer serializer = new DataContractSerializer(typeof(WordFormatter)); file = File.Create(filePath); writer = new XmlTextWriter(file, Encoding.UTF8); writer.Formatting = Formatting.Indented; serializer.WriteObject(writer, formatter); } catch (Exception exception) { MessageBox.Show("Couldn't save the file: \n" + filePath); } finally { if (writer != null) writer.Close(); if (filePath != null) file.Close(); } }