Changeset 3447 for trunk/sources/HeuristicLab.Optimization.Views
- Timestamp:
- 04/20/10 17:37:53 (14 years ago)
- Location:
- trunk/sources/HeuristicLab.Optimization.Views/3.3
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionBubbleChartView.cs
r3441 r3447 33 33 using HeuristicLab.Common; 34 34 using HeuristicLab.Core; 35 using HeuristicLab.Data; 35 36 36 37 namespace HeuristicLab.Optimization.Views { … … 82 83 } 83 84 85 public IStringConvertibleMatrix Matrix { 86 get { return this.Content; } 87 } 88 84 89 protected override void RegisterContentEvents() { 85 90 base.RegisterContentEvents(); … … 146 151 this.yAxisComboBox.Items.Clear(); 147 152 this.sizeComboBox.Items.Clear(); 148 this.xAxisComboBox.Items.AddRange( Content.ColumnNames.ToArray());149 this.yAxisComboBox.Items.AddRange( Content.ColumnNames.ToArray());153 this.xAxisComboBox.Items.AddRange(Matrix.ColumnNames.ToArray()); 154 this.yAxisComboBox.Items.AddRange(Matrix.ColumnNames.ToArray()); 150 155 this.sizeComboBox.Items.Add(constantLabel); 151 this.sizeComboBox.Items.AddRange( Content.ColumnNames.ToArray());156 this.sizeComboBox.Items.AddRange(Matrix.ColumnNames.ToArray()); 152 157 } 153 158 … … 194 199 return null; 195 200 196 string value = Content.GetValue(row, column); 197 double d; 198 double? ret = null; 199 if (double.TryParse(value, out d)) 200 ret = d; 201 else if (value != null) 202 ret = GetCategoricalValue(column, value); 201 IItem value = Content.GetValue(row, column); 202 DoubleValue doubleValue = value as DoubleValue; 203 IntValue intValue = value as IntValue; 204 double ret; 205 206 if (doubleValue != null) 207 ret = doubleValue.Value; 208 else if (intValue != null) 209 ret = intValue.Value; 210 else 211 ret = GetCategoricalValue(column, Matrix.GetValue(row, column)); 212 203 213 return ret; 204 214 } … … 361 371 builder.AppendLine(this.Content.ElementAt(runIndex).Name); 362 372 int columnIndex = 0; 363 foreach (string columnName in this.Content.ColumnNames) {373 foreach (string columnName in Matrix.ColumnNames) { 364 374 builder.Append(columnName); 365 375 builder.Append(": "); 366 builder.AppendLine( this.Content.GetValue(runIndex, columnIndex));376 builder.AppendLine(Matrix.GetValue(runIndex, columnIndex)); 367 377 columnIndex++; 368 378 } -
trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionTabularView.cs
r3423 r3447 31 31 using HeuristicLab.Data.Views; 32 32 using HeuristicLab.Collections; 33 using HeuristicLab.Core; 33 34 34 35 namespace HeuristicLab.Optimization.Views { … … 68 69 } 69 70 } 71 72 73 protected override int[] Sort(IEnumerable<KeyValuePair<int, SortOrder>> sortedColumns) { 74 int[] newSortedIndex = Enumerable.Range(0, Content.Count).ToArray(); 75 RunCollectionRowComparer rowComparer = new RunCollectionRowComparer(); 76 if (sortedColumns.Count() != 0) { 77 rowComparer.SortedIndizes = sortedColumns; 78 rowComparer.Matrix = Content; 79 Array.Sort(newSortedIndex, rowComparer); 80 } 81 return newSortedIndex; 82 } 83 84 public class RunCollectionRowComparer : IComparer<int> { 85 public RunCollectionRowComparer() { 86 } 87 88 private List<KeyValuePair<int, SortOrder>> sortedIndizes; 89 public IEnumerable<KeyValuePair<int, SortOrder>> SortedIndizes { 90 get { return this.sortedIndizes; } 91 set { sortedIndizes = new List<KeyValuePair<int, SortOrder>>(value); } 92 } 93 private RunCollection matrix; 94 public RunCollection Matrix { 95 get { return this.matrix; } 96 set { this.matrix = value; } 97 } 98 99 public int Compare(int x, int y) { 100 int result = 0; 101 IItem value1, value2; 102 IComparable comparable1, comparable2; 103 104 if (matrix == null) 105 throw new InvalidOperationException("Could not sort IStringConvertibleMatrix if the matrix member is null."); 106 if (sortedIndizes == null) 107 return 0; 108 109 foreach (KeyValuePair<int, SortOrder> pair in sortedIndizes.Where(p => p.Value != SortOrder.None)) { 110 value1 = matrix.GetValue(x, pair.Key); 111 value2 = matrix.GetValue(y, pair.Key); 112 comparable1 = value1 as IComparable; 113 comparable2 = value2 as IComparable; 114 if (comparable1 != null) 115 result = comparable1.CompareTo(comparable2); 116 else { 117 string string1 = value1 != null ? value1.ToString() : string.Empty; 118 string string2 = value2 != null ? value2.ToString() : string.Empty; 119 result = string1.CompareTo(string2); 120 } 121 if (pair.Value == SortOrder.Descending) 122 result *= -1; 123 if (result != 0) 124 return result; 125 } 126 return result; 127 } 128 } 70 129 } 71 130 }
Note: See TracChangeset
for help on using the changeset viewer.