Пример #1
0
        static void Main(string[] args)
        {
            TextTable table = new TextTable();

            table.AddRow("TextTables.NET demo").WithColSpan(0, 4);
            table.AddRow("Multiple columns", "Or rows", 1.6180).WithColSpan(0, 2).WithRowSpan(1, 2);
            table.AddRow(3.14, "foo", "bar");
            Console.WriteLine(table);

            // +---------------------------------------+
            // |          TextTables.NET demo          |
            // +---------------------+---------+-------+
            // |  Multiple columns   |         | 1.618 |
            // +----------+----------+ Or rows +-------+
            // |   3.14   |   foo    |         |  bar  |
            // +----------+----------+---------+-------+

            table.Options.Charset = TextTableCharset.GetBoxCharset();
            Console.WriteLine(table);

            // ┌────────────────────────────────────────┐
            // │          TextTables.NET demo           │
            // ├──────────┬──────────┬─────────┬────────┤
            // │    1     │    2     │    3    │ 3.1415 │
            // ├──────────┴──────────┼─────────┼────────┤
            // │  Multiple columns   │         │ 1.618  │
            // ├──────────┬──────────┤ Or rows ├────────┤
            // │   foo    │   bar    │         │ 2.7182 │
            // └──────────┴──────────┴─────────┴────────┘

            Console.ReadLine();
        }
Пример #2
0
 public TextTableOptions()
 {
     Charset             = TextTableCharset.GetStandardCharset();
     Padding             = new TextTablePadding();
     HorizontalAlignment = TextTableHorizontalAlignment.Center;
     VerticalAlignment   = TextTableVerticalAlignment.Center;
 }
        public static TextTableCharset GetBoxCharset()
        {
            var set = new TextTableCharset();

            set.None            = ' ';
            set.CornerUpLeft    = (char)0x250C;
            set.CornerUpRight   = (char)0x2510;
            set.CornerDownLeft  = (char)0x2514;
            set.CornerDownRight = (char)0x2518;
            set.Cross           = (char)0x253C;
            set.VerticalLeft    = (char)0x251C;
            set.VerticalRight   = (char)0x2524;
            set.HorizontalUp    = (char)0x252C;
            set.HorizontalDown  = (char)0x2534;
            set.Vertical        = (char)0x2502;
            set.Horizontal      = (char)0x2500;
            return(set);
        }
        public static TextTableCharset GetStandardCharset()
        {
            var set = new TextTableCharset();

            set.None            = ' ';
            set.CornerUpLeft    = '+';
            set.CornerUpRight   = '+';
            set.CornerDownLeft  = '+';
            set.CornerDownRight = '+';
            set.Cross           = '+';
            set.VerticalLeft    = '+';
            set.VerticalRight   = '+';
            set.HorizontalUp    = '+';
            set.HorizontalDown  = '+';
            set.Vertical        = '|';
            set.Horizontal      = '-';
            return(set);
        }
Пример #5
0
 public TableWriter(StringBuilder innerBuilder, Size tableSize, TextTableCharset charset)
 {
     InnerBuilder = innerBuilder;
     TableSize    = tableSize;
     Charset      = charset;
     // Use InnerBuilder.Clear() for .NET 4.0+
     InnerBuilder.Length   = 0;
     InnerBuilder.Capacity = tableSize.Height * (tableSize.Width + 1);
     for (var i = 0; i < tableSize.Height; i++)
     {
         for (var j = 0; j < tableSize.Width; j++)
         {
             InnerBuilder.Append(' ');
         }
         InnerBuilder.Append('\n');
     }
     Connections = new BorderConnection[tableSize.Height, tableSize.Width];
 }