public RawTextCell WriteText(string value, int width, RawTextFlags flags)
        {
            var currentCumulativeWidth = CalculateCurrentCumulativeWidth();
            var cell = new RawTextCell(width, flags);

            cell.Value = value;

            if (currentCumulativeWidth + cell.Width > MaximumRowWidth)
            {
                System.Diagnostics.Debug.Assert(false, "String too long. Data Truncated. Forget to check max length?");
                //throw new InvalidOperationException("Current cell width will exceed maximum row width.");
            }

            Cells.Add(cell);
            return(cell);
        }
 public RawTextCell(int width, RawTextFlags flags)
 {
     Width = width;
     Flags = flags;
 }
 private bool FlagIsNotSet(RawTextFlags flag)
 {
     return(FlagIsNotSet(Flags, flag));
 }
 protected bool FlagIsNotSet(RawTextFlags flags, RawTextFlags flag)
 {
     return((flags & flag) == 0);
 }
 public RawTextCell WriteText(int width, RawTextFlags flags)
 {
     return(WriteText(string.Empty, width, flags));
 }