Exemplo n.º 1
0
        private void GenerateListOfModules(HtmlDocument html, XmlElement parent)
        {
            var h2 = html.CreateElement("h2");

            h2.InnerText = "Modules";
            parent.AppendChild(h2);

            var table = html.CreateElement("table");

            table.AddClass("table table-bordered table-striped table-hover table-sm");
            parent.AppendChild(table);

            var thead = html.CreateElement("thead");

            table.AppendChild(thead);

            var tbody = html.CreateElement("tbody");

            table.AppendChild(tbody);

            var thr = html.CreateElement("tr");

            thead.AppendChild(thr);

            var th1 = html.CreateElement("th");

            th1.InnerText = "#";
            th1.SetAttribute("scope", "col");
            th1.SetAttribute("width", "50");
            thr.AppendChild(th1);

            var th2 = html.CreateElement("th");

            th2.InnerText = "Name";
            thr.AppendChild(th2);

            var th3 = html.CreateElement("th");

            th3.InnerText = "Info";
            thr.AppendChild(th3);

            int index = 1;

            foreach (var module in MasterServer.GetInitializedModules())
            {
                var tr = html.CreateElement("tr");
                tbody.AppendChild(tr);

                var th = html.CreateElement("th");
                th.InnerText = index.ToString();
                th.SetAttribute("scope", "row");
                tr.AppendChild(th);

                var td = html.CreateElement("td");
                td.InnerText = module.GetType().Name;
                tr.AppendChild(td);

                var td1 = html.CreateElement("td");
                tr.AppendChild(td1);

                var ul = html.CreateElement("ul");
                td1.AppendChild(ul);

                string[] infos = module.Info().ToReadableString("\n", ": ").Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

                foreach (string info in infos)
                {
                    var li = html.CreateElement("li");
                    li.InnerText = info;
                    ul.AppendChild(li);
                }

                index++;
            }
        }