private static string FormatOptions(TouchstoneOptions options) { StringBuilder sb = new StringBuilder(); sb.Append(OptionChar); string frequencyUnit = TouchstoneEnumMap <FrequencyUnit> .ToTouchstoneValue(options.FrequencyUnit); string parameter = TouchstoneEnumMap <ParameterType> .ToTouchstoneValue(options.Parameter); string format = TouchstoneEnumMap <FormatType> .ToTouchstoneValue(options.Format); string resistance = $"{ResistanceChar} {options.Resistance:g}"; return(string.Join(" ", OptionChar, frequencyUnit, parameter, format, resistance)); }
//private static string FormatKeyword() private string FormatColumns(int numberOfPorts) { ListFormat format = core.GetListFormat(numberOfPorts); string frequencyDescription = $"Frequency ({Options.FrequencyUnit})"; string columnPad = string.Empty; if (settings.UnifiedColumnWidth) { frequencyDescription = frequencyDescription.PadRight(settings.ColumnWidth - 2); columnPad = columnPad.PadRight(settings.ColumnWidth - 2); } //columns.Add(frequencyUnit); string parameter = TouchstoneEnumMap <ParameterType> .ToTouchstoneValue(Options.Parameter); string description1 = null, description2 = null; switch (Options.Format) { case FormatType.DecibelAngle: description1 = "Mag (dB)"; description2 = "Angle (deg)"; break; case FormatType.MagnitudeAngle: description1 = "Mag"; description2 = "Angle (deg)"; break; case FormatType.RealImaginary: description1 = "Real"; description2 = "Imag"; break; } /*int leftPad = (int)Math.Floor(settings.ColumnWidth / 2.0); * int rightPad = (int)Math.Ceiling(settings.ColumnWidth / 2.0);*/ List <string> parameterDescriptions = new List <string>(); ForEachParameter(numberOfPorts, format, indices => { (int dest, int source) = indices; string column1 = $"{parameter}{dest}{source}:{description1}"; string column2 = $"{parameter}{dest}{source}:{description2}"; if (settings.UnifiedColumnWidth) { column1 = column1.PadRight(settings.ColumnWidth); column2 = column2.PadRight(settings.ColumnWidth); } parameterDescriptions.Add(column1); parameterDescriptions.Add(column2); }); string formattedColumns = FormatMatrix(frequencyDescription, columnPad, parameterDescriptions, numberOfPorts); return(formattedColumns); }