Exemple #1
0
		public static Block ConvertTextDocumentToBlock(TextDocument document, IHighlighter highlighter)
		{
			if (document == null)
				throw new ArgumentNullException("document");
//			Table table = new Table();
//			table.Columns.Add(new TableColumn { Width = GridLength.Auto });
//			table.Columns.Add(new TableColumn { Width = new GridLength(1, GridUnitType.Star) });
//			TableRowGroup trg = new TableRowGroup();
//			table.RowGroups.Add(trg);
			Paragraph p = new Paragraph();
			foreach (DocumentLine line in document.Lines) {
				int lineNumber = line.LineNumber;
//				TableRow row = new TableRow();
//				trg.Rows.Add(row);
//				row.Cells.Add(new TableCell(new Paragraph(new Run(lineNumber.ToString()))) { TextAlignment = TextAlignment.Right });
				HighlightedInlineBuilder inlineBuilder = new HighlightedInlineBuilder(document.GetText(line));
				if (highlighter != null) {
					HighlightedLine highlightedLine = highlighter.HighlightLine(lineNumber);
					int lineStartOffset = line.Offset;
					foreach (HighlightedSection section in highlightedLine.Sections)
						inlineBuilder.SetHighlighting(section.Offset - lineStartOffset, section.Length, section.Color);
				}
//				Paragraph p = new Paragraph();
//				row.Cells.Add(new TableCell(p));
				p.Inlines.AddRange(inlineBuilder.CreateRuns());
				p.Inlines.Add(new LineBreak());
			}
			return p;
		}
 void GenerateHeader()
 {
     CSharpAmbience ambience = new CSharpAmbience();
     ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;
     var stringBuilder = new StringBuilder();
     var formatter = new ParameterHighlightingOutputFormatter(stringBuilder, highlightedParameterIndex);
     ambience.ConvertEntity(Method, formatter, FormattingOptionsFactory.CreateSharpDevelop());
     var inlineBuilder = new HighlightedInlineBuilder(stringBuilder.ToString());
     inlineBuilder.SetFontWeight(formatter.parameterStartOffset, formatter.parameterLength, FontWeights.Bold);
     header.Inlines.Clear();
     header.Inlines.AddRange(inlineBuilder.CreateRuns());
 }
        void GenerateHeader()
        {
            CSharpAmbience ambience = new CSharpAmbience();
            ambience.ConversionFlags = ConversionFlags.StandardConversionFlags;
            var stringBuilder = new StringBuilder();
            TokenWriter formatter = new ParameterHighlightingOutputFormatter(stringBuilder, highlightedParameterIndex);
            ambience.ConvertSymbol(Method, formatter, FormattingOptionsFactory.CreateSharpDevelop());
            var documentation = XmlDocumentationElement.Get(Method);
            ambience.ConversionFlags = ConversionFlags.ShowTypeParameterList;
			
            var inlineBuilder = new HighlightedInlineBuilder(stringBuilder.ToString());
            header.Inlines.Clear();
            header.Inlines.AddRange(inlineBuilder.CreateRuns());
        }
Exemple #4
0
        /// <summary>
        /// Converts a TextDocument to Block.
        /// </summary>
        static Block ConvertTextDocumentToBlock(TextDocument document, IHighlighter highlighter)
        {
            // ref.:  http://community.sharpdevelop.net/forums/t/12012.aspx
              if (document == null)
            throw new ArgumentNullException("document");

              Paragraph p = new Paragraph();

              foreach (DocumentLine line in document.Lines)
              {
            int lineNumber = line.LineNumber;

            HighlightedInlineBuilder inlineBuilder = new HighlightedInlineBuilder(document.GetText(line));

            if (highlighter != null)
            {
              HighlightedLine highlightedLine = highlighter.HighlightLine(lineNumber);

              int lineStartOffset = line.Offset;

              foreach (HighlightedSection section in highlightedLine.Sections)
            inlineBuilder.SetHighlighting(section.Offset - lineStartOffset, section.Length, section.Color);
            }

            p.Inlines.AddRange(inlineBuilder.CreateRuns());
            p.Inlines.Add(new LineBreak());
              }

              return p;
        }
        private Block ConvertTextDocumentToBlock()
        {
            TextDocument document = textEditor.Document;
            IHighlighter highlighter =
                textEditor.TextArea.GetService(typeof(IHighlighter)) as IHighlighter;

            Paragraph p = new Paragraph();
            foreach (DocumentLine line in document.Lines)
            {
                int lineNumber = line.LineNumber;
                HighlightedInlineBuilder inlineBuilder = new HighlightedInlineBuilder(document.GetText(line));
                if (highlighter != null)
                {
                    HighlightedLine highlightedLine = highlighter.HighlightLine(lineNumber);
                    int lineStartOffset = line.Offset;
                    foreach (HighlightedSection section in highlightedLine.Sections)
                        inlineBuilder.SetHighlighting(section.Offset - lineStartOffset, section.Length, section.Color);
                }
                p.Inlines.AddRange(inlineBuilder.CreateRuns());
                p.Inlines.Add(new LineBreak());
            }

            return p;
        }
 private Block ConvertTextDocumentToBlock(TextDocument document, IHighlighter highlighter)
 {
     if (document == null)
     {
         throw new System.ArgumentNullException("document");
     }
     Paragraph paragraph = new Paragraph();
     foreach (DocumentLine current in document.Lines)
     {
         int lineNumber = current.LineNumber;
         HighlightedInlineBuilder highlightedInlineBuilder = new HighlightedInlineBuilder(document.GetText(current));
         if (highlighter != null)
         {
             HighlightedLine highlightedLine = highlighter.HighlightLine(lineNumber);
             int offset = current.Offset;
             foreach (HighlightedSection current2 in highlightedLine.Sections)
             {
                 highlightedInlineBuilder.SetHighlighting(current2.Offset - offset, current2.Length, current2.Color);
             }
         }
         paragraph.Inlines.AddRange(highlightedInlineBuilder.CreateRuns());
         paragraph.Inlines.Add(new LineBreak());
     }
     return paragraph;
 }