/// <summary> /// Exports the content of a SyntaxDocument to a HTML formatted string /// </summary> /// <param name="doc">SyntaxDocument object to export from</param> /// <param name="BGColor">HTML color string to use as background color</param> /// <param name="ImagePath">File path tho the images to use in the HTML string</param> /// <param name="Style">HTML style string that should be applied to the output</param> /// <returns></returns> public string Export(SyntaxDocument doc,System.Drawing.Color BGColor,string ImagePath,string Style) { sb=new System.Text.StringBuilder (); doc.ParseAll (true); int i=0; string guid=DateTime.Now.Ticks.ToString (); //style=\"font-family:courier new;font-size:13px;\" if (BGColor.A ==0) Out("<table ><tr><td nowrap><div style=\""+ Style +"\">"); else Out("<table style=\"background-color:" + GetHTMLColor (BGColor) + ";" + Style + "\"><tr><td nowrap><div>"); foreach (Row r in doc) { i++; if (r.CanFold) { RenderCollapsed(r.VirtualCollapsedRow,r,i,ImagePath,guid); Out("<div style=\"display:block;\" id=\"open" + guid+"_"+i.ToString () + "\">"); string img="minus.gif"; try { if (r.Expansion_StartSegment.Parent.Parent == null) img = "minusNoTopLine.gif"; } catch { } Out ("<img src=\"" + ImagePath + img + "\" align=top onclick=\"open" + guid+"_"+i.ToString () +".style.display='none'; closed" + guid+"_"+i.ToString () +".style.display='block'; \">"); } else { if (r.CanFoldEndPart) { Out ("<img src=\"" + ImagePath + "L.gif\" align=top>"); } else { if (r.HasExpansionLine) { Out ("<img src=\"" + ImagePath + "I.gif\" align=top>"); } else { Out ("<img src=\"" + ImagePath + "clear.gif\" align=top>"); } } } foreach (Word w in r) { write (w.Text,w.Style); } if (r.CanFoldEndPart) Out("</div>\n"); else Out("<br>\n"); } Out("</div></td></tr></table>"); return this.sb.ToString (); }