public string ShowExample(CodeExample oldExample, CodeExample newExample) { InnerRichEditControl richEditControlCs = codeEditorCs.InnerControl; InnerRichEditControl richEditControlVb = codeEditorVb.InnerControl; if (oldExample != null) { //save edited example oldExample.CodeCS = richEditControlCs.Text; oldExample.CodeVB = richEditControlVb.Text; } string exampleCode = String.Empty; if (newExample != null) { try { forceTextChangesCounter = 2; exampleCode = (CurrentExampleLanguage == ExampleLanguage.Csharp) ? newExample.CodeCS : newExample.CodeVB; richEditControlCs.Text = newExample.CodeCS; richEditControlVb.Text = newExample.CodeVB; richEditTextChanged = false; } finally { richEditTextChanged = true; } } return(exampleCode); }
public SyntaxHighlightService(InnerRichEditControl editor, string extension) { this.editor = editor; syntaxHighlightInfo = new SyntaxHighlightInfo(); this.fileExtensionToHightlight = extension; }
public void Initialize(IRichEditControl richEditControl, string codeExamplesFileExtension) { InnerRichEditControl innerControl = richEditControl.InnerControl; IRichEditCommandFactoryService commandFactory = innerControl.GetService <IRichEditCommandFactoryService>(); if (commandFactory == null) { return; // wpf richedit is not loaded } innerControl.ReplaceService <ISyntaxHighlightService>(new SyntaxHighlightService(innerControl, codeExamplesFileExtension)); CustomRichEditCommandFactoryService newCommandFactory = new CustomRichEditCommandFactoryService(commandFactory); innerControl.RemoveService(typeof(IRichEditCommandFactoryService)); innerControl.AddService(typeof(IRichEditCommandFactoryService), newCommandFactory); IDocumentImportManagerService importManager = innerControl.GetService <IDocumentImportManagerService>(); importManager.UnregisterAllImporters(); importManager.RegisterImporter(new PlainTextDocumentImporter()); importManager.RegisterImporter(new SourcesCodeDocumentImporter()); IDocumentExportManagerService exportManager = innerControl.GetService <IDocumentExportManagerService>(); exportManager.UnregisterAllExporters(); exportManager.RegisterExporter(new PlainTextDocumentExporter()); exportManager.RegisterExporter(new SourcesCodeDocumentExporter()); Document document = innerControl.Document; document.BeginUpdate(); try { document.DefaultCharacterProperties.FontName = "Consolas"; document.DefaultCharacterProperties.FontSize = 10; document.Sections[0].Page.Width = Units.InchesToDocumentsF(100); document.Sections[0].LineNumbering.CountBy = 1; document.Sections[0].LineNumbering.RestartType = LineNumberingRestart.Continuous; //SizeF tabSize = innerControl.MeasureSingleLineString(" ", document.DefaultCharacterProperties); //TabInfoCollection tabs = document.Paragraphs[0].BeginUpdateTabs(true); //try { // for (int i = 1; i <= 30; i++) { // DevExpress.XtraRichEdit.API.Native.TabInfo tab = new DevExpress.XtraRichEdit.API.Native.TabInfo(); // tab.Position = i * tabSize.Width; // tabs.Add(tab); // } //} //finally { // document.Paragraphs[0].EndUpdateTabs(tabs); //} } finally { document.EndUpdate(); } }
public void Initialize(IRichEditControl richEditControl, string codeExamplesFileExtension) { InnerRichEditControl innerControl = richEditControl.InnerControl; IRichEditCommandFactoryService commandFactory = innerControl.GetService <IRichEditCommandFactoryService>(); if (commandFactory == null) { return; } innerControl.ReplaceService <ISyntaxHighlightService>(new SyntaxHighlightService(innerControl, codeExamplesFileExtension)); CustomRichEditCommandFactoryService newCommandFactory = new CustomRichEditCommandFactoryService(commandFactory); innerControl.RemoveService(typeof(IRichEditCommandFactoryService)); innerControl.AddService(typeof(IRichEditCommandFactoryService), newCommandFactory); IDocumentImportManagerService importManager = innerControl.GetService <IDocumentImportManagerService>(); importManager.UnregisterAllImporters(); importManager.RegisterImporter(new PlainTextDocumentImporter()); importManager.RegisterImporter(new SourcesCodeDocumentImporter()); IDocumentExportManagerService exportManager = innerControl.GetService <IDocumentExportManagerService>(); exportManager.UnregisterAllExporters(); exportManager.RegisterExporter(new PlainTextDocumentExporter()); exportManager.RegisterExporter(new SourcesCodeDocumentExporter()); Document document = innerControl.Document; document.BeginUpdate(); try { document.DefaultCharacterProperties.FontName = "Consolas"; document.DefaultCharacterProperties.FontSize = 10; document.Sections[0].Page.Width = Units.InchesToDocumentsF(100); document.Sections[0].LineNumbering.CountBy = 1; document.Sections[0].LineNumbering.RestartType = LineNumberingRestart.Continuous; } finally { document.EndUpdate(); } }
public string ShowExample(CodeExample oldExample, CodeExample newExample) { InnerRichEditControl richEditControlCs = codeEditorCs.InnerControl; InnerRichEditControl richEditControlVb = codeEditorVb.InnerControl; if (oldExample != null) { //save edited example //oldExample.CodeCS = richEditControlCs.Text; //oldExample.CodeVB = richEditControlVb.Text; } string exampleCode = String.Empty; if (newExample != null) { try { forceTextChangesCounter = 2; exampleCode = (CurrentExampleLanguage == ExampleLanguage.Csharp) ? newExample.CodeCS : newExample.CodeVB; richEditControlCs.Text = newExample.CodeCS; if (newExample.AdditionalModulesCS != null) { richEditControlCs.Document.AppendText("\r\n"); richEditControlCs.Document.AppendText("\r\n"); richEditControlCs.Document.AppendText("//---------- Additional modules"); richEditControlCs.Document.AppendText("\r\n"); richEditControlCs.Document.AppendText("\r\n"); richEditControlCs.Document.AppendText(newExample.AdditionalModulesCS); } if (newExample.HasCustomAction) { richEditControlCs.Document.AppendText("\r\n"); richEditControlCs.Document.AppendText("\r\n"); richEditControlCs.Document.AppendText("//---------- Custom action handler"); richEditControlCs.Document.AppendText("\r\n"); richEditControlCs.Document.AppendText("\r\n"); richEditControlCs.Document.AppendText(newExample.CustomActionHandlerCS); } richEditControlVb.Text = newExample.CodeVB; if (newExample.AdditionalModulesVB != null) { richEditControlVb.Document.AppendText("\r\n"); richEditControlVb.Document.AppendText("\r\n"); richEditControlVb.Document.AppendText("'---------- Additional modules"); richEditControlVb.Document.AppendText("\r\n"); richEditControlVb.Document.AppendText("\r\n"); richEditControlVb.Document.AppendText(newExample.AdditionalModulesVB); } if (newExample.HasCustomAction) { richEditControlVb.Document.AppendText("\r\n"); richEditControlVb.Document.AppendText("\r\n"); richEditControlVb.Document.AppendText("'---------- Custom action handler"); richEditControlVb.Document.AppendText("\r\n"); richEditControlVb.Document.AppendText("\r\n"); richEditControlVb.Document.AppendText(newExample.CustomActionHandlerVB); } richEditTextChanged = false; } finally { richEditTextChanged = true; } } return(exampleCode); }