Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
09/25/19 17:18:41 (5 years ago)
Author:
dpiringe
Message:

#3026

  • deleted IItemExtensions.cs
  • fixed a bug in GetInterfaceDistance in TypeExtensions.cs -> generic types were ignored
  • lots of code clean ups
  • added new transformers: ParameterizedItemTransformer, MultiCheckedOperatorTransformer
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/3026_IntegrationIntoSymSpace/HeuristicLab.Manufacture/ParameterTransformer/ConstrainedValueParameterTransformer.cs

    r17266 r17269  
    1212        if (x.GetType().Name == CastValue<string>(data.Default))
    1313          parameter.ActualValue = x;
     14
     15      if (parameter.ActualValue is IParameterizedItem && data.Reference != null)
     16        Transformer.Inject(parameter.ActualValue, data.Reference);
    1417    }
    1518
    1619    public override ParameterData ExtractData(IParameter value) {
     20
    1721      return new ParameterData() {
    1822        Name = value.Name,
    1923        Default = value.ActualValue?.GetType().Name,
    20         Range = GetValidValues(value)
     24        Range = GetValidValues(value),
     25        ParameterizedItems = GetParameterizedChilds(value)
    2126      };
    2227    }
     
    2631      List<object> list = new List<object>();
    2732      var values = value.Cast<dynamic>().ValidValues;
    28       foreach (var x in values) list.Add(x);
    29       return list.Select(x => x.GetType().Name).ToArray();
     33      foreach (var x in values) list.Add(x.GetType().Name);
     34      return list.ToArray();
     35    }
     36
     37    private IList<ParameterData> GetParameterizedChilds(IParameter value) {
     38      List<ParameterData> list = new List<ParameterData>();
     39      var values = value.Cast<dynamic>().ValidValues;
     40      foreach(var x in values) {
     41        if (x is IParameterizedItem &&
     42            ((IParameterizedItem)x).Parameters.Any(p => !p.Hidden)) {
     43          ParameterData tmp = Transformer.Extract(x);
     44          if (tmp.ParameterizedItems != null)
     45            list.AddRange(tmp.ParameterizedItems);
     46          else
     47            list.Add(tmp);
     48        }
     49      }
     50      return list.Count == 0 ? null : list;
    3051    }
    3152    #endregion
Note: See TracChangeset for help on using the changeset viewer.