From 2222d979cc723ee2f3bad92ffe4991d074b2403a Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 23 May 2012 02:37:38 +0100 Subject: refactor: rename ConsoleTable -> ConsoleDisplayTable for clarity --- OpenSim/Framework/Console/ConsoleDisplayTable.cs | 139 +++++++++++++++++++++++ OpenSim/Framework/Console/ConsoleTable.cs | 139 ----------------------- 2 files changed, 139 insertions(+), 139 deletions(-) create mode 100644 OpenSim/Framework/Console/ConsoleDisplayTable.cs delete mode 100644 OpenSim/Framework/Console/ConsoleTable.cs (limited to 'OpenSim/Framework/Console') diff --git a/OpenSim/Framework/Console/ConsoleDisplayTable.cs b/OpenSim/Framework/Console/ConsoleDisplayTable.cs new file mode 100644 index 0000000..49d5a17 --- /dev/null +++ b/OpenSim/Framework/Console/ConsoleDisplayTable.cs @@ -0,0 +1,139 @@ +/* + * Copyright (c) Contributors, http://opensimulator.org/ + * See CONTRIBUTORS.TXT for a full list of copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the OpenSimulator Project nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OpenSim.Framework.Console +{ + /// + /// Used to generated a formatted table for the console. + /// + /// + /// Currently subject to change. If you use this, be prepared to change your code when this class changes. + /// + public class ConsoleDisplayTable + { + /// + /// Default number of spaces between table columns. + /// + public const int DefaultTableSpacing = 2; + + /// + /// Table columns. + /// + public List Columns { get; private set; } + + /// + /// Table rows + /// + public List Rows { get; private set; } + + /// + /// Number of spaces to indent the table. + /// + public int Indent { get; set; } + + /// + /// Spacing between table columns + /// + public int TableSpacing { get; set; } + + public ConsoleDisplayTable() + { + TableSpacing = DefaultTableSpacing; + Columns = new List(); + Rows = new List(); + } + + public override string ToString() + { + StringBuilder sb = new StringBuilder(); + AddToStringBuilder(sb); + return sb.ToString(); + } + + public void AddToStringBuilder(StringBuilder sb) + { + string formatString = GetFormatString(); +// System.Console.WriteLine("FORMAT STRING [{0}]", formatString); + + // columns + sb.AppendFormat(formatString, Columns.ConvertAll(c => c.Header).ToArray()); + + // rows + foreach (ConsoleTableRow row in Rows) + sb.AppendFormat(formatString, row.Cells.ToArray()); + } + + /// + /// Gets the format string for the table. + /// + private string GetFormatString() + { + StringBuilder formatSb = new StringBuilder(); + + formatSb.Append(' ', Indent); + + for (int i = 0; i < Columns.Count; i++) + { + formatSb.Append(' ', TableSpacing); + + // Can only do left formatting for now + formatSb.AppendFormat("{{{0},-{1}}}", i, Columns[i].Width); + } + + formatSb.Append('\n'); + + return formatSb.ToString(); + } + } + + public struct ConsoleTableColumn + { + public string Header { get; set; } + public int Width { get; set; } + + public ConsoleTableColumn(string header, int width) : this() + { + Header = header; + Width = width; + } + } + + public struct ConsoleTableRow + { + public List Cells { get; private set; } + + public ConsoleTableRow(List cells) : this() + { + Cells = cells; + } + } +} \ No newline at end of file diff --git a/OpenSim/Framework/Console/ConsoleTable.cs b/OpenSim/Framework/Console/ConsoleTable.cs deleted file mode 100644 index be3025b..0000000 --- a/OpenSim/Framework/Console/ConsoleTable.cs +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (c) Contributors, http://opensimulator.org/ - * See CONTRIBUTORS.TXT for a full list of copyright holders. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the OpenSimulator Project nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; - -namespace OpenSim.Framework.Console -{ - /// - /// Used to generated a formatted table for the console. - /// - /// - /// Currently subject to change. If you use this, be prepared to change your code when this class changes. - /// - public class ConsoleTable - { - /// - /// Default number of spaces between table columns. - /// - public const int DefaultTableSpacing = 2; - - /// - /// Table columns. - /// - public List Columns { get; private set; } - - /// - /// Table rows - /// - public List Rows { get; private set; } - - /// - /// Number of spaces to indent the table. - /// - public int Indent { get; set; } - - /// - /// Spacing between table columns - /// - public int TableSpacing { get; set; } - - public ConsoleTable() - { - TableSpacing = DefaultTableSpacing; - Columns = new List(); - Rows = new List(); - } - - public override string ToString() - { - StringBuilder sb = new StringBuilder(); - AddToStringBuilder(sb); - return sb.ToString(); - } - - public void AddToStringBuilder(StringBuilder sb) - { - string formatString = GetFormatString(); -// System.Console.WriteLine("FORMAT STRING [{0}]", formatString); - - // columns - sb.AppendFormat(formatString, Columns.ConvertAll(c => c.Header).ToArray()); - - // rows - foreach (ConsoleTableRow row in Rows) - sb.AppendFormat(formatString, row.Cells.ToArray()); - } - - /// - /// Gets the format string for the table. - /// - private string GetFormatString() - { - StringBuilder formatSb = new StringBuilder(); - - formatSb.Append(' ', Indent); - - for (int i = 0; i < Columns.Count; i++) - { - formatSb.Append(' ', TableSpacing); - - // Can only do left formatting for now - formatSb.AppendFormat("{{{0},-{1}}}", i, Columns[i].Width); - } - - formatSb.Append('\n'); - - return formatSb.ToString(); - } - } - - public struct ConsoleTableColumn - { - public string Header { get; set; } - public int Width { get; set; } - - public ConsoleTableColumn(string header, int width) : this() - { - Header = header; - Width = width; - } - } - - public struct ConsoleTableRow - { - public List Cells { get; private set; } - - public ConsoleTableRow(List cells) : this() - { - Cells = cells; - } - } -} \ No newline at end of file -- cgit v1.1