void IApiDocTemplateProcessor.Process(MemberListTemplate template) { if (this.currentClassifier == null) return; List<DoxMember> members = this.currentClassifier.Members.ToList(); members.RemoveAll(m => !SelectMember(m, template)); members = members.OrderBy(m => m.Kind).ThenBy(m => m.Name).ToList(); DocTable dt = new DocTable(); header_row(dt); foreach (var m in members) { //this.currentMember = m; //DocPara dp = new DocPara(); //DocMarkup dm = new DocMarkup(); //dm.MarkupKind = DocMarkupKind.Bold; //dm.Commands.Add(new DocAnchor() { Id = m.Identifier }); //dm.Commands.Add(new DocText() { TextKind = DocTextKind.Plain, Text = m.Name }); //dp.Commands.Add(dm); //generator.PrintDocCmd(dp); //template.ProcessItems(this); //this.currentMember = null; DocTable desdt = new DocTable(); DocTableRow dtr = new DocTableRow(); desdt.ColCount = 1; desdt.RowCount = 2; if (members.Count > 0) { dt.RowCount = members.Count + 1; } else { break; } dt.ColCount = 2; this.currentMember = m; GetTruePropertys(m, dtr, desdt); dt.Rows.Add(dtr); template.ProcessItems(this); this.currentMember = null; } if (members.Count > 0) { generator.PrintDocCmd(dt); } }
private static bool SelectMember(DoxMember m, MemberListTemplate template) { if (template is FieldListTemplate) { return m.Kind == MemberKind.Variable; } else if (template is PropertyListTemplate) { return m.Kind == MemberKind.Property; } else if (template is MethodListTemplate) { return m.Kind == MemberKind.Function; } else if (template is EnumValueListTemplate) { return m.Kind == MemberKind.EnumValue; } else { return m.Kind == MemberKind.Variable || m.Kind == MemberKind.Property || m.Kind == MemberKind.Function || m.Kind == MemberKind.EnumValue || m.Kind == MemberKind.Enum; } }