PurplePen.DescriptionFormatter.DumpDescriptionLine C# (CSharp) Method

DumpDescriptionLine() static private method

static private DumpDescriptionLine ( SymbolDB symbolDB, DescriptionLine line, TextWriter writer ) : void
symbolDB SymbolDB
line DescriptionLine
writer System.IO.TextWriter
return void
        static void DumpDescriptionLine(SymbolDB symbolDB, DescriptionLine line, TextWriter writer)
        {
            if (line.controlId.IsNotNone)
                writer.Write("({0,3}) |", line.controlId);
            else
                writer.Write("      |");

            switch (line.kind) {
                case DescriptionLineKind.Title:
                case DescriptionLineKind.SecondaryTitle:
                case DescriptionLineKind.Text:
                    writer.Write(" {0,-46}|", line.boxes[0]);
                    break;

                case DescriptionLineKind.Normal:
                    for (int i = 0; i < 8; ++i) {
                        string text;
                        if (line.boxes[i] == null)
                            text = "";
                        else if (line.boxes[i] is Symbol)
                            text = ((Symbol)(line.boxes[i])).Id;
                        else
                            text = (string)(line.boxes[i]);

                        writer.Write("{0,5}|", line.boxes[i] is Symbol ? ((Symbol)(line.boxes[i])).Id : (string)(line.boxes[i]));
                    }
                    break;

                case DescriptionLineKind.Header3Box:
                    writer.Write("{0,-17}|", line.boxes[0] == null ? "" : (string)(line.boxes[0]));
                    writer.Write("{0,-17}|", line.boxes[1] == null ? "" : (string)(line.boxes[1]));
                    writer.Write("{0,-11}|", line.boxes[2] == null ? "" : (string)(line.boxes[2]));
                    break;

                case DescriptionLineKind.Header2Box:
                    writer.Write("{0,-17}|", line.boxes[0] == null ? "" : (string) (line.boxes[0]));
                    writer.Write("{0,-29}|", line.boxes[1] == null ? "" : (string) (line.boxes[1]));
                    break;

                case DescriptionLineKind.Key:
                    writer.Write("{0,-17}|", line.boxes[0] == null ? "" : ((Symbol) (line.boxes[0])).Id);
                    writer.Write("{0,-29}|", line.boxes[1] == null ? "" : (string) (line.boxes[1]));
                    break;

                case DescriptionLineKind.Directive:
                    writer.Write("     {0,16}: {1,-24}|", line.boxes[0] != null ? ((Symbol)(line.boxes[0])).Id : "", line.boxes[1] == null ? "" : (string)(line.boxes[1]));
                    break;
            }

            if (line.textual != null)
                writer.Write("   [{0}]", line.textual);

            writer.WriteLine();
        }