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();
}