// Set column sizes using a short-hand notation // // "1,2w,1" = ColumnSize.Size1 + ColumnSize.Size2 (no gutter) + ColumnSize.Size1 // // Data should be a list of column sizes as integers // separated by commas // An optional 'w' character at the end signifies no gutter mode = true // default is to set no gutter to false // public bool SetColumnSizes(string sizeData) { char[] splitter = { ',' }; string[] splitData = sizeData.Split(splitter); if (splitData.Length != _Columns.Count) { return(false); } // Parsing List <ResizeColumnData> data = new List <ResizeColumnData>(); for (int i = 0; i < _Columns.Count; i++) { ResizeColumnData d = new ResizeColumnData(); if (splitData[i].Contains('w')) { d.NoGutter = true; } char[] remover = { 'w' }; string readyToParse = splitData[i].TrimEnd(remover); int s = 1; if (int.TryParse(readyToParse, out s)) { d.Size = s; } data.Add(d); } int sumOfRequestedSizes = 0; foreach (ResizeColumnData d in data) { sumOfRequestedSizes += d.Size; } if (sumOfRequestedSizes > (int)_ParentSize) { return(false); } for (int i = 0; i < _Columns.Count; i++) { _Columns[i].Size = (ColumnSize)data[i].Size; _Columns[i].NoGutter = data[i].NoGutter; } return(true); }
// Set column sizes using a short-hand notation // // "1,2w,1" = ColumnSize.Size1 + ColumnSize.Size2 (no gutter) + ColumnSize.Size1 // // Data should be a list of column sizes as integers // separated by commas // An optional 'w' character at the end signifies no gutter mode = true // default is to set no gutter to false // public bool SetColumnSizes(string sizeData) { char[] splitter = {','}; string[] splitData = sizeData.Split(splitter); if (splitData.Length != _Columns.Count) return false; // Parsing List<ResizeColumnData> data = new List<ResizeColumnData>(); for (int i = 0; i < _Columns.Count; i++) { ResizeColumnData d = new ResizeColumnData(); if (splitData[i].Contains('w')) { d.NoGutter = true; } char[] remover = {'w'}; string readyToParse = splitData[i].TrimEnd(remover); int s = 1; if (int.TryParse(readyToParse,out s)) { d.Size = s; } data.Add(d); } int sumOfRequestedSizes = 0; foreach (ResizeColumnData d in data) { sumOfRequestedSizes += d.Size; } if (sumOfRequestedSizes > (int)_ParentSize) return false; for (int i = 0; i < _Columns.Count; i++) { _Columns[i].Size = (ColumnSize)data[i].Size; _Columns[i].NoGutter = data[i].NoGutter; } return true; }