Exemple #1
0
        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();
            }
        }
Exemple #4
0
        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();
            }
        }
Exemple #5
0
        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);
        }