Changeset 3687
- Timestamp:
- 05/06/10 23:34:36 (15 years ago)
- Location:
- trunk/sources
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Analysis/3.3/DataTableValuesCollector.cs
r3637 r3687 53 53 54 54 foreach (IParameter param in CollectedValues) { 55 ILookupParameter lookupParam = param as ILookupParameter; 56 string name = lookupParam != null ? lookupParam.TranslatedName : param.Name; 57 55 58 if (param.ActualValue is DoubleValue) { 56 AddValue(table, (param.ActualValue as DoubleValue).Value, param.Name, param.Description);59 AddValue(table, (param.ActualValue as DoubleValue).Value, name, param.Description); 57 60 } else if (param.ActualValue is IEnumerable<DoubleValue>) { 58 61 int counter = 0; 59 62 foreach (DoubleValue data in (param.ActualValue as IEnumerable<DoubleValue>)) { 60 AddValue(table, data.Value, param.Name + " " + counter.ToString(), param.Description);63 AddValue(table, data.Value, name + " " + counter.ToString(), param.Description); 61 64 counter++; 62 65 } 63 66 } else { 64 AddValue(table, double.NaN, param.Name, param.Description);67 AddValue(table, double.NaN, name, param.Description); 65 68 } 66 69 } -
trunk/sources/HeuristicLab.Core/3.3/Interfaces/ILookupParameter.cs
r2852 r3687 25 25 public interface ILookupParameter : IParameter { 26 26 string ActualName { get; set; } 27 string TranslatedName { get; } 27 28 event EventHandler ActualNameChanged; 28 29 } -
trunk/sources/HeuristicLab.Operators/3.3/SubScopesSorter.cs
r3659 r3687 58 58 public override IOperation Apply() { 59 59 descending = DescendingParameter.ActualValue.Value; 60 actualName = LookupParameter<ItemArray<DoubleValue>>.TranslateName(ValueParameter.Name, ExecutionContext);60 actualName = ValueParameter.TranslatedName; 61 61 CurrentScope.SubScopes.Sort(SortScopes); 62 62 return base.Apply(); -
trunk/sources/HeuristicLab.Operators/3.3/VariableCreator.cs
r3503 r3687 47 47 IVariable var; 48 48 foreach (IParameter param in CollectedValues) { 49 CurrentScope.Variables.TryGetValue(param.Name, out var); 49 ILookupParameter lookupParam = param as ILookupParameter; 50 string name = lookupParam != null ? lookupParam.TranslatedName : param.Name; 51 52 CurrentScope.Variables.TryGetValue(name, out var); 50 53 IItem value = param.ActualValue; 51 54 if (var != null) 52 55 var.Value = value == null ? null : (IItem)value.Clone(); 53 56 else 54 CurrentScope.Variables.Add(new Variable( param.Name, param.Description, value == null ? null : (IItem)value.Clone()));57 CurrentScope.Variables.Add(new Variable(name, param.Description, value == null ? null : (IItem)value.Clone())); 55 58 } 56 59 return base.Apply(); -
trunk/sources/HeuristicLab.Optimization.Operators/3.3/ResultsCollector.cs
r3664 r3687 59 59 IItem value = param.ActualValue; 60 60 if (value != null) { 61 results.TryGetValue(param.Name, out result); 61 ILookupParameter lookupParam = param as ILookupParameter; 62 string name = lookupParam != null ? lookupParam.TranslatedName : param.Name; 63 64 results.TryGetValue(name, out result); 62 65 if (result != null) 63 66 result.Value = copy ? (IItem)value.Clone() : value; 64 67 else 65 results.Add(new Result( param.Name, param.Description, copy ? (IItem)value.Clone() : value));68 results.Add(new Result(name, param.Description, copy ? (IItem)value.Clone() : value)); 66 69 } 67 70 } -
trunk/sources/HeuristicLab.Parameters/3.3/LookupParameter.cs
r3555 r3687 42 42 OnActualNameChanged(); 43 43 } 44 } 45 } 46 public string TranslatedName { 47 get { 48 string translatedName; 49 GetValueParameterAndTranslateName(out translatedName); 50 return translatedName; 44 51 } 45 52 } … … 168 175 OnToStringChanged(); 169 176 } 170 171 public static string TranslateName(string name, IExecutionContext context) {172 string currentName = name;173 IExecutionContext currentContext = context;174 IParameter param;175 ILookupParameter lookupParam;176 177 while (currentContext != null) {178 currentContext.Parameters.TryGetValue(currentName, out param);179 if (param != null) {180 lookupParam = param as ILookupParameter;181 if (lookupParam == null)182 throw new InvalidOperationException(183 string.Format("Parameter look-up chain broken. Parameter \"{0}\" is not an \"{1}\".",184 currentName,185 typeof(ILookupParameter).GetPrettyName())186 );187 currentName = lookupParam.ActualName;188 }189 currentContext = currentContext.Parent;190 }191 return currentName;192 }193 177 } 194 178 } -
trunk/sources/HeuristicLab.Parameters/3.3/ScopeTreeLookupParameter.cs
r3663 r3687 73 73 74 74 protected override IItem GetActualValue() { 75 string name = LookupParameter<ItemArray<T>>.TranslateName(Name, ExecutionContext);76 77 75 IEnumerable<IScope> scopes = new IScope[] { ExecutionContext.Scope }; 78 76 for (int i = 0; i < depth; i++) 79 77 scopes = scopes.Select(x => (IEnumerable<IScope>)x.SubScopes).Aggregate((a, b) => a.Concat(b)); 80 78 79 string name = TranslatedName; 81 80 List<T> values = new List<T>(); 82 81 IVariable var; … … 105 104 ); 106 105 107 string name = LookupParameter<ItemArray<T>>.TranslateName(Name, ExecutionContext);108 109 106 IEnumerable<IScope> scopes = new IScope[] { ExecutionContext.Scope }; 110 107 for (int i = 0; i < depth; i++) … … 113 110 if (scopes.Count() != values.Length) throw new InvalidOperationException("Number of values is not equal to number of scopes."); 114 111 112 string name = TranslatedName; 115 113 int j = 0; 116 114 IVariable var;
Note: See TracChangeset
for help on using the changeset viewer.