Changeset 3320 for trunk/sources/HeuristicLab.Data/3.3/ValueTypeMatrix.cs
- Timestamp:
- 04/13/10 10:36:51 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Data/3.3/ValueTypeMatrix.cs
r3310 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, newArray, Math.Min(value * Columns, matrix.Length)); 76 87 matrix = newArray; 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, newArray, i * value, Math.Min(value, Columns)); 88 103 matrix = newArray; 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 } … … 105 124 columnNames = new List<string>(); 106 125 rowNames = new List<string>(); 126 sortableView = false; 107 127 } 108 128 protected ValueTypeMatrix(int rows, int columns) { … … 110 130 columnNames = new List<string>(); 111 131 rowNames = new List<string>(); 132 sortableView = false; 112 133 } 113 134 protected ValueTypeMatrix(int rows, int columns, IEnumerable<string> columnNames) … … 124 145 columnNames = new List<string>(); 125 146 rowNames = new List<string>(); 147 sortableView = false; 126 148 } 127 149 protected ValueTypeMatrix(T[,] elements, IEnumerable<string> columnNames) … … 136 158 public override IDeepCloneable Clone(Cloner cloner) { 137 159 ValueTypeMatrix<T> clone = (ValueTypeMatrix<T>)base.Clone(cloner); 160 clone.SortableView = SortableView; 138 161 clone.matrix = (T[,])matrix.Clone(); 139 162 clone.columnNames = new List<string>(columnNames); … … 161 184 } 162 185 186 public event EventHandler ColumnNamesChanged; 187 protected virtual void OnColumnNamesChanged() { 188 EventHandler handler = ColumnNamesChanged; 189 if(handler!=null) 190 handler(this,EventArgs.Empty); 191 } 192 public event EventHandler RowNamesChanged; 193 protected virtual void OnRowNamesChanged() { 194 EventHandler handler = RowNamesChanged; 195 if (handler != null) 196 handler(this, EventArgs.Empty); 197 } 198 public event EventHandler SortableViewChanged; 199 protected virtual void OnSortableViewChanged() { 200 EventHandler handler = SortableViewChanged; 201 if (handler != null) 202 handler(this, EventArgs.Empty); 203 } 163 204 public event EventHandler<EventArgs<int, int>> ItemChanged; 164 205 protected virtual void OnItemChanged(int rowIndex, int columnIndex) {
Note: See TracChangeset
for help on using the changeset viewer.