Esempio n. 1
0
 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;
        }