Example #1
0
        /// <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 ();
        }