Changeset 3320 for trunk/sources/HeuristicLab.Data/3.3/StringMatrix.cs
- Timestamp:
- 04/13/10 10:36:51 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Data/3.3/StringMatrix.cs
r3317 r3320 67 67 } 68 68 } 69 [Storable] 70 private bool sortableView; 71 public bool SortableView { 72 get { return sortableView; } 73 set { 74 if (value != sortableView) { 75 sortableView = value; 76 OnSortableViewChanged(); 77 } 78 } 79 } 69 80 70 81 public virtual int Rows { … … 75 86 Array.Copy(matrix, newMatrix, Math.Min(value * Columns, matrix.Length)); 76 87 matrix = newMatrix; 88 while (rowNames.Count > value) 89 rowNames.RemoveAt(rowNames.Count - 1); 90 while (rowNames.Count < value) 91 rowNames.Add("Row " + rowNames.Count); 77 92 OnReset(); 78 93 } … … 87 102 Array.Copy(matrix, i * Columns, newMatrix, i * value, Math.Min(value, Columns)); 88 103 matrix = newMatrix; 104 while (columnNames.Count > value) 105 columnNames.RemoveAt(columnNames.Count - 1); 106 while (columnNames.Count < value) 107 columnNames.Add("Column " + columnNames.Count); 89 108 OnReset(); 90 109 } … … 107 126 columnNames = new List<string>(); 108 127 rowNames = new List<string>(); 128 sortableView = false; 109 129 } 110 130 public StringMatrix(int rows, int columns) { … … 116 136 columnNames = new List<string>(); 117 137 rowNames = new List<string>(); 138 sortableView = false; 118 139 } 119 140 protected StringMatrix(int rows, int columns, IEnumerable<string> columnNames) … … 134 155 columnNames = new List<string>(); 135 156 rowNames = new List<string>(); 157 sortableView = false; 136 158 } 137 159 protected StringMatrix(string[,] elements, IEnumerable<string> columnNames) … … 148 170 cloner.RegisterClonedObject(this, clone); 149 171 clone.ReadOnlyView = ReadOnlyView; 172 clone.SortableView = SortableView; 150 173 clone.matrix = (string[,])matrix.Clone(); 151 174 clone.columnNames = new List<string>(columnNames); … … 194 217 } 195 218 219 public event EventHandler ColumnNamesChanged; 220 protected virtual void OnColumnNamesChanged() { 221 EventHandler handler = ColumnNamesChanged; 222 if (handler != null) 223 handler(this, EventArgs.Empty); 224 } 225 public event EventHandler RowNamesChanged; 226 protected virtual void OnRowNamesChanged() { 227 EventHandler handler = RowNamesChanged; 228 if (handler != null) 229 handler(this, EventArgs.Empty); 230 } 231 public event EventHandler SortableViewChanged; 232 protected virtual void OnSortableViewChanged() { 233 EventHandler handler = SortableViewChanged; 234 if (handler != null) 235 handler(this, EventArgs.Empty); 236 } 196 237 public event EventHandler<EventArgs<int, int>> ItemChanged; 197 238 protected virtual void OnItemChanged(int rowIndex, int columnIndex) { … … 224 265 set { this.RowNames = value; } 225 266 } 267 bool IStringConvertibleMatrix.SortableView { 268 get { return this.SortableView; } 269 set { this.SortableView = value; } 270 } 226 271 bool IStringConvertibleMatrix.Validate(string value, out string errorMessage) { 227 272 return Validate(value, out errorMessage);
Note: See TracChangeset
for help on using the changeset viewer.