public override int GetHashCode() { unchecked { var hashCode = 0; hashCode = (hashCode * 397) ^ (Title?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (EqFile?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (InEqs?.GetHashCode() ?? 0); return(hashCode); } }
/// <summary> /// Create a new file document. /// </summary> public EqFileContent(EqFile file) : base() { m_file = file; // create the text editor m_textEditor = new TextEditor(); m_textEditor.Foreground = Brushes.White; m_textEditor.Background = new SolidColorBrush(new System.Windows.Media.Color() { R = 0x20, G = 0x20, B = 0x20, A = 0xFF }); m_textEditor.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; m_textEditor.VerticalAlignment = System.Windows.VerticalAlignment.Stretch; m_textEditor.WordWrap = TextEditorSettings.Default.WordWrap; m_textEditor.ShowLineNumbers = TextEditorSettings.Default.ShowLineNumbers; m_textEditor.TextChanged += new EventHandler(TextEditor_TextChanged); m_textEditor.TextArea.TextEntered += new TextCompositionEventHandler(TextArea_TextEntered); // load syntax highlighting ruleset using (Stream stream = new MemoryStream(EQXResources.equi_xml)) { using (XmlReader reader = new XmlTextReader(stream)) { m_textEditor.SyntaxHighlighting = HighlightingLoader.Load(reader, HighlightingManager.Instance); } } // install the folding manager m_foldingManager = FoldingManager.Install(m_textEditor.TextArea); m_foldingStrategy = new XmlFoldingStrategy(); m_treeViewRoot = new TreeViewItem(); m_treeViewRoot.Header = m_file.Filename; m_treeViewRoot.Tag = this; foreach (EqElement element in m_file.Elements) { } // embed the text editor Content = m_textEditor; }